LoadRunner之--ThinkTime

“Think Time”-思考時間,它效仿真實用戶在實際操作過程中的等待時間。也就是說,實際用戶在瀏覽網頁,操作B/S系統的時候,不可能像機器一樣不停 的點啊點,在操作和操作之間會有一定的間隔。如:你瀏覽網頁,打開一個或幾個網頁後,你會閱讀,讀過之後纔會繼續打開新網頁。你閱讀時所消耗的時間就是 Think Time。對於服務器來說,這段時間是沒有壓力的。

我們做性能測試,很多時候就要模擬這種狀態。例如:某系統,要求滿足100用戶同時在線操作,響應時間在5秒。如果不設置Think Time,我覺得,你的測試是失敗的。大家想想爲什麼?答案將在文章的結尾揭曉。

下面我來講解一下LR中Think Time的設置。

設置Think Time有兩種方式,一種是使用Record think time在錄製過程中根據實際等待時間自動的寫入腳本。另一種是在腳本錄製結束後手動加入到腳本中。接下來我們詳細介紹。

自動:

位置及操作:Recording Option-Advanced:勾上Record think time,這樣在你錄製的時候,Think Time就會自動添加入你的腳本。需要注意的是,後面還有一項Think time threshold,它的作用是定義你所要錄製的Think Time的最小時間。舉個例子,如果你把這個值設置爲5秒,那麼如果錄製過程中等待的時間小於5秒,那麼就不會在腳本中記錄這個Think Time。

手動:

位置及操作:腳本中任何你想要插入的地方。注意,不要將Think Time插入到你定義的事務當中,否則,測出的事務時間需要減去Think Time的時間呦。操作:在你想要插入Think Time的地方,右鍵,Insert-New Step在Time To Think () second在空中填寫你爲想要設置的時間。也可以在腳本中直接寫函數lr_think_time();

添加好後,我們在Run-time Settings中設置執行的策略。

位置:Run-time Settings-Think Time。進入後,我們會看到兩個選項。Ignore think time:忽略think time,也就是即使你添加了think time,腳本執行的時候也不會理睬,忽略不執行。Replay the think time:下面還有3個子項。As recorded:按照錄制的執行。不用多說。Multiply recorded think time by:這就是我錄製的think time乘一個係數。如,你錄製的think time是4秒,在這裏設置2,最後執行時就會按4秒×2=8秒來執行。如果你想要執行2秒,就在這裏填0.5。Use random percentage of the recorded think time:這裏隨機設置一個百分比,並規定上下限。如,錄製的think time爲4秒。Min爲50%,Max爲200%。那麼執行的時候它就會從2秒到8秒內隨機取一個數來執行。Limit think time to:爲think time設置一個上限,不管上面的如何設置,執行的時候,取值都不會操過這個上限。

講到這裏,think time的設置大家應該很明白了。不知道讓大家思考的問題是否想通了。需求說的是100用戶同時在線操作,注意,是在線!大家想想,100人在線肯定有人 在操作,也有人只是在線,沒有對服務器發出任何請求。如果不設置think time,相當於100人併發操作,每個人都不停的向服務器發送請求,這比需求的壓力可是大很多的呦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章