·包含模式(Patterns to Include) 和 排除模式(Patterns to Exclude) :幫助過濾一些不需要的訪問請求。
圖 3。 JMeter 代理服務器(Proxy Server)。
當你點擊開始(Start)按鈕時,代理服務器就會開始記錄所接受的HTTP 訪問請求。 當然,在開始記錄前,要首先設置好瀏覽器的代理服務器設置。在代理服務器元件中可以增加一個定時器子元件(配置元件),用于告知Jmeter來在其生成的HTTP請求中自動的增加一個定時器。Jmeter會自動把實際的延遲時間存儲為一個被命名為T的Jmeter變量,因此,如果在代理服務器元件里使用了高斯隨機定時器,就應該在其中的固定延遲偏移(Constant Delay Offset)設置項里添上${T}(用于自動引用紀錄的延遲時間),如圖4所示。這是另一個節省時間的便利特性。
圖 4。 在代理服務器組建中增加一個高斯隨機定時器
定時器將會使相應的的取樣器被延遲。 延時的規則是,在上一個訪問請求被響應并延時了指定的時間后,下一個被定時器影響的取樣訪問請求才會被發送出去。 因此, 你必須手工刪除第一個取樣器中自動生成的定時器,因為第一個取樣器不需要定時器。
在啟動HTTP代理服務器以前,要在測試計劃中增加一個線程組(thread group),在線程組中增加一個錄制控制器(recording controller)用于存儲生成的結果。 否則, 生成的元件將會被直接添加到工作臺里。另外, 在錄制控制器里增加一個HTTP請求默認值元件HTTP Request Defaults 元件 (是一個配置元件) 也很重要,這樣Jmeter就不填寫使用了默認值的字段。
錄制完成后, 停止HTTP 代理服務器; 在錄制控制器元件上單擊右鍵將記錄的元件保存為一個文件用于以后重用,另外,不要忘了恢復瀏覽器的代理服務器設置。
指定響應時間需求并校驗結果
盡管本節內容與Jmeter不是直接相關,但是Jmeter仍舊是指定響應時間需求和校驗測試結果這兩個負載測試評價任務互相聯系的紐帶。
在web應用的環境里,響應時間指的是從提交訪問請求到等到HTML結果所耗費的時間。從技術的角度看,響應時間也應包括瀏覽器重繪HTML頁面的時間,但是瀏覽器一般是一塊接著一塊地顯示而不是直接顯示完整的整個頁面,讓人感覺響應時間要少一些。 另外,典型的情況是,負載測試工具不會考慮瀏覽器的重繪時間。 因此, 在實際的性能測試中,我們將考慮以上描述的情形, 如果不能確信,可以在正常的響應時間上加一個固定值,如0.5秒。
以下是一套眾所周知的確定相應時間的標準:
·用戶將不會注意到少于0.1秒的延遲
·少于1秒的延遲不會中斷用戶的正常思維, 但是一些延遲會被用戶注意到
·延遲時間少于10秒,用戶會繼續等待響應
·延遲時間超過10秒后,用戶將會放棄并開始其他操作
這些閥值很有名并且一般不會改變,因為是關乎人類的感知特性的。 所以要根據這些規則來設置響應時間需求, 也需要適當調整以適應實際應用。例如,亞馬遜公司(Amazon.com) 的主頁也遵循了以上規則,但是由于更偏重于風格上的一致,所以在響應時間上有一點損失。
乍一看,好像有兩種不同的方式來確定相應時間需求:
·平均響應時間(Average response time )
·絕對響應時間(Absolute response time);即, 所有的響應時間必須低于某一閥值
指定平均響應時間比較簡單一些(straightforward),但是由于數據變化的干擾,這個需求往往難以實現。為什么取樣中的20%的響應時間要比平均值高3倍以上呢?請注意,JMeter 計算平均響應時間與圖形結果監視器中的標準偏差是一致的。
另一方面, 對絕對響應時間需求過于苛求是不實際的。 如果只有0。5%的取樣不能通過測試該怎么辦?如果再測一次,又會有很大的變化。 幸運的是, 使用置信區間(confidence interva)分析這種正規的統計方法可以顧及到取樣變化的影響。
在繼續進行前,讓我們首先回顧一些基本的統計學知識。
文章來源于領測軟件測試網 http://www.kjueaiud.com/