性能调优
文章平均质量分 95
实战调优
代码最诚实的朋友
用眼和脑能看到和想到的未来是基于大数据的人工智能,但是仍然不要忘了我们最爱的源代码,最爱的算法和数据结构,还有遥遥不可及的数学
展开
-
jvm gc调优-新生代的默认值
背景在一次性能调优中,本来使用的是默认的GC,这里是jdk1.8,年轻代使用的是Parallel Scavenge收集器,老年代使用的是Parallel Old 收集器,后面申请的机器配置降低了一半:2C4G,这时候会发现堆内存会一直增长。直至触发full gc,再开始下一轮,如此往复,看下tp999。基本和GC保持一致,看下Parallel Scavenge收集器的回收策略:当整个新生代剩余的空间无法存放某个对象时,Parallel Scavenge/Parallel Old中该原创 2022-01-28 17:03:59 · 2731 阅读 · 0 评论 -
记一次jvm性能调优
背景项目的海外版本,已经有两年没有更新了,目前需要更新到最新版本,申请资源时,已经没有当前使用的4C8G服务器资源了,只有2C4G的服务器了,当前每台服务器的qps有1500左右,看cpu也只使用了5%的样子,虽然新版本增加了不少功能,就算资源缩一半,看起来也是可行的。实际情况单独拉了一个分组,新版本先上了一台,观察了一天,日志没发现啥问题,便继续挂上其他机器,跑了一会,收到性能报警,max有超过1s的情况,看老版本的max,毛刺也很多,但没超过1s的情况。性能较好的是老版本,新版本明显原创 2022-01-21 16:37:30 · 1225 阅读 · 0 评论 -
记一次GC优化
现象young gc时间达到了150-500ms之间,每个服务器的时间不一样,都在这个区间,监控的tp99和tp999有明显的毛刺环境docker环境,服务器规格:2c4g,容器:tomcat8,jdk:8,回收器:cms排查过程1、首先想到查看gc日志,发现有如下日志:[GC (Allocation Failure) [ParNew: 561827K->2873K(629120K), 0.4622482 secs] 1149586K->590676K(2027264K原创 2020-06-12 22:25:11 · 525 阅读 · 0 评论