ab
是Apache Benchmark的縮寫欢搜,顧名思義它是Apache組織開發(fā)的一款web壓力測(cè)試工具缕碎,優(yōu)點(diǎn)是使用方便切心,統(tǒng)計(jì)功能強(qiáng)大鹏氧。
在Linux服務(wù)器中需要對(duì)webservice接口進(jìn)行測(cè)試時(shí)渤涌,如果打開類似SoapUI等圖形化工具有時(shí)候并不是特別方便,反而使用命令進(jìn)行測(cè)試高效快捷把还。
本教程講解了在Linux系統(tǒng)中如何通過ab
命令進(jìn)行webservice接口測(cè)試实蓬。
準(zhǔn)備條件
- 一臺(tái)Linux服務(wù)器。
- 在服務(wù)器上具備sudo權(quán)限的賬號(hào)吊履。
安裝ab命令
ab命令默認(rèn)包含在apache2-utils軟件包中安皱,一些Linux發(fā)行版默認(rèn)并沒有安裝,所以我們需要先安裝apache2-utils軟件包艇炎,安裝命令如下:
sudo apt-get install apache2-utils
使用ab命令模擬調(diào)用webservice
ab調(diào)用的命令格式如下:
ab -c 10 -t 30 -p test.xml -H 'Content-Type: text/xml;charset=UTF-8' -H 'SOAPAction: ""' http://web服務(wù)接口地址
? 其中參數(shù)說明:
- -c 表示并發(fā)數(shù)酌伊。
- -t 表示時(shí)間。
- -p test.xml, test.xml為測(cè)試發(fā)送的報(bào)文缀踪。
- -H 請(qǐng)求使用的header請(qǐng)求頭參數(shù)
test.xml中的內(nèi)容類似如下居砖,可以根據(jù)測(cè)試接口實(shí)際情況自行定義或者從SoapUI中將測(cè)試用的報(bào)文拷貝出來虹脯。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.*****.com/">
<soapenv:Header/>
<soapenv:Body>
報(bào)文內(nèi)容......
</soapenv:Body>
</soapenv:Envelope>
通過參數(shù)設(shè)定,可以模擬多中請(qǐng)求情況特別適合對(duì)接口的壓力測(cè)試奏候。不過ab命令行下進(jìn)行的壓力測(cè)試也有不足的地方循集,例如報(bào)文比較單一。
更多關(guān)于ab參數(shù)使用鼻由,可以在命令行下輸入ab --help
查看具體說明暇榴。
寫在最后
對(duì)于使用命令進(jìn)行webservice進(jìn)行測(cè)試是非常有用的厚棵,網(wǎng)絡(luò)有限制只允許服務(wù)器之間進(jìn)行通訊是測(cè)試蕉世。這樣在命令行里面即可驗(yàn)證webservice服務(wù),又可以進(jìn)行一定的壓力測(cè)試婆硬。