一、Tomcat 运行模式介绍
Tomcat Connector(Tomcat连接器)有 bio、nio、apr 三种运行模式,那么这三种运行模式有什么区别呢,我们又如何选择Tomcat Connector的运行模式来提高Tomcat的运行性能呢?
1.1 bio模式
bio(blocking I/O),顾名思义,即阻塞式 I/O 操作,表示 Tomcat 使用的是传统的 Java I/O 操作 (即 java.io 包及其子包)。Tomcat 在默认情况下,就是以 bio 模式运行的。遗憾的是,就一般而言,bio 模式是三种运行模式中性能最低的一种。
1.2 nio模式
nio(new I/O),是 Java SE 1.4 及后续版本提供的一种新的 I/O 操作方式 (即 java.nio 包及其子包)。Java nio 是一个基于缓冲区、并能提供非阻塞 I/O 操作的 Java API,因此 nio 也被看成是 non-blocking I/O 的缩写。它拥有比传统 I/O 操作 (bio) 更好的并发运行性能。
1.3 apr模式
apr(Apache Portable Runtime/Apache可移植运行时),是 Apache HTTP 服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP 服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。Tomcat apr也是在Tomcat上运行高并发应用的首选模式。
1.4 怎么查看Tomcat运行模式
Tomcat 启动完成后,在底部会看到运行模式字样。如下图:http-apr-9090
总结:
1、性能排序:bio<nio <apr
2、Tomcat从7.30版本开始,默认都是apr模式,所以不用去学习如何修改模式
二、内存优化
1、JVM相关的参数含义
-server:表示启用 JDK的 server 版本;
-Xms:堆的最小内存(一般与Xmx配置为相同值,这样的好处是GC不必再为扩展内存空间而消耗性能);
-Xmx:堆的最大内存;
-Xmn:堆的新生代大小;
-XX:PermSize:永久代大小;
-XX:MaxPermSize:永久代大小最大值;
2、Tomcat指定JVM参数
Linux下修改 TOMCAT_HOME/bin/catalina.sh,在其中加入,可以放在 CLASSPATH = 下面(有的时候图方便,直接放在文件的第二行):
JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xmn512m -XX:PermSize=512M -XX:MaxPermSize=1024m "
windows 下修改 TOMCAT_HOME/bin/catalina.bat,在其中加入,可以放在 set CLASSPATH = 下面(有的时候图方便,直接放在文件的第二行):
set JAVA_OPTS=-server -Xms2048m -Xmx2048m -Xmn512m -XX:PermSize=512M -XX:MaxPermSize=1024m
3、xmx到底要设置多大合适?
- 这里需要测量出Java年老代存活对象大小!!!
- JVM 内存大小设置公式:
- 首先用工具测量出FullGC后,年老代活存对象的大小(多次取平均)。
- 年老代内存=年老代存活对象的2-3倍
- 年轻代内存=年老代存活对象的1-1.5倍
- 堆内存xmx=xms=年老代+年轻代
- 永久代=年老代存活对象的1.2-1.5倍
- 总内存设置不能超过物理内存的80%
4、Java年老代存活对象的测量
JVM参数中添加GC日志,GC日志中会记录每次FullGC之后各代的内存大小,观察老年代GC之后的空间大小。可观察一段时间内的FullGC之后的内存情况,根据多次的FullGC之后的老年代的空间大小数据来预估FullGC之后老年代的存活对象大小(取平均值)
5、如何触发FullGC ?
使用jmap工具可触发FullGC。
(一)jmap -dump:live,format=b,file=heap.bin <pid> 将当前的存活对象dump到文件,此时会触发FullGC
(二)jmap -histo:live <pid> 打印每个class的实例数目,内存占用,类全名信息.live子参数加上后,只统计活的对象数量。此时会触发FullGC
总结:
- 参数设置时,注意linux下是有单/双引号的,windows下没有
- 参数的设置和顺序没关系
- 有的同学可能会把参数加在:startup.sh/bat文件中,也没关系
- 堆内存不足,会报:java.lang.OutOfMemoryError: Java heap space 错误
- 永久代内存不足,会报:java.lang.OutOfMemoryError: PermGen space 错误
- 堆内存xmx=年轻代大小xmn+年老代大小
总结:
在内存相对紧张的情况下,可以按照上述的方式来进行内存的调优。内存相对宽裕的时候,可以相对给服务多增加一点内存,可以减少GC的频率,GC的耗时相应会增加一些。一般要求低延时的可以考虑多设置一点内存,对延时要求不高的,可以按照上述方式设置较小内存。
------------END--------------
文章来源: 松勤网
-
七个字的歌名:https://www.nanss.com/shenghuo/12038.html 大学生党校学习总结:https://www.nanss.com/xuexi/13553.html 作风自查报告:https://www.nanss.com/gongzuo/13515.html 游学校作文400字:https://www.nanss.com/xuexi/13026.html 云顶之弈名字:https://www.nanss.com/mingcheng/12458.html 情侣名王者荣耀:https://www.nanss.com/mingcheng/12229.html 企业催款函:https://www.nanss.com/gongzuo/13049.html 新员工培训方案:https://www.nanss.com/gongzuo/13264.html 少年风采作文:https://www.nanss.com/xuexi/11560.html 大一个人总结300字:https://www.nanss.com/xuexi/12676.html 感谢老师辛苦负责的话:https://www.nanss.com/xuexi/12571.html 入党谈话:https://www.nanss.com/xuexi/13301.html 散文诗精选:https://www.nanss.com/xuexi/12284.html 优秀作文开头结尾:https://www.nanss.com/xuexi/11345.html 高考计划:https://www.nanss.com/xuexi/12764.html 心得作文400字:https://www.nanss.com/xuexi/13707.html 关于旅游的作文:https://www.nanss.com/xuexi/13950.html 推优入党发言稿:https://www.nanss.com/xuexi/12612.html 超帅网名:https://www.nanss.com/mingcheng/11712.html 文化遗产有哪些:https://www.nanss.com/wenti/11537.html 张桂梅事迹心得体会:https://www.nanss.com/gongzuo/12919.html 爱一个人的表现:https://www.nanss.com/shenghuo/11446.html 四字女生网名:https://www.nanss.com/mingcheng/11784.html 前行的力量作文:https://www.nanss.com/xuexi/12021.html 茶叶销售的技巧:https://www.nanss.com/gongzuo/11163.html 入党政审材料:https://www.nanss.com/gongzuo/13477.html 太好玩了作文:https://www.nanss.com/xuexi/11722.html 行为习惯主题班会:https://www.nanss.com/xuexi/13579.html 工人入党申请书:https://www.nanss.com/gongzuo/13493.html 七月的天山教学反思:https://www.nanss.com/xuexi/13363.html(0) 回复 (0)
-
三周年纪念日文案 表达用心服务的金句 高情商夸女孩子漂亮短句 从此造句 儿子帅气的朋友圈说说 适合发朋友圈的春天文案 感悟年轻不懂事的句子 美甲朋友圈配文案 适合发朋友圈的装修广告 带点脾气的霸气句子 笔名女生气质 孤勇者歌词 给老师的一封信六年级下册 离开家乡不舍心情说说 对老公的爱表达的句子 宵夜吃什么 属兔人永远最旺的颜色 孤独的最高境界一句话 飞向蓝天的恐龙小练笔仿写 一地鸡毛的人生感悟精辟句子 对公婆表达感恩的句子 高情商女劝男人少喝酒 女生网名ins高级质感 晒娃小短萌句八个字 赞美夕阳晚霞的诗句 一代人有一代人的长征 人穷被看不起的句子 给自己取个独特的昵称 快手文案短句 敬酒词怎么说又大方又简单(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)
-
讨债公司 搬家公司 蓝月传奇辅助(0) 回复 (0)