Optimisation of BOSH for high throughput


Artur Hefczyc TigaseTeam
Added almost 8 years ago

Tigase XMPP Server by default was sending only one XMPP packet per HTTP request which caused a need for a lot of requests if there was a lot of packets to be sent to client. This caused additional network traffic as well as delay in sending packets to client.

From now on Tigase XMPP Server will detect when a lot of XMPP packets needs to be sent through single BOSH connection and it will send it batches.

By default if there will be need to send more than 1 packet in 100ms through single BOSH connection Tigase XMPP Server will wait for up to 100ms to queue up to 15 packets in one batch to send it to client.

This default behavior can be customized by changing queuing timeout and maximal size of batch for which we added two new settings for BOSH component:

batch-queue-timeout - to set queuing timeout in miliseconds
max-batch-size - to set maximal size of batch