JVM调优实践-Tomcat调优
调优几个重要指标
GC频率
提升每次GC的效率
准备环节
jmeter的配置
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
57FU)5AI4I0){Z@Q.png)
未压测前JVM配置
工程未调优前配置
-Xms400m
-Xmx400m
-XX:PermSize=64m
-XX:MaxNewSize=128m
-XX:MaxPermSize=128m
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:gc.log
环境配置
Tomcat在台式机上
每次压测前清除gc.log,重启Tomcat
分钟
结果分析
通过GC日志分析GC频率
根据Jmeter结果记录吞吐率,平均响应速度,等
借助工具
Jmeter,对tomcat进行压力测试,模拟用户请求
Java VisualVM,对JVM进行性能监控,做时间记录,CPU使用情况记录。
Gchisto GC日志分析工具
压测过程
第一次压测
压测前通过VisualVM看到的jvm图表
压测20分钟后
GC日志
次
次
Jmeter结果
第二次压测
增大堆内存,新生代内存,以减小GC频率
-Xms600m
-Xmx600m
-XX:PermSize=128m
-XX:MaxNewSize=200m
-XX:MaxPermSize=128m
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:gc.log
压测后GC日志
JVM图表
Jmeter结果图表
第三次压测
减少每次GC的时间
-Xms600m
-Xmx600m
-XX:PermSize=128m
-XX:MaxNewSize=200m
-XX:MaxPermSize=128m
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-Xloggc:gc.log
-Xverify:none
-XX:+UseConcMarkSweepGC 使用CMS垃圾收集器
-XX:ParallelCMSThreads=8 并行的CMS线程数为8个
-XX:+UseCMSCompactAtFullCollection 在FullGC的时候压缩内存
-XX:CMSFullGCsBeforeCompaction=0 每执行多少次FullGC,执行一次内存压缩
-XX:+UseParNewGC 新生代回收也用并行回收
GC日志
JVM图表
Jmeter压测结果
结论
通过调整JVM新生代与老年代内存占比与大小,还有GC的回收器,可以增加程序的吞吐,提高程序的处理能力。
JVM调优实践-Tomcat调优的更多相关文章
- 调优系列-tomcat调优
http://www.360doc.com/content/14/1208/13/16070877_431273418.shtml 使用JMeter对Tomcat进行压力测试与Tomcat性能调优 n ...
- Tomcat调优总结(Tomcat自身优化、Linux内核优化、JVM优化)
Tomcat自身的调优是针对conf/server.xml中的几个参数的调优设置.首先是对这几个参数的含义要有深刻而清楚的理解.以tomcat8.5为例,讲解参数. 同时也得认识到一点,tomcat调 ...
- Tomcat 调优及 JVM 参数优化
Tomcat 本身与 JVM 优化 Tomcat:调整Server.xml JVM:bat启动服务方式的话修改catalina.bat 服务式启动的话参考:http://www.cnblogs.com ...
- JVM性能调优实践——JVM篇
前言 在遇到实际性能问题时,除了关注系统性能指标.还要结合应用程序的系统的日志.堆栈信息.GClog.threaddump等数据进行问题分析和定位.关于性能指标分析可以参考前一篇JVM性能调优实践-- ...
- 深入理解JVM虚拟机10:JVM常用参数以及调优实践
转自http://www.rowkey.me/blog/2016/11/02/java-profile/?hmsr=toutiao.io&utm_medium=toutiao.io&u ...
- 服务器的tomcat调优和jvm调化
下面讲述的是tomcat的优化,及jvm的优化 Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你.对于操作系统优化来说,是尽可能的增 ...
- Tomcat调优及JMX监控
Tomcat调优及JMX监控 实验背景 ====================================================== 系统版本:CentOS release 6.5 ( ...
- 【转】Tomcat调优指南
转载地址:http://blog.csdn.net/woohooli/article/details/3954792 1 概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可 ...
- tomcat调优的几个方面(转)
tomcat调优的几个方面 和早期版本相比最新的Tomcat提供更好的性能和稳定性.所以一直使用最新的Tomcat版本.现在本文使用下面几步来提高Tomcat服务器的性能. 增加JVM堆内存大小 修复 ...
随机推荐
- Microsoft Office 2013 激活方法
Microsoft Office 2013 激活方法 Microsoft Office 2013是微软的新一代Office办公软件,全面采用Metro界面,包括Word.PowerPoint.Ex ...
- Linux&shell 之Linux文件权限
写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...
- bzoj3280
bzoj1221的变形版本,弄懂1221,这题还是很简单的 ; type node=record point,next,flow,cost:longint; end; ..] ...
- bzoj3191
其实这是一个约瑟夫问题的变种首先我们先处理这样一个问题已知n个人,编号0~n-1,每k人干掉一个,问最后留下来的是谁当n,k非常大的时候,模拟是不行的,这时候我们考虑重编号第1次退出的肯定是肯定是编号 ...
- 【模拟】CSU 1807 最长上升子序列~ (2016湖南省第十二届大学生计算机程序设计竞赛)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1807 题目大意: 给你一个长度为N(N<=105)的数列,数列中的0可以被其他数 ...
- Count the string - HDU 3336(next+dp)
题目大意:给你一个串求出来这个串所有的前缀串并且与前缀串相等的数量,比如: ababa 前缀串{"a", "ab", "aba", &quo ...
- poj 1961 Period【求前缀的长度,以及其中最小循环节的循环次数】
Period Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 14653 Accepted: 6965 Descripti ...
- 利用组策略禁用Oultook 各个版本的缓存模式!
由于缓存模式有些自己特性和企业内的管理策略原因,有些用户不希望使用缓存模式来使用Outlook.我们怎么才能禁用缓存模式呢?请参考如下做法: 首先我们从网站上下载Office 相应的管理adm软件,这 ...
- IOS中内存管理机制浅解
我们知道在程序运行过程中要创建大量的对象,和其他高级语言类似,在ObjC中对象时存储在堆中的,系统并不会自动释放堆中的内存(注意基本类型是 由系统自己管理的,放在栈上).如果一个对象创建并使用后没有得 ...
- Lucene的多域查询、结果中查询、查询结果分页、高亮查询结果和结果评分
1.针对多个域的一次性查询 1.1.三种方案 使用lucene构造搜索引擎的时候,如果要针对多个域进行一次性查询,一般来说有三种方法: 第一种实现方法是创建多值的全包含域的文本进行索引 ...