JVM调优思路

亿级流量电商网站订单系统分析

亿级流量电商(每日用户点击上亿次),每个用户浏览购买大概点击二三十次,日活跃500万用户,假定付费转化率10%,日均50万订单,促销活动订单集中在抢购前几分钟产生每秒1000多单,三个订单系统,每个订单系统每秒300多单,每个对象假定1KB,每秒300K订单对象生成,下单还涉及其他优惠券积分等对象,放大20倍,300KB20每秒,可能同时还有其他操作订单查询等,再放大10倍,300KB20*10每秒60M的对象1秒后都变为垃圾对象。
如果按照JVM默认参数,堆内存分配3G,老年代2/3 2G,新生代1/3 1G,
新生代的eden区域8/10 800M,survivor区域1/10 100M,这样每秒产生60M垃圾对象,13秒占满eden区,触发minor gc,触发的瞬间,新产生的对象还不能回收,会直接被放到form区域,新产生的对象60M,超过form区域的百分之50,会直接被放入老年代,每13秒就会有60M对象放入老年代。几分钟后就触发 full gc,full gc是我们不想看到的,所以要重新设置JVM参数,调整堆内存大小。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调优

分析发现订单系统都是新生代对象产生就变成垃圾,这样把老年代设置为1G,新生代设置2G,变为eden区1.6G,survivor区200M,还是每秒60M订单垃圾对象,大概26秒触发minor gc,触发瞬间也是有60M的垃圾对象放入form区,不超过form区大小的50%,不放入老年代,这样下次触发minor gc的时候会被垃圾回收,所以full gc 几乎不会发生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值