Apache指令说明及实验
作者:瓜爸
整理:A队
1概述
Maxclients指令设置了允许同时伺服的最大接入请求数量。任何超过Maxclients限制的请求都将进入等候队列,直到达到ListenBacklog指令限制的最大值为止。一旦一个链接被释放,队列中的请求将得到服务。系统管理员可以根据硬件配置和负载情况来动态调整这个值,虽然理论上这个值越大,可以处理的请求就越多,但Apache默认的限制是不能大于256。
2详述
Maxclients所指的最多"连接数"其实就是同时可以得到处理的客户端的最大数量。Maxclients如果设的过小,则在连接多的情况下,客户就得排队等候,造成了系统资源没有充分利用。而Maxclients如果设的过大,服务器就会超负载运行,从而使得整体性能下降。
针对一个局域网内有多台机器同时访问门户系统,每一个终端都将作为一个请求来处理。在保持连接功
能时,两个相邻的连接的时间间隔超过KeepAliveTimeout指令值,就切断连接。一旦收到一个请求,超时值将会被设置为KeepAliveTimeout指令指定的秒数。
3分析
通过命令:“ps –ef |grep httpd|wc –l”实时监控数据采样如下:
4总结
问题的触发点是门户网站在每月底的时候,访问量增大导致偶尔出现页面访问速度缓慢甚至无法正常展现的情况,所以在修改了门户网站Apache的Maxclients指令值后进行了严密监控。到目前为止,没有再发现门户网站页面访问异常的情况。
5实验
5.1实验文件
本次实验用到的文件全部上传到WEB服务器测试机(127.0.0.1)Apache根目录root 下。文件列表如下:
grep命令查看进程● b.shtml
●homepage_top.html
●test.html
5.2实验步骤
第一个实验目的:测试Maxclients对客户端访问服务器的影响
1、先使用一台机器访问。127.0.0.1/b.shtml,再使用第二台机器访问同样的地址,接着再使
用第三台地址访问,以此类推,当访问服务器的客户端机器数增加到Maxclients的设置值时,再增加一台客户端机器访问服务器时,查看是否能够访问;
第二个实验目的:使用ps命令查看httpd的进程数是否与实际的访问数一致
5.3结论
Maxclients的含义表示客户端与服务器建立的最大连接数。Maxclients的占用数量跟客户端访问服务器
的页面有关系。当一个用户访问一个简单页面时,占用一个连接;页面中每嵌入一个包含form表单元素或两个图片以上的子页面时,会增加一个连接。当连接数达到Maxclients指令值以后,再有用户向服务器发出请求则会加到等待队列中,处于等待状态;当有用户连接超时后,先进入等待队列的请求则会被优先处理,页面才会正常显示。
通过ps命令(ps –ef | grep httpd | wc -l)查看httpd的进程数并不能真实的反应出客户端向服务器发出请求所建立的连接数。因为使用该命令返回的结果是所有httpd的进程数,其中有一个是由root用户创建的httpd的主进程,一部分是由apache启动时预创建的等待处理用户请求的进程,剩余部分是正在响应客户端请求的进程。Apache始终都会保持一部分空闲的进程,这些进程数是由MinSpareServers和MaxSpareServers这两个指令值决定。MinSpareServers和MaxSpareServers表示Apache的最小空闲进程数和最大空闲进程数。这部分进程用于处理可能到来的突发请求,不需要在用户发出请求时再去向系统申请创建进程。这部分进程数最小不会小于MinSpareServers值,最大不会超过MaxSpareServers的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论