Stress test tuning
Stress testing Diffusion™ requires various tuning changes to be made.
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