Apache中KeepAlive 配置
2016-07-10 11:25:47   来源:   评论:0 点击:

先来分析一个Yslow 测试的一个页面的前端性能。这里所有的请求是指http请求,对于一个请求各个阶段的划分,阻挡->域名解析->建立连接->发

先来分析一个Yslow 测试的一个页面的前端性能。

这里所有的请求是指http请求,对于一个请求各个阶段的划分,阻挡->域名解析->建立连接->发送请求->等待响应->接收数据。当然不是每个请求都要包含所有过程。

在以上测试中,没有涉及到请求下载资源过程中还有一个部分:TCP请求的链接与断开,而这篇文章正式说这个请求的。

那么http请求和tcp 请求是什么关系呢 ?简单点说就是一个tcp请求是比较靠近底层的,在它上面是http之类的应用请求,所以可以认为一个tcp请求包括很多个http请求(至于包括多少,apache中可以设定),同时tcp的链接与断开比http请求的链接和断开更需要消耗掉更多的内存资源和时间。

\

KeepAlive的含义

KeepAlive配置的含义:对于HTTP/1.1的客户端来说,将会尽量的保持客户的HTTP连接,通过一个连接传送多份HTTP请求响应。这样对于客户端来说,可以提高50%左右的响应时间,而于服务器端来说则降低了更多个连接的开销。不过这个依赖于客户端是否想保持连接。IE默认是保持连接的,当你打开100个图片的网站时,IE有可能只打开2个连接,通过这两个连接传送数据,而不是开100个连接。

在 Apache 服务器中,KeepAlive 是一个布尔值,On 代表打开,Off 代表关闭,这个指令在其他众多的 HTTPD 服务器中都是存在的。

KeepAliveTimeout 为持久连接保持的时间,也就是说,在这此连接结束后开始计时,多长时间内没有重新发送HTTP请求,就断掉连接。默认设置为5秒,这个值可以大点,但不能太大,否则会出现同时等候过多连接,导致多的内存被占用。

相关热词搜索:apache

上一篇:apache 的 MaxRequestsPerChild 与 keepalive的关系
下一篇:linux的一些命令 -查看cc攻击-网口ip统计等