记录一次上线前压测过程
首次压测
95及99分位极度不稳
去掉CheckUtil
查看服务日志,发现某个trace CheckUtil耗时长,去掉该功能后压测
根据查看gc情况无关,而和jvm垃圾回收有关
查看gc情况
定位gc有问题,调整jvm参数
调整jvm参数 xmn8g
99分位稳定
问题:为什么年轻代自适应 未生效
AdaptiveSizePolicy调整的是 Eden、From 和 To 区的大小 并不会调整 年轻代的大小
年轻代过大,会不会导致回收时间过长
垃圾回收主要耗时点在于copy的过程,而扫描的过程是很快的,针对该场景,由于是qps高导致大量对象在年轻代回收,所以需要copy的对象是很少的,故加大年轻代对gc时间影响不大
修改锁为sychronized
压测过程中cpu情况
调整为 g1后效果
cms
经过cms 与g1对比 在 qps低时 相对差不多,但是当qps过高时 g1比 cms更稳定
上线后服务监控
上述平时延时在9s是压测工具端的监控,针对该服务端监控,该接口延时要小于该值,大概能在5s