jmeter模擬不同ip併發請求
Jmeter是 Apache 組織的開放原始碼專案,它是功能和效能測試的工具,100%的用java實現。
目前版本2.3.4。
一直在用jmeter做壓力測試,越來越覺得它功能強大,前段時間看有朋友說不能模擬不同ip進行併發測試,
抽空研究了一下,其實很簡單。
首先,獲取ip用request.getRemoteAddr()怕有代理,所以都用這一段:
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
看一下原理很簡單,從http頭裡獲取值,那就模擬呀!
Jmeter有http header manager(http資訊頭管理器)
加個引數就ok了,但是這個是固定的,我就想能不能從檔案中讀取ip,然後傳送呢?
當然能,新增一個csv data set config 傳送的時候引用一下就ok了!
具體的就不寫了,把寫好的jmx下載了自己看吧!