2013-10-30 45 views
-3

我是Apache Jmeter的新成員。基本上我想加載測試我們的幾個節儉API,但不知道從哪裏開始。在java中,api接受2個參數,然後發送java對象作爲響應。Thrift API負載測試

任何指針都會非常有幫助。

+0

您提前一天發佈了相同的問題。投票下來。 – CMerrill

+1

@CMerrill這是投票結束的理由,而不是簡單地投下來。 –

回答

1

您可以使用JSR223採樣+的Groovy(加入JMeter的/ lib目錄Groovy的all.jar在),並期待在這個客戶端的例子,看到NonblockingClient代碼示例:

讓你的Groovy代碼CA LL在年底至少有以下:

SampleResult.setSuccessful(true/false) 
SampleResult.setResponseCode("code") 
SampleResult.setResponseMessage("message") 

參見:

,當然還有,確保你在JMeter的/ lib中添加所需的依賴關係。

+0

謝謝你的回答。我有幾個問題。我對JMeter相當陌生,所以請原諒我一些明顯的問題。到目前爲止,我已根據您的意見完成此操作: 1.將groovy jar和我的節儉客戶端jar添加到apache \ lib \ ext文件夾中 2.創建JSR 223採樣器和所選語言作爲groovy 3.編寫一個示例groovy腳本其中成功運行 我在此之後失去了。不知道我需要做什麼來測試我的節儉API。任何幫助 – Pratik

+0

groovy.jar和客戶端jar必須放在jmeter/lib中。下一步將是你分析什麼自定義接口被調用,並在groovy腳本中編寫調用。順便說一下,如果你的回答是OK的,你應該接受它並且upvote,這樣對別人很有幫助 –

+0

請問你能否將我重定向到一些可以幫助我創建自定義界面的鏈接? – Pratik

2

JMeter並不是特別適合它,但它足夠靈活以支持您的用例。

有一個使用BeanShell的可擴展性機制。 JMeter提供了能夠調用Java代碼的BeanShell Sampler,包括使用外部罐子。

簡單的用法:

  1. 開始與空JMeter的項目
  2. 創建所有默認線程組
  3. 添加BeanShell的(你可以用線程數,斜升,等玩)用下面的代碼採樣:

    Thread.sleep(2000L); 
    
  4. 添加查看結果樹聽衆

  5. 保存並運行

你應該可以看到一個綠色的三角形(或三角形)基礎上你的線程和循環次數)與輸出像下面:

Thread Name: Thread Group 1-1 
Sample Start: 2013-11-02 14:48:11 GMT+03:00 
Load time: 5030 
Latency: 0 
Size in bytes: 0 
Headers size in bytes: 0 
Body size in bytes: 0 
Sample Count: 1 
Error Count: 0 
Response code: 200 
Response message: OK 

如果你使用的技術中的任何來分析的結果,即

  • JMeter的嵌入式聽衆喜歡總結報告,總結報告,圖表Resuls等
  • 將結果存儲到CSV文件並使用Excel或同等文件打開它們(請參閱JMeter安裝的/ bin目錄下的jmeter.properties文件。屬性前綴是「jmeter.save.saveservice」。
  • JMeter Ant Task(見Test.jmx和build.xml文件在/其他文件夾您安裝Jmeter下)
  • JMeter Results Analysis Plugin

你會看到你的要求(S)的成功率,最大/最小/平均時間(大約2秒我猜)和一些更多的信息(取決於你的配置)。

特別你的使用情況假設

  1. 重要配售節儉(或其他)下的lib瓶/ ext文件夾(或您將無法訪問您的API,你需要
  2. 導入類在BeanShell Sampler中的某處進行測試

    import yourpackage。你的班;

  3. 你想從BeanShell的採樣

  4. (可選)測試調用方法上做了一些迴應斷言。即

    if (yourresponse != yourexpectedresponse){ 
    IsSuccess=false; 
    ResponseMessage= "Test Failed"; 
    } 
    

希望這有助於

+0

您可以請您指點一下從您的評論的第2點開始做的指南。基本上我已經放在我的jar uder lib \ ext文件夾但不知道如何導入類和調用方法。 – Pratik

1

我已經爲JMeter寫了一個CustomThriftSampler來通過節儉服務加載測試HBase。您可以在我的博客 - http://1-st.blogspot.in/2013/12/load-testing-thrift-services-custom.html處瞭解詳細信息。無法創建通用代碼。無論如何,它的簡單和starightforward Java代碼。任何人都可以嘗試。如果時間允許,我會寫一個通用的代碼,並承諾github!