WSO2 EI Tune up parameters - recycle and reuse

This article is to describe a set of WSO2 EI 6.x.x's OS-level performance tuning parameters which you want to be mindful when configuring in your deployment.

Official WSO2 EI's Network and OS level tuning parameters can be found in [1] for the EI version 6.5.0.

"net.ipv4.tcp_tw_recycle, net.ipv4.tcp_tw_reuse and net.ipv4.tcp_fin_timeout"

This blog describes the TIME_WAIT state and how the above set of parameters acts in the deployment in a busy Linux server. [2]
As described in the official documentation and the above blog, better not to configure "net.ipv4.tcp_tw_recycle"  in a NAT enabled environment.  Since when recycle is enabled, the server can't distinguish new incoming connections from different clients behind the same NAT device.
I would recommend having the reuse enabled in a such a situation with "net.ipv4.tcp_fin_timeout" value set to a lower value.

If you have enabled recycle in your NAT enabled environment, you would probably find your connections getting reset and when you have a TCP dump you would notice an RST is sent by the load balancer to the client after not getting a ACK from a pool member server because of the above config.

References
[1] https://docs.wso2.com/display/EI650/Network+and+OS+Level+Performance+Tuning
[2] https://vincent.bernat.ch/en/blog/2014-tcp-time-wait-state-linux

Comments

Popular Posts