Java – JBoss cannot handle more than 3000 requests

I created a client and server web service I thought about doing a performance test I tried a JMeter with a sample test plan to execute it Up to 3000 requests, JBoss processes the request, but when the request exceeds 3000, some requests are not processed (in the sense of unable to open the connection: the connection is rejected) I have to make changes at the same time to process more than 10000 requests Is it JBoss or system throughput?

JMeter configuration: 300 threads, 1 second acceleration and 10 cycles

System (server configuration): Windows 7,4g RAM

Solution

The 10000 concurrent requests in Tomcat (I believe it is used in JBoss) are quite a lot In a typical setup (using a blocking IO connector), one thread is required for each HTTP connection This is too much for an ordinary JVM On a 64 bit server computer, a thread needs 1 MIB (check out the - XSS parameter) And you only have 4 gib

Moreover, number of context switches will kill your performance You need hundreds of cores to handle all these connections effectively If your request is I / O or database binding – you will see bottlenecks elsewhere

Having said that, you need a different approach Try non - blocking I / O or asynchronous servlets (starting with 3.0) or... Scaling out By default, Tomcat can handle 100-200 concurrent connections (reasonable default), and the number of queued connections is similar All of the above are rejected, and you may be experiencing this

You can also have a look

> Advanced IO and Tomcat > Asynchronous Support in Servlet 3.0

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>