問題現象:
在使用LoadRunner對起始頁做壓力測試時,遇到一個大家都容易碰到的問題,即沒有設置腳本運行時清除瀏覽器的緩存,導致虛擬用戶上去了但是Http請求卻沒有發出去。
具體現象是這樣:
1. 用lr錄好請求頁面的腳本,啓動controller連接agent對服務器打壓力。
2. 每1分鐘增加100個虛擬用戶,當達到2000個時持續5分鐘。
3. 執行過程中,雖然虛擬用戶按照計劃在不斷上漲,但是apache的Log中的http每分鐘請求只有100個。按照預期,log中的http請求數應該是不斷地在更新。
u IE緩存與過期時間:
每次請求頁面時,IE都會做哪些事情?
1. IE在請求資源前會查詢待請求的資源在緩存中是否存在。
2. 如果在緩存中存在,並且過期時間未到,則直接渲染不發出請求。
3. 如果在緩存中存在,過期時間已到或者無過期時間,則發出If-Modified的請求,服務器返回304。
問題現象中所描述的問題屬於上述的第2條,即每個Vuser運行之後緩存了待測試頁面。在隨後的壓力中,因爲頁面存在過期時間導致HTTP請求沒有發出。
u LoadRunner的設置:
爲了能夠讓lr不斷地將http請求發送至服務器,我們設置在每次迭代時將緩存清除。
設置步驟如下:
1、 打開Run-Time Settings:
2、 設置清除緩存:
如圖中,勾選”Clear cache on each iteration”。
轉載請註明:http://blog.csdn.net/sogouauto
探索測試奧義,交流測試技術,歡迎關注“搜狗測試”