和apache一样,很多http服务都提供了Keep-Alive功能,如nginx配置中的keepalive_timeout。
至于什么是Keep-Alive,简单的说:
Keep-Alive会在server上保持client过来所建立的链接,当client下一次再连到这台server时,不需要重新建立链接,而继续使用之前的链接。
具体这里不再介绍,可自行google。这里直接说一下Keep-Alive该如何设置的问题。
因为它会保持打开的链接,所以适用于同一client短时间内需要反复链接的web情况,例如:
- 打开一个页面时,该页面链接了n个图片或n个js脚本或n个css等,并且这些东西都在一台server上;
- 需要用户频繁的在网站中转悠,这点点那点点;
所以要让通信完毕的链接尽快释放,给其他client腾出资源。
虽然这样频繁地建立链接会消耗一定的CPU和内存,但是以现在机器的性能,前端服务器的瓶颈往往不在这块儿,而在链接数和I/O等。
所以,通常情况下web服务器你大可不必开启Keep-Alive,或者设置较低的值。这样可以充分发挥机器性能,提高并发。除非你的CPU和内存比较紧张。
此外,后端server和server之间的通信如果使用的也是http,那么此时应该开启Keep-Alive,你说是么:)
-----------------------------------------我是分割线----------------------------------------------
扩展阅读:
本文介绍了HTTP服务中的Keep-Alive功能及其配置方法。Keep-Alive能在客户端与服务器间维持连接,减少频繁建立连接带来的开销。文章探讨了Keep-Alive适用场景及在高并发环境下如何合理设置。
1677

被折叠的 条评论
为什么被折叠?



