• 新闻漫评——“心酸”辞职信 春城壹网 七彩云南 一网天下 2019-07-22
  • 一语惊坛(6月15日):人民日报和共和国共同成长。 2019-07-22
  • 回复@不能这样啊:那你不是可以啥事不做天天甩起手耍?你自己不求上进还不准别人有所追求么? 2019-07-18
  • 陕台“丝路云”融媒体平台启动 主流媒体融合转型“旗舰”出航 2019-07-18
  • 【专题】网络中国节·2018端午节 2019-07-13
  • 经济数字包括成本,经济数字好看,但其效益如何会是经济收入增加没有经济效益,那是成本增加比经济收入增加还多。 2019-07-13
  • 紫光阁中共中央国家机关工作委员会 2019-07-09
  • 阿富汗称美无人机炸死巴塔头目 后者曾下令射杀玛拉拉 2019-07-02
  • 谁在鼓噪智能音箱? 风眼 2019-06-29
  • 过来人告诉你:2018国考报名这样选择职位 2019-06-27
  • 包住内力,在不断变化中寻找契机,可出击可借力亦可卸力。 2019-06-26
  • 雄安新区政务服务中心启用开放 2019-06-26
  • 人民网评:建设一支生态环境保护铁军 2019-06-22
  • 列车上旅客晕倒 众人爱心救助 2019-06-22
  • FIIL随身星深度体验:原来科技如此之近 2019-06-18
  • 您当前的位置:26选5复式玩法>>建站资讯>>SEO技术SEO技术

    什么是Keep-Alive模式?开启Keep-Alive的好处有哪些?

    26选5复式玩法 www.vsnbz.tw 点击数:73012012-03-22 22:50:53 来源: 26选5复式玩法 www.vsnbz.tw

    新闻摘要:最近比较喜欢做一些细节的优化,主要是图片优化、定义以前没定义过的图片的宽、高及页面代码、css、js优化的方面。最近在使用一个谷歌的page speed,这个当然必须在火狐浏览器下才支持的插件,里边提到一项开启keep-alive,具体是什么是Keep-Alive模式?开启Keep-Alive的好处有哪些呢?

    最近比较喜欢做一些细节的优化,主要是图片优化、定义以前没定义过的图片的宽、高及页面代码、css、js优化的方面。最近在使用一个谷歌的page speed,这个当然必须在火狐浏览器下才支持的插件,里边提到一项开启keep-alive,具体是什么是Keep-Alive模式?开启Keep-Alive的好处有哪些呢?现把关于这方面的东西分享出来,大家参考下。

    一、什么是Keep-Alive模式?

    我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
    http 1.0中默认是关闭的,需要在http头加入"Connection: Keep-Alive",才能启用Keep-Alive;http 1.1中默认启用Keep-Alive,如果加入"Connection: close ",才关闭。目前大部分浏览器都是用http1.1协议,也就是说默认都会发起Keep-Alive的连接请求了,所以是否能完成一个完整的Keep- Alive连接就看服务器设置情况。

    2.开启Keep-Alive的好处

    KeepAlive 选项到底有什么用处?如果你用过Mysql ,应该知道Mysql的连接属性中有一个与KeepAlive 类似的Persistent Connection,即:长连接(PConnect)。该属性打开的话,可以使一次TCP连接为同一用户的多次请求服务,提高了响应速度。

    比如很多网页中图片、CSS、JS、Html都在一台Server上,当用户访问其中的Html网页时,网页中的图片、Css、Js都构成了访问请求,打开KeepAlive 属性可以有效地降低TCP握手的次数(当然浏览器对同一域下同时请求的图片数有限制,一般是2),减少httpd进程数,从而降低内存的使用(假定prefork模式)。MaxKeepAliveRequests 和KeepAliveTimeOut 两个属性在KeepAlive =On时起作用,可以控制持久连接的生存时间和最大服务请求数。

    不过,上面说的只是一种情形,那就是静态网页居多的情况下,并且网页中的其他请求与网页在同一台Server上。当你的应用动态程序(比如:php )居多,用户访问时由动态程序即时生成html内容,html内容中图片素材和Css、Js等比较少或者散列在其他Server上时,KeepAlive =On反而会降低Apache 的性能。为什么呢?

    前面提到过,KeepAlive =On时,每次用户访问,打开一个TCP连接,Apache 都会保持该连接一段时间,以便该连接能连续为同一client服务,在KeepAliveTimeOut还没到期并且MaxKeepAliveRequests还没到阈值之前,Apache 必然要有一个httpd进程来维持该连接,httpd进程不是廉价的,他要消耗内存和CPU时间片的。假如当前Apache 每秒响应100个用户访问,KeepAliveTimeOut=5,此时httpd进程数就是100*5=500个(prefork 模式),一个httpd进程消耗5M内存的话,就是500*5M=2500M=2.5G,夸张吧?当然,Apache 与Client只进行了100次TCP连接。如果你的内存够大,系统负载不会太高,如果你的内存小于2.5G,就会用到Swap,频繁的Swap切换会加重CPU的Load。

    现在我们关掉KeepAlive ,Apache 仍然每秒响应100个用户访问,因为我们将图片、js、css等分离出去了,每次访问只有1个request,此时httpd的进程数是100*1=100个,使用内存100*5M=500M,此时Apache 与Client也是进行了100次TCP连接。性能却提升了太多。
    当KeepAlive =On时,KeepAliveTimeOut的设置其实也是一个问题,设置的过短,会导致Apache 频繁建立连接,给Cpu造成压力,设置的过长,系统中就会堆积无用的Http连接,消耗掉大量内存,具体设置多少,可以进行不断的调节,因你的网站浏览和服务器配置 而异。
    小总结:
    1、当你的Server内存充足时,KeepAlive =On还是Off对系统性能影响不大。
    2、当你的Server上静态网页(Html、图片、Css、Js)居多时,建议打开KeepAlive 。
    3、当你的Server多为动态请求(因为连接数据库,对文件系统访问较多),KeepAlive 关掉,会节省一定的内存,节省的内存正好可以作为文件系统的Cache(vmstat命令中cache一列),降低I/O压力。
    文章地址://www.vsnbz.tw/seo/n29.html  转载请注明作者及原始出处!
    【文章如需转载请注明:转载自临朐天宇网络://www.vsnbz.tw】
    本文地址://www.vsnbz.tw/seo/n29.html
    【作者:潍坊seo】 返回顶端

    工作日:9:00-21:00

    邮箱[email protected]

    扫一扫加我好友扫描二维码

    26选5复式玩法
  • 新闻漫评——“心酸”辞职信 春城壹网 七彩云南 一网天下 2019-07-22
  • 一语惊坛(6月15日):人民日报和共和国共同成长。 2019-07-22
  • 回复@不能这样啊:那你不是可以啥事不做天天甩起手耍?你自己不求上进还不准别人有所追求么? 2019-07-18
  • 陕台“丝路云”融媒体平台启动 主流媒体融合转型“旗舰”出航 2019-07-18
  • 【专题】网络中国节·2018端午节 2019-07-13
  • 经济数字包括成本,经济数字好看,但其效益如何会是经济收入增加没有经济效益,那是成本增加比经济收入增加还多。 2019-07-13
  • 紫光阁中共中央国家机关工作委员会 2019-07-09
  • 阿富汗称美无人机炸死巴塔头目 后者曾下令射杀玛拉拉 2019-07-02
  • 谁在鼓噪智能音箱? 风眼 2019-06-29
  • 过来人告诉你:2018国考报名这样选择职位 2019-06-27
  • 包住内力,在不断变化中寻找契机,可出击可借力亦可卸力。 2019-06-26
  • 雄安新区政务服务中心启用开放 2019-06-26
  • 人民网评:建设一支生态环境保护铁军 2019-06-22
  • 列车上旅客晕倒 众人爱心救助 2019-06-22
  • FIIL随身星深度体验:原来科技如此之近 2019-06-18
  • 拉斯帕尔玛斯狂欢节 华东15选5开奖号码 天津11选5中奖结果 13张麻将听牌组合 卡利亚里vs拉齐奥 伊蒂哈德对赖扬 漂亮猫咪彩金 平码3中3 龙王捕鱼怎么打龙王炮 图卢兹对里尔