我面临的问题是在运行ZFS的Debian机器上(HP MicroServer N40L),它是从zfsonlinux.com下载的源代码编译的,看起来效果不佳。
该池由3个相同的2TB硬盘(希捷,SATA,5900rpm,6GB / s)创build。 系统运行在另一个250GB(7200rpm,不怕)的硬盘上。我用来创build我的zpool的命令是zpool create tank raidz hd1ID hd2ID hd3ID 。 zpool status tank表示一切正常。 在我怀疑之后,我用bonnie(版本1.96)来testing性能bonnie -u root:root -x 5 -s 4096 ,这里是我收回的一些数字(最后一行是250GB系统驱动器中的数字,这表明不怕高清比我的zpool快得多)
rewrite seeks ran_create putc_latency rewrite_latency seeks_latency 11275 228246 2249 3770 116ms 191ms 10556 229326 7133 5388 147ms 247ms 10989 227938 13337 13569 128ms 141ms 11025 227938 873 3679 117ms 224ms 10926 229491 3580 6186 119ms 231ms 64389 111633 29779 30298 47190us 51692us
我也做了time dd if=/dev/zero of=foo bs=1048576 count=1024得到了
1024+0 records in 1024+0 records out 1073741824 bytes (1.1GB) copied, 83.3947 s, 12.9 MB/s real 1m23.397s user 0m0.000s sys 0m1.760s
系统驱动器上的相同命令是
1024+0 records in 1024+0 records out 1073741824 bytes (1.1GB) copied, 9.52386 s, 113 MB/s real 0m9.752s user 0m0.00s sys 0m2.984s
它看起来像我的zpool运行速度非常慢。 当我创build我的zpool时,我做错了什么? 我怎样才能调整它,使其执行应该的方式?
我怀疑你的硬盘报告512字节的部门,而它真的有4个K的。 众所周知,这对性能有非常不利的影响,特别是在RAID-Zconfiguration下。
解决方法是在池创build时添加ashift=12选项。
这里有一些细节
那么,你的系统驱动器比你的组件驱动器更快,所以你没有比较苹果和苹果。
但是这肯定比想象中的要低 – 记住Linux上的本地ZFS项目还不够成熟,而且还没有针对性能进行优化 。
在您testing的同时,您的ZFS池中是否还有其他IO正在进行? dd期间CPU是否饱和?