您好,登錄后才能下訂單哦!
ab是什么
ab的全稱是ApacheBench,是 Apache 附帶的一個(gè)小工具,專門用于 HTTP Server 的benchmark testing,可以同時(shí)模擬多個(gè)并發(fā)請求。
ab的用法
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:
ab -n 1000 -c 200 http://xqtesting.blog.51cto.com/
上例表示總共訪問小強(qiáng)的博客這個(gè)腳本1000次,200并發(fā)同時(shí)執(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)行的總時(shí)間,秒為單位,缺省50000s
ab結(jié)果分析
運(yùn)行上面命令之后的結(jié)果太多了?看不懂?不知道看哪個(gè)?每個(gè)是什么意思?你心中又有十萬個(gè)為什么了!打住,我們只需關(guān)注如下幾個(gè)指標(biāo)就好:
Requests per second (mean) 相當(dāng)于 LR 中的 每秒事務(wù)數(shù)
Time per request (mean)相當(dāng)于 LR 中的 平均事務(wù)響應(yīng)時(shí)間
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
注意事項(xiàng)
可以利用ab完成不復(fù)雜的性能測試,或者造數(shù)據(jù),比較適用于單一URL的測試
ab判斷成功與否只通過2xx的狀態(tài)碼作為依據(jù),不接收服務(wù)器的返回值,但lr卻接收服務(wù)器完整的返回。所以在同樣的響應(yīng)時(shí)間下,ab測試支持的并發(fā)數(shù)會大于lr,tps也會大于lr。
ab運(yùn)行并發(fā)的時(shí)候和所在運(yùn)行機(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
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。