利用apache ab命令完成性能測試

ab是什么


ab的全稱是ApacheBench,是 Apache 附帶的一個小工具,專門用于 HTTP Server 的benchmark testing,可以同時模擬多個并發(fā)請求。

ab的用法


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

例如:

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

上例表示總共訪問小強(qiáng)的博客這個腳本1000次,200并發(fā)同時執(zhí)行。

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

上面的測試用例表示100并發(fā)的情況下,共測試訪問index.php腳本1000次,并將測試結(jié)果保存到xiaoqiang.html文件中。

ab常用參數(shù)的介紹:

-n :總共的請求執(zhí)行數(shù),缺省是1;

-c: 并發(fā)數(shù),缺省是1;

-t:測試所進(jìn)行的總時間,秒為單位,缺省50000s

ab結(jié)果分析


運行上面命令之后的結(jié)果太多了?看不懂?不知道看哪個?每個是什么意思?你心中又有十萬個為什么了!打住,我們只需關(guān)注如下幾個指標(biāo)就好:

Requests per second (mean) 相當(dāng)于 LR 中的 每秒事務(wù)數(shù)

Time per request (mean)相當(dāng)于 LR 中的 平均事務(wù)響應(yīng)時間

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

如何傳遞參數(shù)?


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的內(nèi)容(可以是json格式,可以是&格式)

-T 指定post文件的編碼方式使用urlencode

-k keepalive連接

login.ab中的內(nèi)容為登錄所需要的信息組合,如下:

username=xiaoqiang&password=123123&act=act_login

注意事項


可以利用ab完成不復(fù)雜的性能測試,或者造數(shù)據(jù),比較適用于單一URL的測試

ab判斷成功與否只通過2xx的狀態(tài)碼作為依據(jù),不接收服務(wù)器的返回值,但lr卻接收服務(wù)器完整的返回。所以在同樣的響應(yīng)時間下,ab測試支持的并發(fā)數(shù)會大于lr,tps也會大于lr。

ab運行并發(fā)的時候和所在運行機(jī)器上的cpu顆數(shù)有關(guān),越多則并發(fā)越大。所以在linux下支持的并發(fā)大于在Windows下

大并發(fā)下數(shù)據(jù)不準(zhǔn),更多的是看ab本身的性能了而不是服務(wù)端的性能

擴(kuò)展閱讀


使用Apache自帶的ab命令測試網(wǎng)站性能http://xqtesting.blog.51cto.com/4626073/1845431

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容