【发布时间】:2018-01-29 09:34:55
【问题描述】:
这是关于使用 JMETER 工具测试 REST API 并检查吞吐量。
我对使用 JMETER 工具非常陌生。
来到我的应用程序,它是一个简单的 REST API,它可以根据几个条件将 XLS 文件转换为 JSON 格式的数据。 这是在服务器(WildFly V10)上运行的。
我的 JMETER 中的配置:
线程数:1000
加速时间:10
循环数:1
吞吐量保持不变,每秒点击 10-12 次。
我还在 standalone.xml 文件中为不同子系统对 JBOSS wildfly server 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 进行测试时,任何人都可以帮助我了解实际必须修改或配置哪些内容以增加我的服务器的吞吐量。
【问题讨论】:
-
如果你设置 Ramp-up time = 0 它将同时发送所有请求
-
您好 user7294900,我尝试使用 Ramp-upTime =0,但吞吐量降低到每秒 5-6 次命中。请查找摘要报告:
-
http_get 1000 131487 79913 175402 30378.20134796648 0.0 5.637518815219045 213.95044550492437
-
上面注释中的粗体是吞吐量,1000是同时运行的样本。
标签: performance jakarta-ee jboss jmeter wildfly-10