Использование процессора Tomcat AWS выше ожидаемого
Недавно мне поставили задачу переместить приложение Java, размещенное на Tomcat, которое мы написали 3-4 года назад и которое работало в центре обработки данных клиентов, в AWS. Сейчас мы находимся в процессе нагрузочного тестирования, и около 20% всего трафика направляется в AWS, около 800 запросов в минуту, причем большинство из них являются запросами сердцебиения, что я бы назвал небольшим объемом трафика. При таком объеме трафика мы наблюдаем среднюю загрузку ЦП через 3 T2.Larges составляет 30%.
Мой вопрос: вы считаете это нормальным использованием процессора? Время отклика у нас великое, в среднем 150-200 мс, но я бы пожертвовал этим, чтобы снизить нагрузку на процессор.
Я использую разъем NIO, и единственная конфигурация, которая у меня есть на нем, кроме вещей, связанных с SSL, это то, что я установил максимальное количество потоков в 150.
Информация о загрузке Tomcat
Server version: Apache Tomcat/8.5.30
Server built: Apr 3 2018 20:04:09 UTC
Server number: 8.5.30.0
OS Name: Linux
OS Version: 3.10.0-862.el7.x86_64
Architecture: amd64
Java Home: /usr/java/jdk1.8.0_172-amd64/jre
JVM Version: 1.8.0_172-b11
JVM Vendor: Oracle Corporation
CATALINA_BASE: /opt/tomcat
CATALINA_HOME: /opt/tomcat
Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Command line argument: -javaagent:/opt/tomcat/newrelic/newrelic.jar
Command line argument: -Dnewrelic.environment=prod
Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
Command line argument: -Xms2048M
Command line argument: -Xmx2048M
Command line argument: -XX:+UseParallelGC
Command line argument: -Xms4096M
Command line argument: -Xmx4096M
Command line argument: -Djava.net.preferIPv4Stack=true
Command line argument: -Dspring.profiles.active=prod
Command line argument: -Dignore.endorsed.dirs=
Command line argument: -Dcatalina.base=/opt/tomcat
Command line argument: -Dcatalina.home=/opt/tomcat
Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp