利用apache ab命令完成性能测试

前端之家收集整理的这篇文章主要介绍了利用apache ab命令完成性能测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《利用apache ab命令完成性能测试》要点:
本文介绍了利用apache ab命令完成性能测试,希望对您有用。如果有疑问,可以联系我们。

欢迎参与《利用apache ab命令完成性能测试》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

百度搜索:小强测试品牌

转发+点赞=支持

点击右上角“关注”按钮可以订阅我们哦

ab是什么

@H_301_21@

ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发哀求.

ab的用法

@H_301_21@

ab 的用法是:ab [options] [http://]hostname[:port]/path

例如:

ab -n 1000 -c 200 http://xqtesting.blog.51cto.com/

上例表示总共拜访小强的博客这个脚本1000次,200并发同时执行.

ab -n 1000 -c 100 -w http://xqtesting.blog.51cto.com/ >>/root/xiaoqiang.html

上面的测试用例表示100并发的情况下,共测试拜访index.PHP脚本1000次,并将测试结果保存到xiaoqiang.html文件中.

ab常用参数的介绍:

-n :总共的哀求执行数,缺省是1;

-c: 并发数,缺省是1;

-t:测试所进行的总时间,秒为单位,缺省50000s

ab结果分析

@H_301_21@

运行上面命令之后的结果太多了?看不懂?不知道看哪个?每个是什么意思?你心中又有十万个为什么了!打住,我们只需关注如下几个指标就好:

@H_301_56@
  • Requests per second (mean) 相当于 LR 中的 每秒事务数

  • Time per request (mean)相当于 LR 中的 平均事务响应时间

  • Percentage of the requests served within a certain time (ms)

  • 如何传递参数?

    @H_301_21@

    ab -n 1 -c 1 "http://localhost/xiaoqiangshop/goods.PHP?id=20"

    一定要有双引号

    ab可以完成post操作吗?

    @H_301_21@

    ab -n 10 -c 10 -k -p "login.ab" -T "application/x-www-form-urlencoded" "http://localhost/xiaoqiangshop/user.PHP"

    -p 文件中是post的内容(可以是json格式,可以是&格式)

    -T 指定post文件的编码方式使用urlencode

    -k keepalive连接

    login.ab中的内容登录所需要的信息组合,如下:

    username=xiaoqiang&password=123123&act=act_login

    注意事项

    @H_301_21@@H_301_56@
  • 可以利用ab完成不复杂的性能测试,或者造数据,比较适用于单一URL的测试

  • ab判断成功与否只通过2xx的状态码作为依据,不接收服务器的返回值,但lr却接收服务器完整的返回.所以在同样的响应时间下,ab测试支持的并发数会大于lr,tps也会大于lr.

  • ab运行并发的时候和所在运行机器上的cpu颗数有关,越多则并发越大.所以在linux下支持的并发大于在Windows下

  • 大并发下数据不准,更多的是看ab本身的性能了而不是服务端的性能

  • 扩展阅读

    @H_301_21@

    使用Apache自带的ab命令测试网站性能

    如果对你有一丢丢赞助,转发+点赞=支持

    猜你在找的Apache相关文章