Performance tuning

The Gateway application can be run with many of the configuration settings with default values; however careful consideration must be given to tuning the application to achieve maximum performance, when using in a production environment.

The following configuration items can be tuned to maximize performance.

diffusion url

The port number which is part of the url specified for connecting to the Diffusion server, determines which Diffusion connector the framework application connects to.
Ideally, the framework application must connect to a high volume connector to maximize throughput.

  • For source services publishing to Diffusion, this must be a connector tuned for high input, that is, it must have a large input buffer size.

  • For sink services consuming from Diffusion, the connector must be one with a suitably large output buffer size.

Generally, the larger the buffer size at the server, the greater the throughput the connector can support. However, note that the buffer is replicated for each connection to the connector, therefore there is a memory impact upon the server.

In case of Gateway applications, where only one can connect at any time, a special connector for the application could be configured at the server with very large buffer sizes. Hence, when deploying a Gateway application, the application deployer must negotiate a dedicated connector with the Diffusion server administrator, and tune their local buffer sizes accordingly.

Refer to the outputBufferSize section and inputBufferSize sections.

diffusion outputBufferSize

For applications that are publishing to Diffusion (that is, using source services), maximum throughput is achieved if the output buffer size exactly matches the inputBufferSize of the Diffusion server connector that the application connects to.

Refer to the diffision url section.

diffusion inputBufferSize

For applications that are consuming from Diffusion (that is, using sink services) maximum throughput is achieved if the input buffer size exactly matches the outputBufferSize of the Diffusion server connector that the application connects to.

Refer to the diffision url section.