Я использую Tomcat 8.5 для размещения WAR, который используется для служб REST java.
В моей службе отдыха я создаю соединение и беру файл данных из нескольких частей.от пользователя, отсканируйте его с помощью модуля сканирования и верните результат.В начале, tomcat работает нормально и дает скорость почти 57-58 Мбит / с, но со временем ухудшается (снижается почти до половины за 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-->
Поскольку мой ответ является полностью динамичным.Я не использую никакой тип кэширования .Пожалуйста, помогите мне с этим вопросом.