Apache 负载测试

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:39:17
我的Apache在台式机上,ab在笔记本运行,两台机器都是winxp,已经解除了tcp最大/半开连接数限制,通过一个百兆的路由器(hub)互联。
我发现当时用Apache自带的ab做测试的时候
如果使用ab -n 1000 -c 10参数,得10多分钟才能完成,每秒才处理1.36个连接。
如果使用ab -n 1000 -c 10 -k参数,5秒就完成,每秒200个。
这是为什么,不keepalive这么慢。
服务器如果托管上线运行,实际应用中的连接都是什么样的,不会大多不是keepalive吧?我这个配置要怎么怎么优化才能提高没有-k参数时的性能。

1000个请求,每次10个,这个测试和下载的网页大小有关系,几K的网页是快,要是下上M的文件当然慢了,至于keepalive是允许一个http连接开多个请求线程,这个参数是测试httpd里面KeepAlive;MaxKeepAliveRequests;MaxKeepAliveRequests;KeepAliveTimeout
;KeepAliveTimeout等选项设置数值的合理性的,你没设置的话使用默认值,应该跟你的测试没多大关系.
至于你想知道实用的情况怎样,其实大多数浏览器应该不会用到keepalive方式的,即使是firefox也需要另外装个插件才能多线程下载网页,IE6是单线程的,IE7不知道,如果你要开http下载文件,你的机器一定要强,可以考虑把连接数等数值设大一些,windows下的apache不是很清楚了,我一直都在linux下做服务的.推荐你看看这几个网页:
http://blog.chinaunix.net/u/17657/showart_451544.html
http://www.themore.net/page/2/12/2006_06/detail_231_1.html
http://linux.die.net/man/1/ab