1. 程式人生 > >使用web壓力測試工具 siege 和 ab 傳送帶json資料的post請求

使用web壓力測試工具 siege 和 ab 傳送帶json資料的post請求

首先我們的json字串直接放在檔案postfile中

在我們使用json格式時,注意一定要將headers的Content_type設定為application/json,否則伺服器端可能不能正確識別傳送的body格式。

siege

經過測試的版本為3.02和3.04

siege POST請求:

嘗試1:

siege  -T 'application/json' -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile'

伺服器端接收到body為postfile檔案內容,但是content_type依舊是預設值“application/x-www-form-urlencoded”,致使伺服器端不能正確處理。

嘗試2: 

siege -H 'Content-Type:application/json' -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile'

情況與1相同。說明不能通過-H和-T來修改content_type

嘗試3:

將postfile檔名修改為postfile.json

siege -c 500 r 1 '172.19.180.166/fcgi-bin/rs/ POST <./postfile.json'

content_type被正確設定為application/json,伺服器正常處理返回。原來siege只能通過檔案的副檔名來確定content type格式

ad

該工具比較好用,沒出現什麼問題,一條命令搞定:

ab -n 5000 -c 500 -p postfile -T 'application/json'   '172.19.180.166/fcgi-bin/rs/'

測試搞定