13. @Override
14. public void setupTest(JavaSamplerContext context) { 15. System.out.println(\); 16. super.setupTest(context); 17. }
18. @Override
19. public void teardownTest(JavaSamplerContext context) { 20. System.out.println(\); 21. super.teardownTest(context); 22. }
23. @Override
24. public SampleResultrunTest(JavaSamplerContextctx) { 25. SampleResult result = new SampleResult(); 26. result.sampleStart();
27. System.out.println(\); 28. result.setSuccessful(true); 29. result.sampleEnd(); 30. return result; 31. } 32. }
1. package com.alibaba.stress.load;
2. import org.apache.jmeter.config.Arguments;
3. import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; 4. import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; 5. import org.apache.jmeter.samplers.SampleResult;
6. public class LifecycleJMeterSample extends AbstractJavaSamplerClient { 7.
8. @Override
9. public Arguments getDefaultParameters() {
10. System.out.println(\ 11. return super.getDefaultParameters(); 12. }
13. @Override
14. public void setupTest(JavaSamplerContext context) { 15. System.out.println(\ 16. super.setupTest(context); 17. }
18. @Override
19. public void teardownTest(JavaSamplerContext context) { 20. System.out.println(\ 21. super.teardownTest(context); 22. }
23. @Override
24. public SampleResult runTest(JavaSamplerContext ctx) { 25. SampleResult result = new SampleResult(); 26. result.sampleStart();
27. System.out.println(\ 28. result.setSuccessful(true); 29. result.sampleEnd(); 30. return result; 31. } 32. }
其中AbstractJavaSamplerClient是从ApacheJmeter_Java.jar 中获得。编写的类文件打包xxx.jar, 把这个Jar放到Jmeter
的解压目录下的lib/ext下。重新启动jmeter.
一次先加入线程组,和聚合报告两个组件,在聚合报告组件之前加入一个新的Sample(Java Sample ), 如图:
运行测试。可以看到控制台的输出。调整几次线程组的线程数目的控制,我们会发现我们的这个自定义类中的teardowntest和setupuptest方法都是正对线程组中的某一个线程来执行
的,线程组中线程的调用数目其实就是指runtest方法的运行次数。
Jmeter 快速入门教程(六) -- 用Jmeter测试你的EJB
作者:WhoisTester 2012-01-09 21:35
有时候,需要对EJB进行性能基准测试,这对开发非常有帮助. 有很多种方法可以这么做, 当然我们这里介绍Apache's Jmeter 来进行实验测试. 非常不幸的是, Jmeter没有提供一个现成的测试EJB的sampler, 但是我们可以很方便的自己创建一个. 这篇文章,我们用Jboss容器服务来作为ejb服务. 1) 创建一个工厂来查询你的EJB
第一件事情,我们来创建一个简单的一个工厂类用来创建EJB客户段实例.这个实例用来进行测试.
public class MyServiceFactory {
private static final Log log = LogFactory.getLog(MyServiceFactory.class); private static MyService service; private static MyServiceFactory me; private MyServiceFactory() { } static {
MyServiceFactory.me = new MyServiceFactory(); }
public static MyServiceFactorygetInstance() { return MyServiceFactory.me;
}
public MyServicegetService() { if (MyService.service == null) {
// Get the remote interface of the music search service try {
log.info(\// JNDI the old-fashioned way: Context ctx = new InitialContext();
service = (MyService)ctx.lookup(\if (service == null) {
log.error(\}
} catch (NamingException e) {
log.error(\return null; } }
return service; } }
2) 写测试类.
接下来,我们就写测试的主体class. 这个class因为是一个sampler,所以我们要继承jmeter

