使用Apache JMeter压测Thrift
来源:互联网 发布:劳氏数据 编辑:程序博客网 时间:2024/05/16 06:28
我这里以我的一篇帖子为例子
http://blog.csdn.net/mn960mn/article/details/50476759
这里已经有服务端了,先启动服务端
首先加入maven的依赖
<dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_java</artifactId><version>2.13</version></dependency>之后,eclipse提示
The following artifacts could not be resolved: commons-math3:commons-math3:jar:3.4.1, commons-pool2:commons-pool2:jar:2.3: Could not find artifact commons-math3:commons-math3:jar:3.4.1
说是找不到依赖。我去中央仓库找,的确没有。临时的解决方法是:
先下载
org.apache.commons:commons-math3:3.4.1
org.apache.commons:commons-pool2:2.3
这两个jar到本地,然后,执行下面的命令,安装到本地maven仓库
mvn install:install-file -Dfile=d:/tmp/commons-math3-3.4.1.jar -DgroupId=commons-math3 -DartifactId=commons-math3 -Dversion=3.4.1 -Dpackaging=jar
mvn install:install-file -Dfile=d:/tmp/commons-pool2-2.3.jar -DgroupId=commons-pool2 -DartifactId=commons-pool2 -Dversion=2.3 -Dpackaging=jar
注意,这里要下载上面提示缺失的版本
安装完之后,再编译,就没有错误提示了
二:写一个类,继承Jmeter的类,在实现方法里面执行thrift的逻辑
package com.pp.client;import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;import org.apache.jmeter.samplers.SampleResult;import org.apache.thrift.TException;import org.apache.thrift.protocol.TCompactProtocol;import org.apache.thrift.protocol.TProtocol;import org.apache.thrift.transport.TSocket;import org.apache.thrift.transport.TTransport;import org.apache.thrift.transport.TTransportException;import com.pp.calc.Calculator; /** * 在用jmeter压测的时候,一个线程会有一个当前类实例 */public class ThriftClientTest extends AbstractJavaSamplerClient{private Calculator.Client calc;private TTransport transport;/** * init */public void setupTest(JavaSamplerContext context){super.setupTest(context);transport = new TSocket("127.0.0.1", 9988); try{transport.open();} catch (TTransportException e){transport.close();throw new RuntimeException(e);} TProtocol protocol = new TCompactProtocol(transport); calc = new Calculator.Client(protocol); }/** * close * 关闭相关的资源 */public void teardownTest(JavaSamplerContext context){super.teardownTest(context);transport.close();}/** * 这里就是具体调用的逻辑 */public SampleResult runTest(JavaSamplerContext context){SampleResult result = new SampleResult(); result.sampleStart(); try{System.out.println(calc.add(4, 5));result.setSuccessful(true); } catch (TException e){result.setSuccessful(false); } result.sampleEnd(); return result; } }
写完之后,执行mvn clean package打包
然后,把打包的jar和libthrift-0.9.3.jar放到 apache-jmeter-2.13\lib\ext 目录中去(如果还有其他的依赖,也需要把依赖拷贝过来)
三:启动jmeter
在新建的线程组里面新建Sampler -> Java请求
在出现的窗口中,类名称 右边的下拉框里面选择com.pp.client.ThriftClientTest
最后,配置相应的线程数,循环次数,就可以进行压力测试了
- 使用Apache JMeter压测Thrift
- Apache Thrift 使用
- Apache Thrift使用总结
- Apache Thrift使用总结
- Apache JMeter使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- Apache Thrift的简单使用
- 【Apache Thrift】Thrift的使用和编译(二)
- 【Apache Thrift】Thrift的使用和编译(二)
- Apache JMeter 压测使用
- apache-Jmeter简单使用教程
- 2015年清华大学高等数值分析(李津)第一次数值实验
- Java中有两种实现多线程的方式以及两种方式之间的区别
- PRAGMA AUTONOMOUS_TRANSACTION
- Hrbust Onlion Judge--Hrbust的校车
- java通过JDBC链接SQLServer2012
- 使用Apache JMeter压测Thrift
- listview scrollview 对scrollto 使用的困扰
- Brooks
- 给TextView中的部分文字变色和添加点击
- 银联支付也是一般比较常用的支付功能,这里简单了介绍android app如果短期快速应用这一方面的东西
- 从小猴摘桃子问题引发的斐波那契数列与递归的思考
- C语言宏与单井号(#)和双井号(##)
- Android调用拨号界面、拨打电话功能
- STL容器的size()函数的一个容易忽略的点