zoukankan      html  css  js  c++  java
  • Ceph 知识摘录(性能测试_2)

    清理缓存命令
    echo 3 > /proc/sys/vm/drop_caches #清除缓存页,目录项和inodes

    磁盘性能测试(dd)

    测试磁盘写吞吐量
    dd命令对磁盘进行标准写测试。记住添加oflag参数以绕过磁盘页面缓存。
    dd if=/dev/zero of=/var/lib/ceph/osd/wc01 bs=1G count=1 oflag=direct

    测试磁盘读吞吐量
    dd命令对磁盘进行标准读测试。记住添加iflag参数以绕过磁盘页面缓存。
    dd if=/var/lib/ceph/osd/wc01 of=/dev/null bs=2G count=1 iflag=direct

    硬盘驱动器

           存储驱动器受限于寻道时间、访问时间、读写时间、还有总吞吐量,这些物理局限性影响着Ceph整体系统性能,尤其在系统恢复期间。Ceph 允许你在每块硬盘驱动器上运行多个 OSD ,但这会导致资源竞争并降低总体吞吐量; Ceph 也允许把日志和对象数据存储在相同驱动器上,但这会增加记录写日志并回应客户端的延时,因为 Ceph 必须先写入日志才会回应确认了写动作。btrfs文件系统能同时写入日志数据和对象数据,xfs和ext4 却不能。但是不稳定不建议线上环境使用。

    固态硬盘
         一种提升性能的方法是使用固态硬盘(SSD)来降低随机访问时间和读延时,同时增加吞吐量。SSD和硬盘相比每GB成本通常要高10倍以上,但访问时间至少比硬盘快100倍。评估SSD时,顺序读写性能很重要。

           可以在同一主机上运行多个OSD ,但要确保OSD硬盘总吞吐量 =< 客户端提供读写服务所需的网络带宽;还要考虑集群在每台主机上所存储的数据占总体的百分比,如果一台主机所占百分比太大而它挂了,就可能导致诸如超过full ratio的问题,此问题会使Ceph中止运作以防数据丢失。

    性能:
    1、数据双倍写入
    Ceph本地存储接口(FileStore)为了支持事务,引入了日志(Journal)机制。所有的写入操作都需要先写入日志(XFS模式下),然后再写入本地文件系统。简单来说就是一份数据需要写两遍,日志+本地文件系统。这就造成了在大规模连续IO的情况下,实际上磁盘输出的吞吐量只有其物理性能的一半。
    2、IO路径太长
    一个IO需要经过多个模块才能完成,每个模块之间都涉及到队列和线程切换。
    3、对高性能硬件支持有待改进
    Ceph最开始是为HDD设计的,没有充分考虑全SSD,导致这些硬件的物理性能在Ceph中无法充分发挥出来,特别是延迟和IOPS。

  • 相关阅读:
    【试水CAS-4.0.3】第07节_CASclient配置单点登录
    30分钟,让你彻底明白Promise原理
    【你离硅谷只差一步】网易中国创业家大赛项目火热征集中
    21分钟学会写编译器
    Android 模拟器下载、编译及调试
    GitLab 自动触发 Jenkins 构建
    微服务监控探索
    感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
    延迟任务调度系统—技术选型与设计(下篇)
    使用QUIC
  • 原文地址:https://www.cnblogs.com/weichao01/p/9540652.html
Copyright © 2011-2022 走看看