zoukankan      html  css  js  c++  java
  • 记一次缓存瓶颈处理

    背景

    业务中有一个组件会产生每秒千级的数据读写,与之交互的是redis。

    组件采用负载均衡,多个组件共同作业。

    这几个组件都往一个内网的redis上读写。

    问题

    在业务高峰,用户反馈加载数据信息慢。

    排查

    网络正常、组件、redis所在服务器性能充足。故认为瓶颈在服务内部。

    同时可知,redis支持千级的并发显然是不会成为瓶颈的。

    所以判断问题在组件本身。

    检索组件日志,发现与redis交互的数据操作,队列积压已到2000,。

    解决

    横向扩展,增加一个组件,以均摊负载

    再次检索日志,发现队列积压迅速回落

    进一步思考

    由于没有服务内部的监控策略,所以要及时了解队列积压就比较麻烦,所以运维和开发之间就需要进一步沟通,开发在程序内部抛出具体的队列数据,然后运维这边从响应的接口获取数据,然后在平台上进行展示。

    这样就可以监控组件的性能状态,可以据此考虑是否可以优化程序内部逻辑,或者需要横向扩展的数量。

  • 相关阅读:
    AxMIMS系统开发环境搭建
    基于霍夫变换的点云分割方法
    微惯性导航系统
    “导航技术”学习笔记
    Kalman滤波学习
    Cell complex单元复形
    矩阵与欧拉角的转换
    CGAL4.10 / CGAL4.13编译
    [OpenCV]代码整理
    KinectFusion测试
  • 原文地址:https://www.cnblogs.com/jabbok/p/9927733.html
Copyright © 2011-2022 走看看