Java Tomcat由于大量请求而挂起

Java Tomcat由于大量请求而挂起,java,mysql,tomcat,grails,Java,Mysql,Tomcat,Grails,我有一个部署在ApacheTomcat服务器中的Grails应用程序。一切正常,但有时应用程序会连续收到大约100-200个请求(由于API集成,这些请求都是由API发送到我的应用程序的,也在几分钟内,而不是由我的应用程序发送到API),tomcat开始挂起(尽管没有错误) 请求主要是从使用的API发送的数据执行一些小的DB更新 我有办法处理这个问题吗?任何jvm设置或任何代码更改都可以处理此问题?您需要增加tomcat服务器中的最大线程数 <Connector port="8080" a

我有一个部署在ApacheTomcat服务器中的Grails应用程序。一切正常,但有时应用程序会连续收到大约100-200个请求(由于API集成,这些请求都是由API发送到我的应用程序的,也在几分钟内,而不是由我的应用程序发送到API),tomcat开始挂起(尽管没有错误)

请求主要是从使用的API发送的数据执行一些小的DB更新


我有办法处理这个问题吗?任何jvm设置或任何代码更改都可以处理此问题?

您需要增加tomcat服务器中的最大线程数

<Connector port="8080" address="localhost"     
     maxThreads="250" <!-- here -->
      maxHttpHeaderSize="8192"
     emptySessionPath="true" protocol="HTTP/1.1"
     enableLookups="false" redirectPort="8443" acceptCount="100"
     connectionTimeout="20000" disableUploadTimeout="true" />

在增加NIO线程限制之前,请确保您的
I'O
操作能够处理负载。如果
I/O
操作无法处理加载线程,它将再次迅速堆积起来,并且由于DB的背压,它将达到NIO线程限制的阈值。

谢谢…我将尝试此操作。我们可以将此值增加到400或500左右吗。这会对内存造成影响吗?这取决于在投入生产之前,首先尝试在暂存服务器上工作。谢谢,我检查了一下,看看它在1000个MaxThreads之前是如何工作的。它工作得很好,因为我们没有达到峰值,但是如果您运行的是4核(3.x GHZ)或更多的服务器,我认为它会很好