垃圾是如何发光的-跑分并不那么可靠
省流,先说二条结论:
小鸡IO跑分并不可靠。
LXC未必比KVM性能好(越垃圾的IO越如此)。
前几天博文有KS-1跑分,HDD,4*2T,RAID10,我再贴一下:
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 1.27 MB/s (318) | 18.04 MB/s (281)
Write | 1.30 MB/s (327) | 18.66 MB/s (291)
Total | 2.58 MB/s (645) | 36.70 MB/s (572)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 80.67 MB/s (157) | 82.15 MB/s (80)
Write | 84.95 MB/s (165) | 87.62 MB/s (85)
Total | 165.63 MB/s (322) | 169.78 MB/s (165)
可以看到,4K是相当的慢,这也是HDD的常态。
那么,这台机器开一个小鸡再跑一下分呢:
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 294.61 MB/s (73.6k) | 1.76 GB/s (27.5k)
Write | 295.38 MB/s (73.8k) | 1.77 GB/s (27.6k)
Total | 589.99 MB/s (147.4k) | 3.53 GB/s (55.2k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 2.96 GB/s (5.7k) | 2.95 GB/s (2.8k)
Write | 3.11 GB/s (6.0k) | 3.15 GB/s (3.0k)
Total | 6.07 GB/s (11.8k) | 6.10 GB/s (5.9k)
看到看到没,起飞啦起飞啦! 这已经是很不错的NVME的水平!
为什么会这样呢? 因为小鸡的磁盘是启用的write-back(unsafe)模式。简单的说,就是尽可能的母鸡缓存IO。内存够空的话,读写磁盘近乎等于读写内存。能不快吗?
结论1就是这样得出的。
结论2得出理由是,lxc是直接主机的io,不能设置write-back(unsafe)模式。主机的通常缓存不大,毕竟要考虑数据安全。一旦开始刷盘,那性能就嘎嘎往下掉了。