春季应用程序在雄猫服务器上的高 CPU 利用率



我们有一个基于Spring构建的Java应用程序。我们在具有以下配置的服务器上运行它。

总内存 : 32GB

处理器数量 : 8 核 ( 英特尔® 至强 (R( 铂金 8259CL CPU @ 2.50GHz(

对于数据库,我们使用 AWS MySQL aurora。

我们正在使用以下server.xml配置和setenv.sh配置在 tomcat 8 服务器上部署我们的应用程序战争。

server.xml

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="20" maxIdleTime="60000" />
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="60000"
keepAliveTimeout="15000"
maxKeepAliveRequests="1"
redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1"
connectionTimeout="3000000"
SSLEnabled="true"
sslEnabledProtocols="TLSv1.2"
scheme="https"
compression="on"
secure="true"
compressionMinSize="1024"
noCompressionUserAgents="gozilla, traviata" useSendfile="false"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,text/css,img/png"/>

setenv.sh

export CATALINA_OPTS="$CATALINA_OPTS -Xms2048m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx6144m"
export CATALINA_OPTS="$CATALINA_OPTS -Xss512k"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=512m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParallelGC"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxGCPauseMillis=1500"
export CATALINA_OPTS="$CATALINA_OPTS -XX:GCTimeRatio=9"
export CATALINA_OPTS="$CATALINA_OPTS -server"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+DisableExplicitGC"

使用上述配置,当我们对大约 40 个用户执行负载测试时,CPU 利用率将达到 90% 以上,然后服务器变得无响应。

我对性能调优很陌生,在雄猫方面也没有太多的专业知识。 谁能帮我理解这一点?

谢谢!

飞行记录器可以帮助您诊断性能问题和优化:

https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm

最新更新