今天,用pagespeed优化性能,有个优化选项为启用Keep-Alive。之前还不知道是神马意思,GG了一下。了解了一下这个HTTP Keep-Alive。
Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。市场上 的大部分Web服务器,包括iPlanet、IIS和Apache,都支持HTTP Keep-Alive。对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍旧被占用。当Web服务器和应用服务器在同一台机器上运行时,Keep- Alive功能对资源利用的影响尤其突出。 此功能为HTTP 1.1预设的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持续作用功能。
谷歌了几篇Keep-Alive相关的文章,最后小结一下,做个笔记:
1、当你的服务器内存充足时,KeepAlive开启与否对系统性能影响不大。
2、当你的服务器上有很多静态网页(Html、img、Css、Js),建议开启KeepAlive 。
3、当你的服务器多为动态请求(因为连接数据库,对文件系统访问较多), 关掉KeepAlive,会节省一定的内存,节省的内存正好可以作为文件系统的Cache(vmstat命令中cache一列),降低I/O压力。
(当KeepAlive =On时,KeepAliveTimeOut的设置其实也是一个问题,设置的过短,会导致Apache 频繁建立连接,给Cpu造成压力,设置的过长,系统中就会堆积无用的Http连接,消耗掉大量内存,具体设置多少,可以进行不断的调节,因你的网站浏览和服务器配置而异。)
占沙发了,哈哈。双陈最近更新很给力呀
哈哈,继续给力中
感觉还不错把,!· 加油 !