tomcat jvm性能调优

一直在学习和研究jvm的内存分布和垃圾回收算法及各种垃圾回收器,学过之后决定动手实践一下真实的运用到项目上。

服务器信息:

4核,8G内存,阿里云服务器

tomcat7 ,jdk8,真实运行的项目,测试的地址包含数据库查询和网络访问

压测工具:siege


优化前使用tomcat对jvm内存和垃圾回收器默认设置,仅加了打印gc回收日志的信息配置,在catalina.sh最上面配置,配置信息如下

JAVA_OPTS='-XX:+PrintGCDetails -Xloggc:/var/logs/gc.log'


优化后的tomcat配置了jvm为server,内存为2G,元空间(metaspace)为256M,老年代使用cms垃圾回收器,年轻代垃圾回收器使用默认配置,配置信息如下:

JAVA_OPTS='-server -Xmx2048m -Xms2048m -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -XX:+UseConcMarkSweepGC  -verbose:gc -XX:+PrintGCDetails -Xloggc:/var/logs/gc.log'


使用siege工具对测试地址进行500同时并发100次循环的操作,连续操作两次命令如下:

siege -c 500 -r 100 http://127.0.0.1:8080/service/manage/tokenInfo.do?uid=H110119


优化前后siege两次操作结果对比,如图


优化前后jvm回收器回收情况结果对比,如图:


通过日志信息进行每次gc和fullgc时间计算对比,如图




结果总结:

对tomcat的jvm参数设置优化以后,测试同一个地址,平均响应时间变短,并发访问数量增加,fullgc时间明显变短

缺点:使用cms回收器对cpu资源使用比较大,默认使用(cpu数+3)/4个线程来处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值