JBOSS wildfly 10使用Jmeter进行性能调整

问题描述:

这是关于使用JMETER工具来测试REST API并检查吞吐量的。JBOSS wildfly 10使用Jmeter进行性能调整

我是使用JMETER工具的新手。

来到我的应用程序,它是一个简单的REST API,它根据几个条件将XLS文件转换为JSON格式的数据。 这是在服务器上运行(WildFly V10)。

配置在我的JMeter:
线程数:1000
加速时间:10
循环计数:1

的吞吐量保持以每秒10-12命中不变。

我也没有,如下图所示在standalone.xml文件不同的子系统JBOSS wildfly服务器10几个配置设置:

1) Configuring undertow subsystem: 
modified the default max http connections from 10 to 100 till 1000 
<http-listener name="default" **max-connections="1000"** socket-binding="http" redirect-socket="https" enable-http2="true" buffer-pipelined-data="true" /> 

2) Setting io subsystem: 
configured io-threads and max-threads from 10 to 100 till 1000 
<worker name="default" **io-threads="100" task-max-threads="100"** /> 

3) Configured standalone.conf file for JAVA VM options 
OLD: JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true" 
NEW: **JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m** -XX:NewRatio=2 -XX:PermSize=64m -Djava.net.preferIPv4Stack=true" 

4) Configuring infinispan subsystem: 
which has a <cache-container> to configure the thread pool execute in the thread subsystems. It governs the allocation and execution of runnable tasks in the replication queue. 

5) Tried running my application on remote system having **64 GB RAM** and the 3rd configuration mentioned above. 

6) Configuring high value for core threads in JCA subsystem 
**<core-threads count="50"/>** in subsystem urn:jboss:domain:jca:4.0 

所有这些配置没有帮助我提高吞吐量。

任何人都可以帮助我理解在通过JMETER进行测试时实际上需要修改或配置的服务器的吞吐量。

+0

如果设置Ramp-up time = 0,它将同时发送所有请求 – user7294900

+0

另请参见https://*.com/questions/5018846/testing-with-jmeter-how-to-run -n-requests-per-second/5786999#5786999 – user7294900

+0

嗨user7294900, 我尝试使用Ramp-upTime = 0,但吞吐量降低到每秒5-6点。请查找摘要报告: –

有太多的可能原因,我仅列出几个最常见的建议:

  1. 你的机器运行JBoss简单超载和更快,因为平庸缺乏CPU或免费RAM或密集交换的无法回应管他呢。确保您在测试运行时监控测试资源中的应用程序,这不仅可以让您将增加的负载与增加系统资源利用率相关联,而且您还可以判断响应时间是否与缺乏硬件容量。您可以使用JMeter PerfMon Plugin将监视与JMeter测试集成在一起,查看How to Monitor Your Server Health & Performance During a JMeter Load Test了解插件安装和使用的更多详细信息
  2. JMeter负载生成器可能会受到相同的影响,并且会对吞吐量指标产生同样的影响:如果JMeter无法发送请求的速度足够快,被测试的应用程序将无法更快回复,因此在某些情况下,JMeter本身就是瓶颈,因此请确保您遵循JMeter Best Practices,并且JMeter具有足够的空间以从硬件资源角度进行操作。对JMeter负载生成器应用相同的监控,并在任何指标超过90%阈值时关注CPU,RAM,网络和磁盘使用情况 - 这是您使用单个JMeter实例可以实现的最大负载。
  3. 重新运行负载测试,但是这次使用探查器工具遥测(例如JProfilerYourKit),这将允许查看最耗费资源和最耗时的方法,以便您可以确定哪些代码部分需要优化。