jmeter是个很小巧的压测工具,一般的压测场景都能搞定。但是压测时,可能某些接口需要签名、鉴权。这时候就需要一些加密算法了,jmeter虽然也自带了一些函数,但是没有加解密函数,不过jmeter却提供了用户自定义脚本的方法,除了自己写java request外,还有另一中更简单的方法,就是bean shell,我们可以使用BeanShell PreProcessor这个前置处理器。
继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1280
jmeter是个很小巧的压测工具,一般的压测场景都能搞定。但是压测时,可能某些接口需要签名、鉴权。这时候就需要一些加密算法了,jmeter虽然也自带了一些函数,但是没有加解密函数,不过jmeter却提供了用户自定义脚本的方法,除了自己写java request外,还有另一中更简单的方法,就是bean shell,我们可以使用BeanShell PreProcessor这个前置处理器。
继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1280
使用jmeter压测一个web接口的时候,踩了一个小坑,记录下来,要压测一个http接口,此接口有权限控制、需要签名(几个参数取md5),在jmeter提供的函数中未找到md5的函数,所以自己写了个java request来实现签名算法,详细代码如下:
继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1263
很多场景下,Jmeter都是用作HTTP服务的压测工具。其实,得益于插件,jmeter还有很多其他的功能。其中一条就是用来发送UDP消息,UDP是一种轻量级的网络协议,它的性能一般会很高。
最常用的UDP消息,估计就是dns请求了。DNS服务器的作用是将域名解析成ip地址。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1077
jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行。简单介绍下命令行运行的方式:
sh jmeter.sh -n -t my-script.jmx -R 10.6.5.31,10.6.5.35,10.6.5.36,10.6.5.37,10.6.5.72 -l 8.jtl
上面一条命令应该可以满足大部分需求。
-n:使用命令行模式运行
-t:指定要运行的jmx脚本
-R:指定使用那些slave节点压测
-l:压测记录保存在哪里
使用-R
指定节点时,当然要首先在这些节点上启动jmeter-server的服务,-l
指定日志,jmeter运行过程中 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1051
Jmeter是个纯java的开源的轻量级性能测试工具,功能强大。因为是轻量级的,与loadrunner相比,报告统计的相对较少。不过有jmeter的插件-JMeterPlugins,可以提供不少其他的报告,包括各种响应时间、吞吐率、线程等的变化曲线等https://www.yeetrack.com/?p=858。
并且这个插件提供了命令行工具,可以将我们看到的各种曲线,各种报告统计成png图片,或者csv文件。这样我们就完全可以通过命令行来运行jmeter,生成jtl文件,然后在解析jtl文件,产生各种报告,或者展示到网页,或者插入到数据库,等等。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1028
使用jmeter Gui时可以很方便的配置远程节点,来分布式地压测,具体方法,不在描述。现在来说使用jmeter-maven-plugin这个插件如何配置分布式。
通过这个<startServersBeforeTests>标签,可以将–runremote命令发送到jmeter.properties中配置的节点机器上,来开启远程服务。
通过这个<stopServersAfterTests>标签,可以将–remoteexit命令发送到jmeter.properties中配置的节点机器上,来关闭远程服务。
<startServersBeforeTests> 和 <stopServersAfterTests>标签可以分开使用,因此我们可以通过其他进程来开启和关闭jmeter的远程服务。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=916
jmeter-maven-plugin插件默认在每个jtl结果文件的文件名中添加时间戳。如果你不想要这个时间戳,可以通过设置<testResultsTimestamp>标签来禁用。样例如下:
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
<testResultsTimestamp>false</testResultsTimestamp>
</configuration>
</execution>
</executions>
</plugin>
转载请保留链接地址: https://www.yeetrack.com/?p=914
在pom.xml文件中可以指定运行哪些jmx脚本。
Jmeter默认运行${project.base.directory}/src/test/jmeter文件夹中的所有脚本,下面是示例。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
转载请保留链接地址: https://www.yeetrack.com/?p=912