tcp连接网页与服务器负载和速度

时间:2014-08-28 15:14:20

标签: linux apache sockets tcp

我想知道访问网页时如何建立tcp连接。当我访问网页,并检查netstat下的tcp连接时,我看到第一次加载时来自同一个ip的22个连接(具有TIME_WAIT状态)。如果不再访问页面,它们都会在一分钟后消失。

因此,似乎Apache webserver为每个对象建立了一个连接,如页面上的图像和代码。因此,网页上较少的对象或图像将减少连接,并可能加快加载时间。 如果我的假设是错误的,请纠正我。

我想知道的是它如何影响服务器负载。较少的连接(具有较少对象的网页)会减少服务器负载吗?这个tcp连接的数量与将占用服务器内存和资源的httpd进程的数量有关。在检查时,使用ps -e httpd进程号似乎与连接数没有太大差异。是什么影响了httpd进程计数?

1 个答案:

答案 0 :(得分:0)

KeepAlive和KeepAliveTimeout:

KeepAlive指令允许通过同一TCP连接发送多个请求。这在提供包含大量图像的HTML页面时特别有用。如果KeepAlive设置为Off,则对于每个图像,必须单独建立TCP连接。通过启用KeepAlive可以消除由于建立TCP连接而产生的开销。

KeepAliveTimeout确定等待下一个请求的时间。将其设置为较低的值,可能在2到5秒之间。如果设置得太高,则处理后的子进程会等待客户端,因为它们可用于为新客户端提供服务。