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.

Tip: As both methods allocate work queues alphabetically, it is possible to have some control over queue allocation by carefully naming your queues. For example, if all the larger queues are first alphabetically allocated, the early WIS processes start getting the larger queues and the later WIS processes can pick up the smaller queues.

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.