Hi
So I have my Ubuntu Server 12.04 running with a lot of stuff. I have a massive ZFS archive shared via NFS and CIFS, I have XBMC running in standalone mode, and I have uTorrent Server running on a dedicated 500GB HD.
My IO on that disk, at peak performance, is about 4.7 MB/s in, 600 kB/s out. Whenever I've finished downloading something, I re-check it in utserver, then create SFVs for it, then PAR2s.
Recently, I decided to make that drive a ZFS drive, since I absolutely love ZFS and its on-the-fly checksumming of data. It's also performing very well on my archive pool.
However, in this scenario it performs really, really badly. Re-checking files will take hours with downloads running simultaneously. Creating SFVs will slow everything down to a grind. PAR2s aren't that bad, as they're more CPU intensive than the are IO intensive.
So I'm looking for something else to format this drive with. My initial idea would be btrfs, as it also has block checksumming, but 1) it's still experimental, 2) I'm stuck with a 3.0 kernel for other hardware-related reasons.
I've used XFS before, and it's been absolutely awesome with regards to performance, but I also hear good things about JFS. Neither of these FSes journal data, but that's alright, seeing as how this is a drive for torrents. Any error can be fixed by a recheck and a re-download. I do, however, want metadata journaling, because I don't want .torrent files to just vanish out of thin air when the power goes.
So... I know the correct answer is to try a bunch of FSes and see which one fits best. But, being a lazy mofo, and remembering how I spent two weeks benchmarking a myriad of ZVOL+FS combinations, I'm thinking maybe someone already did this and wanted to share it with me
So what are your thoughts? Which FS would be right for me here? In summary, this is my usecase, prioritized for relevance:
1) Journaling needed, but not necessarily beyond metadata.
2) Simultaneous reads and writes should affect each other's performance as little as possible. utserver will be doing the reads and writes and have some kind of buffering, but not too much.
3) Sequential reads should affect the performance of 2) as little as possible while being as fast as possible. There will only ever be one thread doing sequential reads at a time.
Thanks in advance
Daniel
PS: I should probably add, that since there isn't a 4) in that list, it's because everything else is irrelevant. For instance, I know I can't shrink an XFS, but it doesn't matter. If there's some XATTR thing, it doesn't matter. Those three points are all that matter to me Cheers.
Bookmarks