服务容量优化思路

单机

软件版本

  • java 11 : 相对java8 GC次数只有一半,单次GC时间增长 30 %
  • hbase版本:hbase1.x -> hbase2.x 减少平均rt和999线。
  • 连接池:c3p0 -> tomcat-jdbc,gc次数减少1/2,单次gc时间减少1/3.
  • 数据库中间件zebra:使用动态路由,减少路由占用的堆,分库分表较多时效果明显。

GC调优

  • 调整堆 -Xms -Xmx: 4-> 8 G (内存12G), GC次数一半,单次gc增长1/4。
  • 调整并行回收线程数 ConcGCThreads (core * 5/8 + 3),并发标记数ParallelGCThreads(ConcGCThreads/4),
  • 如果上游长尾效应明显,可考虑ZGC

本地缓存

  • 堆外缓存。ohcache,高qps cpu会飙升,慎用。
  • 堆内缓存。caffeine,本地内存+gc和rpc之间的权衡。
  • 线程缓存。threadLocal缓存请求上下文,注意内存泄露

异步

  • 回写缓存可异步减少实时链路rt。

升级硬件

  • 扩实例核数,内存。

服务

扩容

  • 扩实例数。注意redis,db等连接数。

单元化&抽象

  • 连接数成为瓶颈可单元化。
  • 存储层抽出一层服务,db连接数瓶颈(2k左右实例)转化为服务连接数瓶颈(fd数量)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值