1. 程式人生 > >jmeter模擬不同ip併發請求

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下載了自己看吧!