2013-10-30 227 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!