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.