如何使用多个Jmeter服务器为分布式负载配置Jenkins

如何使用多个Jmeter服务器为分布式负载配置Jenkins,jenkins,jmeter,load-testing,stress-testing,Jenkins,Jmeter,Load Testing,Stress Testing,我使用Jmeter为我的web服务器生成巨大的负载。一些从机充当Jmeter服务器,另一个作为Jmeter主机,协调负载并从从机收集统计信息。 现在我正试图将这个系统集成到CI(Jenkins)中。 我现在就是这样做的。我有两个独立的Jenkins作业:一个是通过运行jmeter服务器来准备所有从机,另一个是运行jmeter master本身。第二部分:我成功地生成了流量并收集了统计数据。问题在于第一份工作。我有一个巨大的奴隶,可以随时重新启动。所以,我不能运行一次启动jmeter服务器的作业,

我使用Jmeter为我的web服务器生成巨大的负载。一些从机充当Jmeter服务器,另一个作为Jmeter主机,协调负载并从从机收集统计信息。 现在我正试图将这个系统集成到CI(Jenkins)中。 我现在就是这样做的。我有两个独立的Jenkins作业:一个是通过运行jmeter服务器来准备所有从机,另一个是运行jmeter master本身。第二部分:我成功地生成了流量并收集了统计数据。问题在于第一份工作。我有一个巨大的奴隶,可以随时重新启动。所以,我不能运行一次启动jmeter服务器的作业,然后忘记它。我每次都需要在Jmeter master之前运行此作业。 但在本例中,在一些机器(未重新启动)上,我有多个java进程副本(jmeter服务器副本)。 所以,我正在寻找一种机制,以正确的方式在从属节点上启动jmeter服务器。 任何想法都值得赞赏。 提前谢谢你

读一下:

它结合了:

  • 吉米特

  • Maven Lazery JMeter插件

  • 詹金斯

对于jmeter从机,您所要做的就是使用jmeter-server.sh从Jenkins启动它们,如果在同一台主机上有两个从机,您可能需要调整端口

然后从控制器中,您将引用这些主机(在此CASE中使用默认端口):

远程_hosts=test-server-1.nerdability.com、test-server-2.nerdability.com、test-server-3.nerdability.com


谢谢你的回答!在我浏览了整个互联网好几个小时之后,在stackoverflow上打扰了聪明但非常忙碌的专家们,我已经发现了这个话题:)所以,这个链接描述了如何运行测试,正如我所写的,我知道如何做。我真正想要的是准备(使用Jenkins)从节点的方法,以便能够从Jmeter master接收命令。无论如何,再次感谢你花时间来帮助我。谢谢。是的,它真的很有效。但我有大约50台奴隶机器。此外,从属节点可以重新启动。所以,我不能只运行一次jmeter服务器就忘记它。我正在寻找一种机制,在jmeter主节点启动之前,在从节点列表中的每个节点上启动jmeter服务器。目前,我使用一个单独的Jenkins作业来执行它,该作业只在每个从机上执行一个简单的命令行字符串,但这不是最好的解决方案,因为在某些框(未重新启动)上,我有两个java实例(两个jmeter服务器)在运行。我还编写了一个简单的脚本,在启动jmeter服务器之前删除所有java.exe进程,但这是一个坏主意,因为它还终止了jenkins从属进程:)如果您知道如何识别运行在box上的哪些java进程属于jmeter服务器,那么我可以通过脚本轻松杀死这些进程,它可以解决我的问题。我知道如何检查从机上运行的进程列表,以及如何杀死其中一些进程。所以,作为一个想法,我试图在jmeter服务器启动之前杀死所有java进程。但它也扼杀了Jenkins从java进程。如果您知道如何识别只与jmeter服务器相关的java进程,这可能会有所帮助。