JMeter的工作原理是:
JMeter可以作為Web服務器與瀏覽器之間的代理網關,以便捕獲瀏覽器的請求和Web服務器的響應,這樣就很容易地生成性能測試腳本,
有了性能測試腳本,JMeter就可以通過線程組來模擬真實用戶對Web服務器的訪問壓力,這與LoadRunner的
工作原理基本一致。
原理圖如下:
為了達到真正意義的並發,讓每個線程模擬一個全新的用戶,那Jmeter需要添加緩存與cookies管理器,清除緩存和cookies,設置如下
有些網站保存信息是使用Cookie,有些則是使用Session.對於這兩種方式,JMeter都給予一定的支持。
1.Cookie
添加方式:線程組-配置元件-HTTP Cookie 管理器,如下圖:
2.Session
添加方式:線程組-前置處理器 -HTTP URL 重寫修飾符,如下圖:
有些tomcat的session實現不是通過cookie的,而是通過session id的,就是說,用戶登錄有了session之后,tomcat就會維護一個sessonid,然后每次request的時候,要求每個http request的URL都要帶上這個session id.
在tomcat中,使用URL Re-writing mode,URL是這樣的:http://192.168.0.2:8080/easy/login.ec;jsessionid=410C3D3946535635683D662DF74A00AC,所以,這里我們需要設置會話參數名稱為:jsessionid,Jmeter就會到URL里面按照這個參數去把上面那個sessionid抓下來,然后每次request都帶上這個東西,需要注意,“路徑擴展(使用;作分隔符)”這里還要將勾上,因為如上,tomcat的URL Re-writing中sessionid是以分號的方式加在URL上的,所以需要勾上這個選項,有些web server這個session和普通的URL parameter一樣,是以?和&這種方式加上去的,這種情況這個checkbox就不用勾了。