on the performance of persistent connection in modern web servers
In the development of HTTP protocol, the technique to overlap multiple HTTP requests and replies on single TCP connection, called 'keep-alive' or 'persistent connection', has won great success. It is already verified that, persistent connection could help to save the cost of frequently creating TCP connection, and could also reduce the number of operations such like forking and destroying process. Many years passed, persistent connection mechanism has been implemented widely to support all kinds of web services. However recently, dramatic changes to networking conditions and server computing capacity challenge the motivations of such mechanism and reveal some of its drawbacks. This paper models the connection management procedure in concurrent web servers with Petri Nets, and determines the parameters for the model by measuring a bunch of key metrics in modern web servers and networks. Plus, experiments are carried out in real modern test-bed with real traffic. The analytical results yielded by the model, along with experimental results, help us to clarify the negative role that persistent connection actually plays in modern web servers, especially in those busy ones.
persistent connection web servers performance evaluation