开发者社区> 问答> 正文

在业务架构层面,要避免磁盘 IO 成为瓶颈,需要怎么做?

在业务架构层面,要避免磁盘 IO 成为瓶颈,需要怎么做?

展开
收起
游客4skzfvnrxrzbi 2022-01-04 15:55:23 6428 0
5 条回答
写回答
取消 提交回答
  • 222

    2022-04-12 14:45:11
    赞同 展开评论 打赏
  • 分散存储

    2022-04-12 09:26:50
    赞同 展开评论 打赏
  • 学习

    2022-04-12 09:05:51
    赞同 展开评论 打赏
  • 尽量减少磁盘io?

    2022-04-11 22:44:45
    赞同 展开评论 打赏
    1. 控制并发写入/读取线程数 MongoDB 是多线程应用,但是我们并不推荐"极致压榨"MongoDB 实例本身的 性能,过高的并发写入速度和复杂查询并发数,容易引起 IOPS 瓶颈,甚至导 致 Secondary 节点持续延迟。具体的 MongoDB IO 压力可以参考上文提到的 mongostat 中的 dirty 数值。 如果业务写入量就是大到超出单机瓶颈,建议升级至 MongoDB 分片集群模式, 通过数据的水平拆分来线性扩容 MongoDB 的写入性能。

    2. 尽可能避免峰值写入 部分业务,比如日志系统的定期写入或者游戏系统中用户信息的批量持久化, 容易造成一个一个 IOPS 峰值。针对这种情况,在当前的实例配置不足以支撑 如此峰值写入的情况下,我们建议业务侧改造为平滑写入,比如给每一个批量 写入操作添加一个随机时间片。

    image.png

    3 . 避免业务高峰期间做运维操作 一些对性能影响较大的运维操作本质上也是认为造成了 IOPS 峰值,在无法避 免的情况下,应该尽可能避免在业务高峰期执行。常见的容易引起 IO 高峰的 运维操作有批量写入/更新/删除数据,添加 Index,对集合执行 Compact 操作, 批量导出数据等。

    资源来源于《阿里云数据库运维实战问题改》

    https://developer.aliyun.com/topic/download?spm=a2c6h.20345107.J_6399686890.1.2e1e17dbzKUX5r&id=8198

    2022-01-04 17:22:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MaxCompute架构升级及开放性解读 立即下载
MaxCompute Serverless 架构演进 立即下载
多IO线程优化版 立即下载