Just a second...

Stress test tuning

Stress testing Diffusion™ requires various tuning changes to be made.

Table 1. Tuning changes for stress testing
Increase number of open files If the Diffusion server is running in Linux™, there is a limit to the number of open files/connections. See "Increasing Number of Open files".
Buffer sizes Socket buffer sizes can be changed in etc/Connectors.xml
Inbound thread settings

The Inbound thread pool settings must be tuned otherwise the pool and queues get full.

The settings are found in etc/Server.xml. Increase these values carefully and the server re-tested each time. Set the maximum size and queue size quite high for stress testing (for example, 250) so that the server can handle the hundreds or thousands of simultaneous connection attempts.

Client queues

Depending on the number and frequency of the messages, you might have to increase the client queue parameter.

Client multiplexers

By default, the number of client multiplexers configured is equal to the number of cores on the host system of the Diffusion server. You might have to increase the number of multiplexers as the client load on each Diffusion server increases.

Limitations

If more than 2000 clients are to be simulated, it is better to run the stress test from multiple machines. Most systems start to struggle when dealing with 2000 concurrent connections. By running the stress test on multiple machines any number of clients can be tested.

Socket exceptions can be encountered when a large number of clients are run on one machine. These can be thrown on either the Diffusion server or within the stress test tool. If this is occurring, the number of clients needs to be reduced