我正在使用Ubuntu 11.10 Desktop x64和Native ZFS,使用2个2 TB 6.0 Gbps硬盘的镜像池。 我的问题是,我只能在任何时候读取/写入大约30 Mb / s,我认为我的系统可以执行得更快。
虽然有一些限制:
我使用的是一个华硕E350M1-I Deluxe Fusion,它是一个1.6 Ghz处理器,最大8 Gb内存,我得到了。 当我购买这个系统的时候,我不知道ZFS,现在我select了一个能支持更多内存的系统。
我的游泳池有大约15%的可用空间,但是当我有超过50%的可用空间时,性能并没有那么好。
当处理器非常繁忙时,读/写性能似乎下降,所以很可能是处理器是瓶颈。
我读过这个网站上的其他post,关于使用固态硬盘作为日志caching设备,这是我正在考虑做的,考虑到我没有那么多的内存。
我的问题:
您认为将SSD添加为日志caching设备会提高性能吗?
我应该换一个2TB的硬盘,然后制作一个RAID-Z池吗? (我将最终需要空间,但机械驱动器的价格仍然很高)这是否会提高性能?
卖我的系统,而不是去一个英特尔i3?
谢谢你的时间!
请注意,由于许可问题,ZFS 不是 Linux内核中的本地文件系统,而是用户空间中的FUSE实现。 因此,它具有显着的运营开销,这在基准testing中也是显而易见的 。 我认为这是这里的主要问题 – 与系统处理性能较低相关的大量开销。
一般来说, 如果I / O实际上是一个瓶颈,那么以任何容量添加一个SSD只会有帮助。 使用iostat来validation这一点。
如果您的主要问题是同步写入负载,则将SSD作为单独的日志设备添加将只会有所帮助。 它不会做任何事情读取或asynchronous写入(caching和懒惰写入)。 作为一个简单但非常有效的testing,您应该暂时禁用意向日志 – 如果您的整体性能显着增加,您将从SSD日志设备中受益。
如果您的文件系统上有一个相当紧凑的“热”区域,以随机方式频繁读取,那么将SSD添加为L2ARC将有助于您的读取。 L2ARC不会caching顺序传输,所以对于stream式传输负载来说效果不佳。
使用固态硬盘作为日志caching设备,这是我正在考虑做的,考虑到我没有那么多的内存。
嗯? 主系统RAM与它无关。 RAM的可用性对I / O性能有很大的影响,但不能将RAM用于磁盘日志(ZIL) – 存储器必须是非易失性的。
你似乎对如何解决目前的问题感到困惑 – 这让我觉得你selectZFS的原因可能是有缺陷的。 这在技术上是非常有趣的,在pipe理大量的群组方面有明显的好处,但是在这里并不适用 – 我还没有看到任何人推荐它在Linux上通常的嫌疑犯的性能。 您是否尝试过在XFS或ext4上运行相同的工作负载? 你可能会发现他们更快。
鉴于固态硬盘的价格来支持这一点(另请参阅我的问题 – 闪存将无法正常工作),很难理解为什么您认为固态硬盘将是一种经济高效的方法来提高性能。 Yse,它会让它变得更快 – 但是我认为你最好把钱花在一个新的双路主板上,CPU和内存翻倍(而且你还有剩下的变化)。
我通过testing我们的服务器,把本地ZFS,我发现它不可靠,并在testing中丢失的数据。 即使CPU资源充足,我也发现性能低下。 我用它来提供块设备(本质上是一个完整的LVMreplace),而不是一个文件系统。 这是在Ubuntu 10.10所以YMMV。 我发现它对任何types的电源故障或系统挂起都非常敏感,并且不能像Linux上的各种本地日志文件系统那样从此恢复。
有opensolaris,它的ZFS实现是我猜的太阳的实现。 你可以随时尝试。 我不认为你可以在其上运行VirtualBox。 但检查出来,我可能是错的。 或者,您可以使用归因于虚拟机的磁盘虚拟化Solaris。 当然,表演不会很好,但你似乎有时间尝试奇怪的设置…