记录一次上线前压测过程

首次压测


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