ELK的JVM优化记录
目录:
一、背景
java-es集群整体宕机,重启后发现其数据吞吐量下降,如下图:
二、排查过程
1、 尝试修改es参数
效果不大,因为重启前后并未修改es参数,放弃追查参数问题原因。
2、 升级elk-java-00机型
性能有所提升,效果不明显。
3、 使用jstat观察es gc状态。
发现gc时间较长,怀疑是因为gc时间较长引起的性能问题,同时注意到:新生代的gc时间要远远小于老年代gc时间,判断es性能问题是由于老年代分配较少引起。
4、 修改jvm参数,将Xmn修改为512m,观察gc时间增长率有明显下降。
5、 观察elb吞吐量
三、总结
java服务器年轻带不易设置过大,一般为heap的1/4 到1/3 ,同时应注意老年带的实际占用量,如果达到了分配额度,要么提升heap分配,要么减少新生带配额。