Jvm_Tomcat_优化完整版.docx

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Jvm_Tomcat_优化完整版

Tomcat/jvm 优化完整版一 摘要总体效果:基本消除了FGC,降低了gc频率,减少了gc耗时,feeds混跑前端性能提升7%-,friendship前端性能相差不大。1.1 feeds混跑前端机最终线上最佳参数如下:-Xms8g -Xmx8g -Xmn2g -DServer=mblog -XX:PermSize=512m?-XX:MaxTenuringThreshold=4 -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=8 -XX:CMSInitiatingOccupancyFraction=70 -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+PrintFlagsFinal -XX:+PrintCommandLineFlags -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:./gc.log通过在测试环境和线上的不同参数的反复测试,最终得到线上最优jvm参数。对于feeds混跑的前端机,线上环境只有7%-的提升(测试环境有8-21%的性能提升,主要是测试接口不同引起)。线上最佳参数:系统minor GC减少 (2706.3-1164.4)/ 2706.3=56.97%, gc耗时减少:(53.07-35.01)/ 53.07=34.03%,快响应总体增加7%,总体性能提升;同时没有FGC,避免了系统每小时6s+的“stop the word”的情况;通过调整Tenuring threshold,减少了minor gc耗时,缓解了因young gen增大而导致的minor gc增加的问题。1.2 friendship前端机最佳参数-Xms8g -Xmx8g -Xmn1g?-DServer=mblog?-XX:PermSize=256m?-XX:MaxTenuringThreshold=4?-XX:+UseConcMarkSweepGC -XX:SurvivorRatio=8 -XX:CMSInitiatingOccupancyFraction=80 -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:+PrintFlagsFinal -XX:+PrintCommandLineFlags -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:./gc.log分析:由于friendship的都是快速轻量级接口,调优后总体效果并不明显。但是通过调优,达到如下效果:1)消除了full gc,减少了长停顿;2)调低了MaxTenuringThreshold,从而减少了minor gc的搬运消耗,增加了短耗时gc的比例;3) ExplicitGCInvokesConcurrentAndUnloadsClasses 避免了perm区累计而导致的full gc。二 测试分析2.1 测试指标2.1 online jvm 1(default)测试环境:tc155,8核,12g1 jmeter参数num_threads:502 tomcat_jvm-Xms8g -Xmx8g -Xmn1g -DServer=mblog -XX:+UseConcMarkSweepGC -server -XX:SurvivorRatio=5 -XX:CMSInitiatingOccupancyFraction=80 -XX:+PrintTenuringDistribution?-XX:+PrintGCDetails?-XX:+PrintGCTimeStamps?-XX:+PrintGCApplicationStoppedTime?-XX:+PrintGCApplicationConcurrentTime?-Xloggc:./gc.log3 heap占用情况及fgc 耗时分析heap占用情况如下。由于tomcat 的bug,每个小时调用一次System.gc,可以看到在每个小时会有一次full gc时,fgc时总

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档