优酷土豆资深工程师:GC 调优实战

  1. 云栖社区>
  2. 中生代技术>
  3. 博客>
  4. 正文

优酷土豆资深工程师:GC 调优实战

jurassic_1 2016-06-08 23:56:19 浏览6283
展开阅读全文

前情概要

对于线上高并发、高吞吐的Java web服务来说,长时间的GC暂停(也叫 stop- the-world)会严重影响系统吞吐、稳定性和用户体验。下文是我们的一个真实线上web系统针对GC调优过程的一个总结。这个系统在调优前,经常会反映有超秒的GC暂停问题,这种GC问题可能会导致调用方(可能是上层服务调用方、负载均衡层或客户端)阻塞、超时、甚至雪崩的情况。我们在系统资源不变的情况下,经过多轮调优,大幅降低了GC的频率和暂停时间。

前期准备

1、统计应用数据(峰值TPS、平均TPS,每秒平均分配内存大小、每个请求的平均分配内存大小)
2、统计GC分配、回收内存的数据(MinorGC、FullGC停顿时长,平均多长时间触发一次GC,每次Eden->Old的平均晋升大小等)
3、搭建压力测试环境
4、模拟线上真实用户行为及相

网友评论

登录后评论
0/500
评论
jurassic_1
+ 关注
所属云栖号: 中生代技术