Ceph: 如何测试您的 SSD 是否适合作为日志设备?

shan

一个简单的基准测试任务,用于确定您的 SSD 是否适合作为 OSD 的日志设备。

为了给您一些背景知识,当 OSD 写入其日志时,它会使用 D_SYNCO_DIRECT。使用 O_DIRECT 绕过内核页面缓存,而 D_SYNC 确保在完成每个写入后命令才返回。是的,基本上 OSD 强制所有写入在开始下一个 IO 之前刷新。

首先禁用磁盘上的写入缓存

bash $ sudo hdparm -W 0 /dev/hda 0

现在您可以使用两种不同的方法正确地基准测试您的 SSD。FIO 方法

bash $ sudo fio --filename=/dev/sda --direct=1 --sync=1 --rw=write --bs=4k --numjobs=2 --group_reporting --invalidate=0 --name=journal-test

dd 方法

bash $ sudo dd if=randfile of=/dev/sda bs=4k count=100000 oflag=direct,dsync

这里最重要的在于找到 SSD 在使用 D_SYNC 时的性能如何。在某个时候 用户报告 一些 SSD 在使用 DSYNC 时表现异常。因此,最好在投入生产之前始终测试您的 SSD。

数据汇总表

将所有评论汇总到表格中

SSD 型号结果
Crucial m550200 IOPS
intel s350010 000 IOPS
Micron p400e, 400GB3.0 MB/s
Intel S3700, 200GB22.5 MB/s
FusionIO IOdrive2, 410GB85.1 MB/s
Micron M500DC, 480GB33.6 MB/s
Intel 5104.2 MB/s