最近做tomcat7调优,做了以下工作:
调jvm参数,在tomcat目录下bin/catalina.sh 加入 export JAVA_OPTS="..."
调tomcat配置文件,在conf/server.xml,调整 Connector标签的参数, maxThread, minSpareThreads, protocol 等等,bio、nio、apr的 都使用了下。
测试工程用的是一个简单的serlvet,每次随机一百个数,做成List输出到页面上展示。
但对比了 jvm参数调整前和后,以及 tomcat配置文件参数调整前和后,测试结果都没有太大变化,
不知道该怎么继续调优了,真心求助各位!
1、tomcat层级,能做的不多,bio调整程nio,工作线程调整一下。
2、gc可以调整一下。给个参考
假如机器是2核的,4GB内存的,gc可以这样配置比较均衡。要求jdk8以上
-server
-Xms2048m
-Xmx2048m
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=256m
-Xmn1024m
-XX:+UseConcMarkSweepGC
-XX:+UseCMSCompactAtFullCollection
-XX:CMSMaxAbortablePrecleanTime=5000
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=80
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/admin/java/java.hprof
-Xloggc:/home/admin/java/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:MaxDirectMemorySize=512m
-XX:SurvivorRatio=10
-XX:+ExplicitGCInvokesConcurrent
-XX:ParallelGCThreads=2
3、业务逻辑的优化,找到性能瓶颈,是cpu密集还是内存密集等。或者需要架构优化,分库分表,追加cache等等,方法太多太多了
你这种调优是闹着玩的吧,亲?
调优你得先明确目标啊,提高吞吐量,还是降低系统延迟。然后你具体可以接受的性能指标。明确这些之后才有依据去调优么。
还有,提这个问题的时候你得输出一下目前你的性能测试结果、测试环境。
裸的页面调用,或者没啥具体逻辑的压测基本对于生产环境没啥意义,就是耍流氓啊。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。