对项目进行优化,由于maven+ssm单体架构,没有采用微服务+分布式计算的架构,调优思路 多线程处理+sql优化+redis缓存,对jvm和线程池,redis连接池,数据库连接池进行调优
目前jvm调优的参数
-Xms8g -Xmx8g -Xmn3g -Xss2048K -XX:PermSize=256m -XX:MaxPermSize=512m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70
介绍参数:
-Xms8g //JVM最大可用内存8g
-Xmx8g //JVM促使内存为8g,此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存
-Xmn4g //设置年轻代大小为4G
-Xss2048K //设置每个线程的堆栈大小
-XX:PermSize=256m //示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
-XX:MaxPermSize=512m 表示对非堆区分配的内存的最大上限。
-XX:ParallelGCThreads=20 //配置并行收集器的线程数
-XX:+UseConcMarkSweepGC //设置年老代为并发收集
-XX:+UseParNewGC //设置年轻代为并行收集
-XX:+UseCMSCompactAtFullCollection //:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理
-XX:CMSInitiatingOccupancyFraction=70 /是指设定CMS在对内存占用率达到70%的时候开始GC