压力测试软件 ab
ab,即 Apache Benchmark,只要我们安装了 Apache,就能够在 Apache 的安装目录中找到它,Apache 已经为我们附带了一个压力测试工具。
开始测试
D:\wamp\bin\apache\apache2.4.23\bin>ab -n1000 -c10 http://test.damiyin.com/phpinfo.php
其中-n 表示请求数,-c 表示并发数
-n1000 表示总请求数为1000
-c10 表示并发用户数为10
http://test.damiyin.com/phpinfo.php 表示这些请求的目标 URL
测试结果如下:
//整个场景中的网络传输量
Total transferred: 1633000 bytes
//整个场景中的HTML内容传输量
HTML transferred: 1280000 bytes
//吞吐率,这便是我们重点关注的指标,后面括号中的 mean 表示这是一个平均值,它等于:Complete requests / Time taken for tests
Requests per second: 71.66 [#/sec] (mean)
//用户平均请求等待时间,后面括号中的 mean 表示这是一个平均值,它等于:Time taken for tests /( Complete requests / Concurrency Level)
Time per request: 139.540 [ms] (mean)
//服务器平均请求处理时间,它等于:Time taken for tests / Complete requests
//这正是吞吐率的倒数。同时,它也等于:Time per request / Concurrency Level
Time per request: 13.954 [ms] (mean, across all concurrent requests)
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Transfer rate: 263.02 [Kbytes/sec] received
关于登录的问题
有时候进行压力测试需要用户登录,怎么办?
请参考以下步骤:
1. 先用账户和密码登录后,用开发者工具找到标识这个会话的Cookie值(Session ID)记下来
2. 如果只用到一个Cookie,那么只需键入命令:
ab -n 100 -C key=value http://test.com/
如果需要多个Cookie,就直接设Header:
ab -n 100 -H “Cookie: Key1=Value1; Key2=Value2” http://test.com/