美文网首页
2022年度生产问题回顾

2022年度生产问题回顾

作者: JustinZhang_ | 来源:发表于2023-01-12 10:57 被阅读0次

    Zookeeper fsync超时

    问题简述

    • ZK leader节点与follower节点之间fsync同步动作耗时过久,导致心跳超时,集群重新选举,与客户端连接断开,进而影响客户端业务逻辑

    问题根源

    • 根源可能在磁盘、网络、内存等的突发情况,不容易排查

    问题规避

    • 调整ZK参数,避免fsync耗时过久
    • 主要为以下参数
    # ZK自己的基准时间单位,以ms为单位
    tickTime=3000
    # 主从初始化允许的超时时间
    initLimit=10
    # 主从同步允许的超时时间
    syncLimit=5
    # 以KB为单位
    preAllocSize=32768
    

    InfluxDB iowait飚高

    问题简述

    • 对InfluxDB的查询以及表的删除动作均会导致服务器CPU iowait指标飚高,大量读请求影响了写请求

    问题根源

    • InfluxDB不加where条件的查询,哪怕按时间排序加limit限制,性能也可能很差,因为会遍历所有数据分片
    • InfluxDB删除表的动作,相当于遍历所有数据分片

    问题解决

    • InfluxDB最好不要删除数据,如有需要也是通过过期策略清理历史数据,当某张表数据空时,InfluxDB会自行删除此表
    • 查询语句性能做好评估
    explain select * from "";
    explain analyze select * from;
    

    ElasticSearch 磁盘占用不均

    问题简述

    • ElasticSearch集群五个节点,其中一个节点的磁盘占用率相较其它节点要高

    问题根源

    • ElasticSearch分配分片,不看节点的磁盘使用率,而是看节点的分片数
    • 某些节点的分片数大,但单个分片的磁盘占用小,所以导致不均

    问题解决

    • 将分片数与节点数调整为一致
    • 根据实际情况清理一些索引
    • 调整ES集群参数,水位线,此种方式也存在一些问题,强制不允许往某个节点写入数据会导致客户端报错
    PUT _cluster/settings
    {
       "persistent":{
          "cluster.routing.allocation.disk.watermark.high":"75%",
          "cluster.routing.allocation.disk.watermark.low":"70%"
        }
    }
    

    相关文章

      网友评论

          本文标题:2022年度生产问题回顾

          本文链接:https://www.haomeiwen.com/subject/onzicdtx.html