ps:感觉这一章满满的知识,所以记了大部分
Tomcat性能调优
主要有JVM优化和Tomcat配置两个方面
一、JVM优化
JVM优化的重点集中在内存分配、GC策略调整上,因为JVM垃圾回收机制会不同程度地导致程序运行中断。选择不同的垃圾回收策略,调整JVM以及垃圾回收参数,可以极大地减少垃圾回收次数,提升垃圾回收效率,从而改善程序运行性能。
JVM垃圾回收性能主要有以下两个主要度量:
- 吞吐量:工作时间(排除GC时间)占总时间的百分比
- 暂停:测量时间段内,由垃圾回收导致的应用程序停止响应测次数。
JVM支持的性能相关选项(JDK8)【表格中红色字皆为具体数字值】
选项 |
描述 |
-Xmssize |
初始堆的大。如不指定,初始化大小为分配的年轻代、老年代之和 |
-Xmxsize |
最大堆内存。对于服务器端部署,-Xms和-Xmx经常设置为同一个值,这样可以节省程序运行过程中调整堆内存分配的耗时 |
-Xmnsize |
年轻代的初始值及最大值,官方推荐该值为堆内存的1/4—1/2之间 |
-XX:NewSize=size |
年轻代的初始值 |
-XX:MaxNewSize=size |
年轻代的最大值 |
-XX:MetaspaceSize=size |
元数据空间的初始值。持久代在JDK8被移除,因此-XX:PermSize禁用 |
-XX:MaxMetaspaceSize=size |
分配用于类元数据的本地内存上限,默认不受限制。持久代在JDK8被移除,因此-XX:MaxPermSize禁用 |
-Xsssize |
线程栈大小。默认值与平台相关【Linux/x64(64位):1024KB】 |
-XX:ThreadStackSize=size |
等价于-Xss |
-XX:NewRatio=ratio |