小编典典

Tomcat 8速度会随着时间降低

tomcat

我正在使用 Tomcat 8.5 托管用于Java REST服务的WAR。

在我的rest服务中,我创建一个连接并从用户那里获取一个多部分的表单数据文件,使用扫描引擎对其进行扫描并返回结果。刚开始时,tomcat运行良好,速度接近57-58
Mbps,但随着时间的推移会降级(在5-8分钟内降为近一半)

我的setenv.bat文件看起来像这样。

"set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx5120m -XX:MaxMetaspaceSize=512m -Xincgc -server""

JVM是利用ParNewGC垃圾收集。

我的server.xml档案看起来像这样

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="100" minSpareThreads="8" maxSpareThreads="10" acceptorThreadCount="16" acceptCount="500"/>



    <!--acceptCount :The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 100.



    A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    -->
    <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" socket.rxBufSize="10000000" socket.txBufSize="3000000" socket.directBuffer="true" />
    <!-- A "Connector" using the shared thread pool-->

由于我的反应是完全动态的。我 没有使用任何类型的缓存 。请帮助我解决这个问题。


阅读 275

收藏
2020-06-16

共1个答案

小编典典

由于大量 打开的tcp / ip连接, 这可能是一个错误。请尝试一次与服务器连接,并在看到性能下降时发送套接字数据检查。

在Windows中,您可以netstat-an用来检查打开的插座。

2020-06-16