我有三个从属(jmeter-servers)在EC2实例上运行,在一种情况下 - (1)本地笔记本电脑上的JMeter GUI,另一个 - 另一个EC2上从命令行运行的相同测试计划(2)实例
在GUI的情况下,我可以看到吞吐量,99%等所有聚合数字 - 以及GUI。我正在使用Aggregate Report监听器创建一个jtl文件。
通过观察监控应用服务器参数(CPU使用率,内存等)的Datadog图表,我看到在命令行的情况下,EC2上的所有内容都比我的本地笔记本电脑与jmeter通信的时间高出两倍多 - 服务器,可能意味着网络成为瓶颈。所以我想在EC2上运行一切。
但是 - 当我从命令行运行时,当所有四台机器都是EC2实例时,如何访问相同的聚合数字?巨大的jtl文件包含每个事务的记录,而不是整个运行结果的聚合一行。
尝试从EC2下载该jtl并在本地笔记本电脑上的GUI中打开它会产生一些错误,而不是显示聚合数据。
我是否使用错误的侦听器来获取摘要数据? (尝试摘要报告 - 它创建了更大的jtl文件,而不是我正在寻找的那一行。)
答案 0 :(得分:0)
在这种情况下的问题是没有通过JMeter GUI运行脚本。相反,它与网络有关。
我在EC2环境中有类似的分布式设置,我在GUI模式下成功执行了重负载测试。就我而言,我的所有JMeter(主/从)都在EC2实例(windows环境)上运行。因此,我建议您在EC2上设置 JMeter (主),并通过GUI模式运行脚本。
如果您仍希望在命令行模式下运行,则只需在脚本在命令行上运行时传递命令即可创建jtl文件。稍后,您可以使用此JTL根据要求生成任何JMeter报告。有关详细信息,请查看..
Jmeter - Run .jmx file through command line and get the summary report in a excel
jmeter -n -t /path/to/your/test.jmx -l /path/to/results/file.jtl
请参考以下问题中的Dmitri答案以减少JTL大小。
How can we control size of JTL file while running test from Non GUI Mode