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

一个简单的基准测试任务,用于确定您的 SSD 是否适合作为 OSD 的日志设备。
为了给您一些背景知识,当 OSD 写入其日志时,它会使用 D_SYNC 和 O_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 m550 | 200 IOPS | |
| intel s3500 | 10 000 IOPS | |
| Micron p400e, 400GB | 3.0 MB/s | |
| Intel S3700, 200GB | 22.5 MB/s | |
| FusionIO IOdrive2, 410GB | 85.1 MB/s | |
| Micron M500DC, 480GB | 33.6 MB/s | |
| Intel 510 | 4.2 MB/s |