提高Apache服务器性能的四个建议
作者:管理员 发布时间:[ 2010/2/21 11:27:29 ] 推荐标签:
建议三:合理配置超时时间。
这个选项是指客户端提出连接请求并建立起连接后,大的空闲时间。如果超过这个时间,客户端与服务器之间仍然没有进行任何的接收或者发送信息的动作,则会中断这个连接。其实这个选项对于访问者来说是一把双刃剑。一方面限制无用的连接时间(客户端连接上服务器而没有进行任何的请求动作)可以减少带宽的浪费,可以保障其他访者着的带宽;但是另一方面这也比较容易引起客户端使用上的不方便。如访者者可能临时有事走开一会儿(如上了一趟厕所)客户端与服务器端的连接会中断。客户端需要重新连接服务器,从而需要进行新一轮的连接请求、身份认证等等,这也会耗用服务器的资源与带宽。所以说,这个超时时间对于双方来说,都是有利又有弊。故系统管理员在配置这个选项的时候,需要进行评估,确定是否需要设置这个选项,并为此确定一个合理的超时时间。
一般来说,如果设置了大客户端连接数量的话,则好同时配置这个超时时间。如服务器设置了大的客户端连接数量为100个,而现在已经有100个客户端连接在Apache服务器上了。但是其中有20个客户端已经1个小时没有动作了。很有可能是其去吃饭或者其他原因忘记关闭网页,而没有中断与服务器的连接。此时这20个客户端的连接其实一种两费。此时如果设置了这个超时时间的话,如超过10分钟没有任何数据传送动作的话自动关闭这个客户端的连接。很明显这可以提高这个连接点数的利用效率。
另外在Apache服务器配置文件中,有一个KeepAliveTimeout参数,跟这个超时时间比较相似。这个参数主要用来设置客户端与服务器建立连接后,客户端提出两个请求之间的时间间隔。如果超过一定的时间间隔,客户端并没有再提出另外一个请求,则这个连接声明即中断。可见这个连个选项的功能很类似,不过其中有一个很重要的区别。因为在客户端与服务器连接的时候大致分为两个阶段。第一个阶段为客户端提出连接但是服务器还没有响应;第二个阶段为客户端与服务器之间已经建立连接。前面这个参数的话适用这两个阶段中的任何一个阶段。而后面这个参数则只适合第二个阶段,即连接后的控制。在其他方面基本上没有区别。故在大部分情况下,这两个选项可以通用。总之,是否需要采用这个选项需要根据服务器的应用情况来定。作为系统管理员,需要在服务器性能与用户便利性之间取得一种平衡。这种平衡往往很难实现。需要系统管理员进行多次的测试、调整、用户意见反馈,终才能够得到一个合理的答案。
建议四:慎用允许持久性连接。
在服务器性能调整选项卡中,有“允许持久性连接”这项内容。如果选中这项内容的话,表示客户端与服务器之间的连接永远有效,除非客户端手工中断与服务器之间的连接(如关闭网页或者重新启动客户端)。如果把配置文件中的KeepAliveTimeout参数设置为Ture,也可以起到类似的效果。对于这个选项来说,系统管理员需要慎用。因为根据经验,一般用户不会主动去关闭网页。也是说,不会主动去中断客户端与服务器端之间的连接。他们很可能会在用完电脑需要关机的时候才会中断这个连接。此时在服务器端虽然有很多客户端的连接数量,但是有不少可能都是“死连接”,在很长的一段时间内不会有数据的传送动作。这对于服务器来说,是一种性能上的浪费。为此笔者的意见是,宁可把用户与服务器之间的空闲时间设置的长一点,如2个小时甚至更久,也尽量不要采用持久性连接。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11