日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用JMeter对异步HTTP / REST服务进行压力/负载测试

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用JMeter对异步HTTP / REST服务进行压力/负载测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

盡管我一直在使用JMeter進行Web應用程序的壓力測試和負載測試好幾次,但我們還是花了一些時間才弄清楚如何使用該工具測試基于異步HTTP / REST的服務。 在我們這里,我是指一名程序員, Holger Staudacher ,我很榮幸能與當前的一個項目一起工作。

當Holger基于對上述項目進行功能和集成測試的經驗而開發了Restfuse時 ,我們決定使用JMeter進行壓力和負載測試。 被測軟件的主要服務處理上傳到特定URL的數據結構。 如果上傳過程成功,則返回指向包含處理結果的資源的URL。 產生的資源無法立即使用-處理需要一段時間。 因此,輪詢可用于在資源可用時檢索資源1

我們的目標是在一次測試中測量上載數據結構,處理數據和下載結果資源所花費的時間。 同時運行多個用戶的這種測試應該使我們對系統的吞吐量能力有一個良好的印象。 聽起來不太復雜,但是…

…使用JMeter機載功能為上一段中描述的場景編寫測試計劃的第一種方法效果不佳。 計劃既不可理解,也不是(更糟的是)使測量結果毫無意義。 特別是將上載請求和輪詢循環與事務控制器一起鉗制似乎對計時器產生了一些意外的副作用。 因此,經過一段時間的Google額外研究之后,我偶然發現了JavaSamplerClient API ,這是我以前所不知道的。

stackoverflow.com上有一個條目,描述了如何擴展AbstractJavaSamplerClient ( JavaSamplerClient的實現)并在JMeter使用它。 因此,這就是解決我們的問題的方法。 我們創建了AbstractJavaSamplerClient的擴展,以覆蓋runTest(JavaSamplerContext) 。 在該方法中,我們使用HttpClient執行上載和輪詢請求。 一旦輪詢請求成功檢索到處理結果,所有標頭和內容信息都將存儲在SampleResult實例中。 后者由覆蓋的測試采樣器方法返回,由JMeter進行進一步處理–非常簡單2

創建包含自定義JavaSampleClient的jar并將其放入JMeter安裝目錄下的lib/ext/文件夾后,可以將Sampler類型的Java Request添加到Thread Group 。 這使您可以選擇和配置自定義采樣器,如下圖所示:

使用JavaSamplerClient使我們的測試計劃變得非常簡單,并允許我們使用通用的JMeter結果測量功能,如下圖所示,在Graph Results視圖中:

當然,測量結果現在是合理的……

由于我們不得不花很長時間才能做到這一點,所以我認為我們的解決方案也可能對其他人很感興趣-這就是寫這篇文章的原因。 但是,如果有我們沒有注意到的更簡單的解決方案,也很高興收到您的來信。 因此歡迎提供反饋

  • 我們開始使用網絡掛接 ,但我們的客戶有問題,說服IT管理員打開防火墻... ?
  • 為了使本文的篇幅合理,我跳過了關于如何處理不成功請求的任何描述,但是我們的大多數實施工作都必須在該領域中完成…… ?

  • 參考:來自Code Affine博客的JCG合作伙伴 Frank Appel的JMeter對異步HTTP / REST服務進行壓力/負載測試 。

    翻譯自: https://www.javacodegeeks.com/2012/11/stressload-testing-of-asynchronous-httprest-services-with-jmeter.html

    總結

    以上是生活随笔為你收集整理的使用JMeter对异步HTTP / REST服务进行压力/负载测试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。