《利用apache ab命令完成性能測試》要點:
本文介紹了利用apache ab命令完成性能測試,希望對您有用。如果有疑問,可以聯系我們。
歡迎參與《利用apache ab命令完成性能測試》討論,分享您的想法,維易PHP學院為您提供專業教程。
百度搜索:小強測試品牌
轉發+點贊=支持
點擊右上角“關注”按鈕可以訂閱我們哦
ab是什么
ab的全稱是ApacheBench,是 Apache 附帶的一個小工具,專門用于 HTTP Server 的benchmark testing,可以同時模擬多個并發哀求.
ab的用法
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結果分析
運行上面命令之后的結果太多了?看不懂?不知道看哪個?每個是什么意思?你心中又有十萬個為什么了!打住,我們只需關注如下幾個指標就好:
Requests per second (mean) 相當于 LR 中的 每秒事務數
Time per request (mean)相當于 LR 中的 平均事務響應時間
Percentage of the requests served within a certain time (ms)
如何傳遞參數?
ab -n 1 -c 1 "http://localhost/xiaoqiangshop/goods.php?id=20"
一定要有雙引號
ab可以完成post操作嗎?
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
注意事項
可以利用ab完成不復雜的性能測試,或者造數據,比較適用于單一URL的測試
ab判斷成功與否只通過2xx的狀態碼作為依據,不接收服務器的返回值,但lr卻接收服務器完整的返回.所以在同樣的響應時間下,ab測試支持的并發數會大于lr,tps也會大于lr.
ab運行并發的時候和所在運行機器上的cpu顆數有關,越多則并發越大.所以在linux下支持的并發大于在Windows下
大并發下數據不準,更多的是看ab本身的性能了而不是服務端的性能
擴展閱讀
使用Apache自帶的ab命令測試網站性能
如果對你有一丟丟贊助,轉發+點贊=支持