图4 固定过期 懒加载模式
针对上面的风险我们优化了缓存架构,固定过期改为主动续期缓存,主动监听消息刷新缓存的方案,如下图所示。
图5 缓存前后架构对比
3)效果
缓存命中率提升到 98% 以上,接口性能(RT)提升 50% 以上。
图6 处理性能提升50%
这个缓存优化方案在我们团队之前写的一篇文章《1分钟售票8万张!门票抢票背后的技术思考》中有详细的介绍,具体细节这个地方不再展开,有兴趣的同学可以自行阅读。
4.优化线程池
减少不合理的线程,降低线程切换带来的超时。
1)分析
- HTTP 线程数
先看下服务端 HTTP 线程数是否有明显增加,且流量没有增长,要确认 HTTP 线程数增加不是因为流量增长导致的。如下面两张图,流量正常的情况下 HTTP 线程数增加,说明是服务端响应变慢导致,可以确认超时是服务端原因。
图7 服务流量平稳