Timo Sirainen put forth on 10/25/2010 10:25 AM:
On Fri, 2010-10-22 at 06:02 -0500, Stan Hoeppner wrote:
Timo Sirainen put forth on 10/21/2010 4:10 PM:
On 21.10.2010, at 19.14, Timo Sirainen wrote:
- mdbox: Added mdbox_preallocate_space setting (Linux+ext3/XFS only)
ext4 of course, not ext3. Also requires Linux kernel v2.6.23 or newer and glibc 2.10 or newer.
Is this available for mbox or just mdbox? If mdbox only, why not mbox also?
It's only for mdbox because they have a known upper size (mdbox_rotate_size). With mbox the only possibility would be to let admin specify how large the files should be preallocated to. And how would the admin know? And should different mailboxes have different preallocated sizes? For example "Drafts" mailbox is unlikely to ever grow very large. And in any case, if you care about performance mbox isn't really the best choice.
Is it still the best choice performer WRT full text search? I use fts squat, but it seems whenever I do a body search of an IMAP folder that the index is cold, thus I don't often get the benefit of the index. Would maildir, dbox, or mdbox give better performance here with a cold index? Full text search is the main reason I've stayed with mbox. I've never noticed any performance issues (not after you recommended I enable very_dirty_syncs that is).
That's all kinda off topic though. The main reason I asked about preallocation in first place was merely to limit file fragmentation. As I understand it, some types of preallocation can be each time the file is written, in essence extending the tail at the end of the file. Something like this won't eliminate fragmentation, but it should lessen the number of fragments as the file grows. I'm not currently running into performance problems due to fragmentation, but it could/will happen at some point. Currently I'm running xfs_fsr twice a week via cron to keep fragmentation at bay. Those running mbox on any other filesystem would benefit from this limited fragmentation as no other FS has a working online defragmenter.
Anyhow, it sounds like even if it could somehow be done with mbox it would be pretty difficult to implement, and not provide much ROI as apparently few OPs still use mbox.
It's really cool to hear that preallocation should work very well WRT eliminating fragmentation of mdbox as you said their is a maximum file size. This seems like a perfect fit.
-- Stan