ab测试工具的使用
下载地址:http://httpd.apache.org/download.cgi#apache24
编译安装后在安装目录bin下可以找到ab执行程序
基本用法:
ab -n 5000 -c 1000 http://www.lamian.tv/zt/lotteryactivity.html
有些低端被测机器会返回:
apr_socket_recv: Connection reset by peer (104)
查看nginx的错误日志,发现大量的错误信息
2017/09/09 17:05:19 [error] 31242#0: *7371 connect() to unix:/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 127.0.0.1, server: www.lamian.tv, request: "GET /zt/lotteryactivity.html HTTP/1.0", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "www.lamian.tv"
这是由于nginx配置的worker_connections参数低于并发数造成的,修改此值后,可能正常测试。
由于服务器性能无法承受如此高并发,测试结果一般返回大量failed
Complete requests: 5000 Failed requests: 4573
另外,测试局域网的机器和测试外网的区别:
局域网,基本忽略了网络请求的时间,可以真实的反映程序的执行速度以及数据库的查询速度。压测的完成时间比较快。
外网,由于存在网络的延时,所以压测的时间会比局域网慢很多,需要考虑带宽和网络的因素,而不仅仅的服务器的承载能力。
暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。