1. 程式人生 > >如何設定適當的ramp-up period值

如何設定適當的ramp-up period值

如何設定適當的值並不輕易。

       首先,假如要使用大量執行緒的話,ramp-up period 一般不要設定成零。

       因為假如設定成零,Jmeter將會在測試的開始就建立全部執行緒並立即傳送訪問請求, 這樣一來就很輕易使伺服器飽和,更重要的是會隱性地增加了負載,這就意味著伺服器將可能過載,不是因為平均訪問率高而是因為所有執行緒的第一次併發訪問而引起的不正常的初始訪問峰值,可以通過Jmeter的聚合報告監聽器看到這種現象。
這種異常不是我們需要的,因此,確定一個合理的ramp-up period 的規則就是讓初始點選率接近平均點選率。當然,也許需要執行一些測試來確定合理訪問量。

  基於同樣的原因,過大的ramp-up period 也是不恰當的,因為將會降低訪問峰值的負載,換句話說,在一些執行緒還未啟動時,初期啟動的部分執行緒可能已經結束了。

  那麼,如何檢驗ramp-up period I太小了或者太大了呢?首先,初始的ramp-up period=平均點選率並用匯流排程/點選率。 例如,假設執行緒數為100, 估計的點選率為每秒10次, 那麼估計的理想ramp-up period 就是 100/10 = 10 秒。 那麼,應怎樣來提出一個合理的平均點選率呢?沒有什麼好辦法,必須通過執行一次測試指令碼來獲得。

  其次, 在測試計劃(test plan)中增加一個聚合報告監聽器,如圖2所示,其中包含了所有獨立的訪問請求(一個samplers)的平均點選率。 第一次取樣的點選率(如http請求)與ramp-up period 和執行緒數量密切相關。通過調整ramp-up period 可以使首次取樣的點選率接近平均取樣的點選率。

     第三, 查驗一下Jmeter日誌(檔案位置:JMeter_Home_Directory/bin) 的最後一個執行緒開始時第一個執行緒是否真正結束了,二者的時間差是否正常。

  總之,是否能確定一個適當的ramp-up time 取決於以下兩條規則:
  ·第一個取樣器的點選率(hit rate)是否接近其他取樣器的平均值,從而能否避免ramp-up period 過小。
  ·在最後一個執行緒啟動時,第一個執行緒是否在真正結束了,最好二者的時間要儘可能的長,以避免ramp-up period過大。

  有時,這兩條規則的結論會互相沖突。 這就意味著無法找到同時滿足兩條規則的合適的ramp-up period。 糟糕的測試計劃通常會導致這些問題,這是因為在這樣的測試計劃裡,取樣器將不能充分地採集資料,可能因為測試計劃執行時間太短並且執行緒會很快的執行結束。