Requestor pooling for services

A requestor pool is a set of requestors that are reserved for use by the services in a specific service package.

Requestor pooling is available for both stateless and stateful authenticated nodes. In stateless authentication, the requestor is destroyed and a dummy requestor ID (blank string) is returned to the pool. Requestor pooling often improves the performance of a service because requestors are reused, their allocated resources are shared, and the service need not wait for a requestor to be created.

How it works

The first time a service from the service package runs, a requestor is created for it along with the pool for the service package. When the service processing is complete, the requestor is added to the pool.

The next time a service from that service package runs, the service is assigned a requestor from the pool if one is available. Otherwise, a new requestor is created and assigned. When the service completes, the requestor returns to the pool.

Requestors associated with a pool belong in one of two categories:

  • Idle requestors are currently in the pool, waiting for a service request.
  • Active requestors are currently out of the pool, managing service requests.

You specify how many requestors can be in the pool on the Pooling tab of the service package form. The setting for the number of idle requestors defines the size of the pool. The setting for the number of active requestors defines how many concurrent requestors you want to allocate to the services in the service package.

When the pool does not have idle requestors, new requestors are created for service requests until the limit specified for active requestors is reached. If a service request arrives after the limit is reached and no idle requestors are in the pool, the request is managed after an active requestor returns to the pool.

When an active requestor completes processing, the limit for idle requestors is checked before returning that requestor to the pool. If the pool is under the limit, the requestor becomes idle and returns to the pool. If the pool is at the limit, the requestor is deleted instead.

Testing

When testing or monitoring a service, use Admin Studio to examine the status of the requestor pools. For more information, see Managing requestor pools and the Admin Studio help.