GC调优案例
2021-07-31 12:03:05 0 举报
GC调优案例
作者其他创作
大纲/内容
(300KB*20*10)/秒每秒产生60MB对象1秒后都变为垃圾对象
运行10秒占满eden
java -Xms3G -Xmx3G -Xmn1M -XX:MaxMetaspaceSize=512M -jar microservice-eureka-server.jar
栈(线程2)-Xss1M
日活用户500万
可能同时还有其他操作,如订单查询等我们再放大10倍
每秒几十单
60M
订单系统(4核8G)300单/秒
每秒300KB订单对象生成
线程运行每秒产生60MB对象
每秒1000多单
方法区512M
付费转化率10%
堆
运行时数据区(内存模型)
old2G
S1200M
日均50万单
大促集中在抢购的前几分钟产生
(300KB*20)/秒对象生成
有问题时的启动参数
GC调优案例一:亿级流量电商
每个订单对象假定1KB
old1G
阿里面试题:能否对JVM调优,让其几乎不发生Full GC
每个用户平均点击二三十次
eden1600M
栈(线程1)-Xss1M
full gc
运行25秒占满eden
minor gc
eden800M
java -Xms3G -Xmx3G -Xmn2G -Xmn1M -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -jar microservice-eureka-server.jar
亿级流量电商(每日点击上亿次)
正常在三四小时产生
这里会牵涉一个年龄动态调整机制:当一批对象从eden区进入S0/S1区时,如果超过S0/S1的一半,则直接进入老年代
S0200M
S0100M
修改后的启动参数
下单还涉及其他对象如库存,优惠券,积分等我们放大20倍
S1100M
0 条评论
下一页