Hi there, we have two task servers A and B. The task servers A and B have following request and task thread settings as below in the screenshot.
We have a dedicated Perform Maintenance - Process Workflow task to process backgrounded events with options checked.
Any time above task runs on Task Server A, the execution takes more than 10 mins while if it runs on Task Server B (which has TASKTHREAD value defined), the execution is super fast like in secs.
Hence, just want a confirmation if the fast execution on Task Server B is due to the defined taskthread value?
Can the thread value be defined for Task Server A too?
Any default value be defined?
Can task servers have both request and task thread values?
…
Per my understanding, the task and request threads have following significance:
Task threads handle background tasks while request threads process user requests for access and other actions.
Elaboration:
Task Threads:
Task threads are responsible for running background tasks that are crucial for maintaining and updating data within IdentityIQ. These tasks include account aggregations, identity refreshes, and other automated processes. Optimizing task threads can help improve overall system performance and reduce task execution times.
Request Threads:
Request threads handle user requests for access, such as provisioning, certification, and role changes. They process these requests and initiate the necessary workflows to fulfill them. Properly configured request threads ensure that user requests are processed efficiently without causing bottlenecks.
If I remember correctly, the numbers you are seeing in the debug pages are the current number of Request or Task threads running on that particular server at the time.
You might try enabling partitioning which could split up the tasks being performed on your “Perform Maintenance.”
About that, It could depends from varius factor, some on IIQ some on server.
On IIQ side:
you can define the max numbers of thread(on Server object) that you want each server must use. Generally on IIQ you can set the max number for the task server and max number -1 for UI server, to not affect the user experience. Also you can set on Request Definition object the max threads for each actions and you can set the max number of thread for partitioning.
For example, if you 2 UI with 4 cpu for each one and 2 Task with 8 for each one, you can set 8 for on each server object for the task server and 3 for the UIs. On request definition and for partitioning you can use at least 22 threads.
So you can review if the configuration on your IIQ its correct and both server have the same conf.
On Server side:
understaning what happens on server its little more complicated. You must to analize the processes, the memory usage etc… On a server thare are a lot of thing can cause preoblems. I suggest to you to make a little analisys and performance test and check the KVM settings. Take a look on my post for it.