gpt4 book ai didi

java - Tomcat 8 速度随着时间的推移而降低

转载 作者:行者123 更新时间:2023-11-28 22:24:44 26 4
gpt4 key购买 nike

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

在我的休息服务中,我创建一个连接并从用户那里获取一个多部分表单数据文件,使用扫描引擎扫描它并返回结果。一开始,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-->

因为我的回应是完全动态的。我没有使用任何类型的缓存。请帮我解决这个问题。

最佳答案

这可能是由于大量打开的tcp/ip连接导致的错误。尝试与服务器连接一次,当您发现性能下降时发送数据检查套接字。

在 Windows 中,您可以使用 netstat-an 检查打开的套接字。

关于java - Tomcat 8 速度随着时间的推移而降低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52382950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com