`

jmeter对udp接口压测

阅读更多

1.下载JMeter 

http://jmeter.apache.org/download_jmeter.cgi

 

2.下载插件 

https://jmeter-plugins.org/downloads/all/

Download plugins-manager.jar and put it into lib/ext directory, then restart JMeter.

就是把这个文件放到apache-jmeter/lib/ext目录下

 

3.JMeter3添加UDP插件

启动JMeter ,选项 - plugins-manager - Available plugins - UDP Protocol Support

 

4.JMeter2添加UDP插件

注意如果是JDK 6 只能使用Jmeter2,并且下载下面三个包

JMeterPlugins-ExtrasLibs-1.1.3.zip,

JMeterPlugins-Extras-1.1.3.zip,

JMeterPlugins-Standard-1.1.3.zip

.将上述三个压缩包中的 lib文件夹 覆盖 jmeter目录下的lib文件夹

 

 5.jp@gc-UDP Request中Data Encode/Decode class中内容

可以选择下面三种

 

Full Class Name Comments  
kg.apc.jmeter.samplers.HexStringUDPDecoder This is most useful implementation, converts data from/to HEX-encoded sequences. For example, 6a6d6574657220706c7567696e73 corresponds to jmeter plugins.  
kg.apc.jmeter.samplers.DNSJavaDecoder This implementation requires Extras With Libs Set to be installed. Request data must contain three fields, separated with spaces: name, type, class. Example: www.com. A IN. Response data converted to text using DNSJava. Request flags can be set using +/- integer value on new line, eg 7 sets reqursion desired flag.  
kg.apc.jmeter.samplers.UDPSampler This implementation used as default when no valid class name specified in GUI. It makes no conversion on data.  

 我用的  kg.apc.jmeter.samplers.UDPSampler

 

 

6.结果乱码

选择处理器按右键,选添加-后置处理器-BeanShell PostProcessor,script中填入

 

prev.setDataEncoding("UTF-8");

 

 

7.非GUI模式压测 

将压测用例保存到bin目录下 *.jmx文件,./jmeter.sh -n -t mytest.jmx -l mytest.jtl

 

8.参看*.jtl结果

随便找个地方新建聚合报告,选择文件处选择目标JTL文件

 

9.建议

第一次压测的时候可以考虑添加断言,1个线程跑几次的方式测试返回结果是否正确,因为通过添加“观察结果树”选择*.jtl文件,结果也是空的。不能排除有返回但结果不是预期的情况。

压测与内存和CPU均有关系,压测时需要注意线程数,有文献指出服务器端线程数应为CPU核数+1。压测端可以在线程组中设置Ramp-Up Period(in seconds) 全部线程启动完成时间和调度器设置中的持续时间,将两个时间拉长,基本可以从输出中观察到线程与tps的关系。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics