tomcat优化,测试

Linuxnetos

tomcat优化,测试

1.开启压缩功能
问题:
正式环境中,招采系统登录后,点击待办事项后发现打开时间很长,浏览器F12看了下,发现有一个js文件打开时间过长http://zcsys.zcpt.sxjkzhgk.com.cn:88/front/kindeditor/kindeditor-all.js
由于有大量的客户使用系统,导致大面积用户点不开,需要优化下tomcat,开启压缩功能。kindeditor-all.js这个文件有120kb

解决
进去到conf/server.xml
<Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
                redirectPort="8443" 
		compression="on"   
                compressionMinSize="50" 
                noCompressionUserAgents="gozilla, traviata"
 compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain""/>

(1)compression="on" 开启压缩 默认为off
(2)compressionMinSize="50"  启用压缩的输出内容大小,默认为2KB,这里是50kb
(3)compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型需要压缩


2.测试
统计tomcat实时请求并发数
netstat -antp | grep 8080 | awk '{print $4}'| grep 8080 |wc -l
netstat -na|grep ESTABLISHED|grep 8080| wc -l

统计tomcat进程中的线程数
ps -elf $PID| wc -l

打印heap的概要信息,GC使用的算法,heap(堆)的配置及JVM堆内存的使用情况
jmap -heap `ps -elf |grep java | awk '/tomcat/{print $4}'`


3.jvm优化
生产环境16G内存
JAVA_OPTS="-Xms4096m -Xmx4096m -Xss512K  -XX:PermSize=256m -XX:MaxPermSize=4096m"

堆内存分配:
JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;
JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。
默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;
空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
因此服务器一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小

非堆内存分配:
-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;
-XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4