2013-03-16 1215 views
3

我有一個帶線程組和Cookie管理器的JMeter加載測試腳本。JMeter:爲單個用戶觸發多個併發HTTP請求

線程組中的用戶首先使用HTTP採樣器登錄以獲取cookie。

然後一個循環控制器觸發一個交錯採樣器,它交替在將查詢發送到服務器的幾個HTTP採樣器之間交替。

現在我希望交錯控制器的一個選項爲同一用戶發出兩個或三個併發請求,並在每個請求中發送相同的cookie。
我該怎麼做?

回答

1

我們最終什麼事做:

  • 一個BeanShell的採樣器檢索來自登錄請求後cookie管理器的SessionID cookie值,並將其設置在一個變量。
  • 另一個beanshell採樣器作爲一個孩子添加到交錯採樣器。這個beanshell採樣器從變量中獲取cookie。然後它爲每個請求啓動一個新線程,該線程使用cookie值觸發HTTP請求,並檢查結果。原始的beanshell線程加入所有已啓動的線程併合並結果。

這對代碼來說很麻煩。你能想到一個更好的方法來做到這一點?

2

如果你需要同時下載一個頁面的資源,那麼在http sampler gui底部有這個複選框。但我認爲你已經知道,所以你做的似乎很好。

性能更好的變體是使用Groovy + JSR223(添加緩存鍵以便編譯只發生一次)。

是模擬Ajax調用還是其他?

+0

我知道資源檢索,是的,甚至考慮使用img標籤中的查詢下載僞造的html頁面,以便下載頁面將觸發同時查詢:)我們正在模擬富客戶機 - 服務器和服務器到服務器調用數據檢索服務。感謝您使用groovy的提示,將看看! – flup 2013-03-21 07:31:34

+0

通過深思熟慮的迴應,感謝賞金。 – flup 2013-03-25 17:51:38

+0

謝謝,儘管你至少有一半是應得的:) – 2013-03-25 20:10:20