Performance is reduced when you run web services with small message sizes
Follow this guidance to resolve the problem of reduced performance when you run web services with small message sizes.
Procedure
- Scenario: You see poor response times and throughput rates when you run web services using HTTP, and send smaller messages sizes (typically less than 32 KB). Throughput rates can fluctuate with message size. IBM® App Connect Enterprise running on the AIX® platform might be affected.
- Explanation: The default configuration of HTTP enables the Nagle algorithm, which seeks to improve the efficiency of Internet Protocol networks by reducing the number of packets sent. It works by buffering small packets together, creating a smaller number of large packets. By default, the tcpnodelay setting on the sockets of the HTTPRequest is true. You can disable the Nagle algorithm at either the operating system level (system wide) or through IBM App Connect Enterprise (affecting only the IBM App Connect Enterprise HTTP sockets).
-
Solution: Stop the integration node and use the following commands to disable the Nagle
algorithm:
- HTTPRequest, SOAPRequest, and SCARequest nodes
-
mqsichangeproperties integrationNodeName -e integrationServerName -o ComIbmSocketConnectionManager -n tcpNoDelay -v true|false -f mqsichangeproperties integrationNodeName -e integrationServerName -o ComIbmSocketConnectionManager -n tcpNoDelaySSL -v true|false -f
To determine the value set, take the following steps:
- Report property values
- Start the integration node and use the following commands:
mqsireportproperties integrationNodeName -e integrationServerName -o ComIbmSocketConnectionManager -r mqsireportproperties integrationNodeName -e integrationServerName -o HTTPConnector -r mqsireportproperties integrationNodeName -e integrationServerName -o HTTPSConnector -r mqsireportproperties integrationNodeName -b NodeHttpListener -o HTTPConnector -r mqsireportproperties integrationNodeName -b NodeHttpListener -o HTTPSConnector -r