Allocation of Work Queues to WIS Processes
The WQS process performs the work queue allocation. The WQS reads the list of users and groups from the database and sorts them alphabetically and allocates them to a particular WIS. The WQS allocates each work queue to a WIS in one of the two ways.
Round Robin Queue Allocation
The WQS allocates work queue alphabetically to each WIS, and cycles around until all the work queues are allocated. For example, if a system has 5 WIS processes and 15 work queues (A-O) then the following allocation is performed:
| • | Queues A, F, and K are allocated to WIS 1 |
| • | Queues B, G, and L are allocated to WIS 2 |
| • | Queues C, H, and M are allocated to WIS 3 |
| • | Queues D, I, and N are allocated to WIS 4 |
| • | Queues E, J, and O are allocated to WIS 5 |
This method of allocation takes no account of queue size so it is best used when queues are evenly distributed with work items and user access is evenly spread.
On-Demand Queue Allocation
This method allocates work queues alphabetically but only to the first available WIS. Therefore, if a WIS is allocated a large work queue, it will take some time before it is ready to accept another queue. This means that other WIS processes that have smaller queues can accept more queues.
On-demand allocation ensures more even distribution of work. However, the initial allocation is based on the initial loading size of each queue so it may not be representative of the amount of requests allocated to that work queue.
Controlling the Assignment of Queues to WIS Processes
There are two additional methods you can use to customize the assignment process to better reflect your system requirements, and so optimize performance.
| • | Use different WIS processes to handle user queues and group queues. |
User queues and group queues frequently have different characteristics, in terms of the amount of load they carry. For example, if group queues are far more active than user queues on your system, you may want to give them higher priority for WIS allocation.
| • | Assign a queue explicitly to a WIS process |
If you have certain queues that are very large or very busy, you may find it useful to dedicate specific WIS processes to handling only those queues (leaving the remaining queues to be dynamically assigned to the remaining WIS processes).
For more information, see “Administering the Work Queue Server and Work Items Server” in the TIBCO iProcess Engine: Administrator's Guide.