第五篇:JMeter 定時器

前言

在默認狀況下,jmeter 發送每一個請求之間是沒有延時的,若是採用默認方式,若是線程數足夠大,瞬間就會將服務器壓死。再則在實際的業務過程當中,請求之間是有必定時間的停頓的因此在請求之間設置合理的延時是必須的,也是更接近用戶真實業務狀況。在 jmeter 中,定時器組件提供了系列不一樣類型的延時控制。合理使用定時器組件,能讓你的性能測試更接近真實,更能挖掘出系統的瓶頸和評估系統的性能指標。服務器

定時器類型

一、固定定時器

這是最簡單的一種定時器,也是新手最經常使用的一種方式。下面咱們看下其具體設置:網絡

因其是固定值,在實際模擬用戶請求的過程當中,會失去靈活性,不推薦大量使用該定時器。併發

二、高斯隨機定時器

高斯隨機定時器,又能夠稱做正態分佈隨機定時器,該定時器能夠設置在兩個請求間隨機延時時長。且總的延時是高斯分佈(正態分佈)的總和(均值:0.0、標準差 1.0)。在使用時須指定誤差延時值和偏移值。。下面咱們看下其具體設置:dom

例如在訪問百度首頁,而後輸入關鍵詞進行搜索,受網絡、人等各類因素影響,有的人打開首頁後 3s 後則進行了搜索,有時則是 10s或更多時間,在正常狀況下,打開百度而後進行搜索,假設用戶間隔在 3s-10s 之間,從統計學來看,這個間隔時間多是一個正態分佈或接近正態分佈。而不是一個固定的常量。從筆者在平常實踐中,也更推薦使用該定時器。能更接近模擬用戶實際狀況。函數

三、Synchronizing Timer

這個定時器應該是你們很指望的,它有在 LoadRunner 中有一個你們熟悉的名稱:集合點。是的,它實現了某種意義上的併發。性能

請注意 Timeout in milliseconds 儘可能填寫一個合理的值。測試

四、Uniform Random Timer

該定時器能夠在請求之間設置一個隨機延時,每一個隨機延時有相同的發生機率。總的延時等於隨機延時 + 偏移延時值。該定時器也是經常使用之一。spa

  五、Poisson Random Timer

相似高斯隨機定時器,只是其隨機延時值發生在一個特定的值。總的延時值呈現泊松分佈。線程

 六、Constant Throughput Timer

經過控制每分鐘請求數(即控制吞吐的方式)來控制是否進行延時暫停。
例如,當咱們須要使服務端長期處於必定的壓力下時,能夠經過該定時器來控制吞吐。
注意:吞吐值能夠是常量,也可使用函數來動態生成,已達成更靈活的使用,知足不一樣的壓力場景。3d

 七、JSr R223 Timer   和  BeanShell Timer

這兩種定時器就不細說了,簡單的說就是提供了腳本方式來進行控制,是更爲靈活的方式。通常狀況下,你們是不會用的。固然有興趣的,能夠去研究下,加強理解。

總結本文就各類定時器進行了介紹,並大體介紹了其可能的應用場景。不論是哪一種定時器,都須要深刻理解業務的狀況下,統籌規劃使用。以更深刻的發揮其做用,模擬好真實應用場景,更好的挖掘性能瓶頸和評估目標服務的性能狀況。

相關文章
相關標籤/搜索