Nginx+PHP-fpm压力测试

Nginx+PHP-fpm组合,以内存占用小,负载能力强壮的特点,成为当前首选组合。我们一起来探讨一下nginx+php-fpm压力测试方法。

siege是一个跟ab.exe相似的http压力测试软件。

我们可以用siege来测试我们的网站和服务器性能。


官网 https://jason.pureconcepts.net/2011/09/installing-siege-mac-os-x-lion/,这是mac安装,应该和linux差不多,debian和ubuntu用户可以通过apt-get install siege来安装siege.

我提供的 oss下载链接

http://file.iphp.cc/siege-latest.tar.gz

官网链接里有安装方法,不过我们可以下载到文件以后,解压后,直接看里面的install文件,里面有安装说明。


我们可以用siege来测试我们的网站和服务器性能。

siege -r 100 -c 10 http://www.domain.com/test.php

-r 是 repeat , -r 100是重复100次测试

-c 10是表示模拟10个用户同时并发连接

最后面是要测试的URL地址。

测试过程中可以随时按CTRL+C中止进程,siege会生成一个报告给我们。

我们可以同时根据siege的测试结果和监视服务器的负载情况,对系统压力状况进行一个深入了解和分析。接下来可以帮助我们判断该如何进行下一步操作,是继续优化配置,还是升级硬件。


# 在urls.txt中列出所有的网址

01
siege -c 200 -r 100 -f urls.txt

# 随机选取urls.txt中列出所有的网址

01
siege -c 200 -r 100 -f urls.txt -i

# delay=0,更准确的压力测试,而不是功能测试

01
siege -c 200 -r 100 -f urls.txt -i -b

# 指定http请求头 文档类型

01
siege -H "Content-Type:application/json"-c 200 -r 100 -f urls.txt -i -b

Siege输出结果说明

Transactions: 总共测试次数
Availability: 成功次数百分比
Elapsed time: 总共耗时多少秒
Data transferred: 总共数据传输
Response time: 等到响应耗时
Transaction rate: 平均每秒处理请求数
Throughput: 吞吐率
Concurrency: 最高并发
Successful transactions: 成功的请求数
Failed transactions: 失败的请求数

Siege使用的一些总结

1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确



nickname
content