调优有两种情况,一种是系统部署之初的调优规划,需要根据项目特点和硬件特点以及估算的TPS进行基本调优,另外一种就是系统出现了性能瓶颈而针对性的进行排查调优。本文只是介绍常规的调优操作,供同仁参考。
JVM 调优
JVM 调优需要有一定的 JVM 相关知识基础,需要了解堆栈内存,了解jvm 垃圾收集器,了解jvm 性能监控常用工具,能够读懂gc日志 等,推荐如果不了解的话,先去读一下相关的书籍。
jdk8 参考JVM 配置:
JDK 1.8中 PermSize 和 MaxPermGen 已经无效。JDK 1.8 中已经不存在永久代的结论,而以 元空间 代替。推荐的JVM参数:
-Xms2G -Xmx2G -Xmn256m -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -Xss256k \
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled \
-XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails \
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/appl/gc.log \
-XX:CMSInitiatingOccupancyFraction=