关于http 压力测试工具

1. ab 、 webbench 、http_load的特点
这些测试工具都是单进程、非线程的程序,它的并发是通过异步实现的,虽然也实现的并发,就是说,同时确实存在着n个并发,但是需要注意的是,对于一个非常简单的接口来讲,客户端要做的事情和服务器端要做的事情差不太多;这时,一个单进程的程序去压一个多进程的程序,显然客户端可能一直忙于发请求,接受响应,而服务器端却很清闲,甚至n/3个httpd子进程就可以搞定n个并发了,这就是为什么n个并发,而服务器端的httpd子进程数却远小于n的可能的原因之一。

2. siege
siege 是一个单进程多线程的程序,只是测试结果数据太少,不太能说明问题

3. 尽管如此,我们还是可以用ab做多进程的并发的,如下:

for i in seq 1 50;do  nohup /data1/apache/bin/ab -n 10000 -c 1 "http://10.20.30.40/test.php" >ab.$i.txt &;done

这就是一个并发50,总数50万的ab压力测试

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据