首先 环境是
1.系统:ubuntu linux
2.内存 :8G
3:CPU核数:4
闲余时间,尝试了对服务器的优化!有更好的方案,请不吝赐教!
第一步:开启Apr 模式,从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高并发应用的首选模式
第二步:优化 tomcat server.xml
<Executor
name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="10000"
minSpareThreads="2000"
maxSpareThreads="2000"
maxIdleTime="60000"
prestartminSpareThreads = "true"
maxQueueSize = "1000"
/>
<Connector port="80" protocol="org.apache.coyote.http11.Http11AprProtocol"
redirectPort="8443"
connectionTimeout="60000"
maxConnections="10000"
enableLookups="false"
acceptCount="1000"
maxPostSize="10485760"
maxHttpHeaderSize="8192"
compression="on"
disableUploadTimeout="true"
compressionMinSize="2048"
acceptorThreadCount="2"
compressableMimeType="text/html,text/plain,text/css,application/javascript,application/json,application/x-font-ttf,application/x-font-otf,image/svg+xml,image/jpeg,image/png,image/gif,audio/mpeg,video/mp4"
URIEncoding="utf-8"
processorCache="20000"
tcpNoDelay="true"
connectionLinger="5"
server="Server Version 11.0"/>
第三步:在 tomcat 中 catalina.sh 添加
JAVA_OPTS="$JAVA_OPTS -server -Xms3G -Xmx3G -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/aaa/dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/usr/aaa/dump/heap_trace.txt -XX:NewSize=1G -XX:MaxNewSize=1G"
第四步: 因为 使用jmeter 线程 1500 出现了 connection timeout 异常,查遍解决方式,发现了 一篇文章
https://www.jb51.net/article/111163.htm
虽然照做了,可是当使用jemeter 1500线程测试接口时, 依然有一部分发生连接超时的 错误,总体来说,提升幅度不大,没感受到飞一样的提升,得继续研究