Request Handling in the Server

The X-Machine operates in multi-threaded mode. It executes requests in "worker threads". Incoming requests are queued in front of the worker threads.

A worker thread picks up a request from the queue, reads the input message, executes the contained commands, sends the output message, and then picks up the next request (or waits for one to arrive). The execution of a single request is not multi-threaded: a request stays in its worker thread until it is finished. The number of worker threads determines the number of requests that can be executed in parallel.

A worker thread may have to wait for an event, e.g. I/O completion. If the X-Machine recognizes that all worker threads are waiting, it starts another one. If this happens, a message is written to the job log.

The following database properties are related to request handling:

Property Name Meaning
XML max simultaneous requests

This specifies the size of the X-Machine's input queue.

XML work threads

This is the initial number of worker threads used by the X-Machine.

Please note that the property XML maximum sessions is not related to TCP/IP sessions and has nothing to do with communication resources.