This is regarding use of JMETER tool to test a REST API and check the throughput.
I am pretty much new to using the JMETER tool.
Coming to my Application, it is a simple REST API which converts an XLS file to JSON formatted data based on few conditions. This is run on server(WildFly V10).
Configuration in my JMETER:
Number of Threads: 1000
Ramp-up time: 10
Loop Count: 1
The throughput remains constant with 10-12 hits per sec.
I also did few configuration settings for JBOSS wildfly server 10 in the standalone.xml file for different subsystems as shown below:
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
All these configuration didnt help me increase the throughput.
Can anybody please help me in understanding what actually has to be modified or configured to increase throughput of my server when tested through JMETER.