Re: How git affects kernel.org performance
From: Willy Tarreau <w@1wt.eu>
Date: 2007-01-07 09:04:22
Also in:
lkml
On Sun, Jan 07, 2007 at 12:58:38AM -0800, H. Peter Anvin wrote:
Willy Tarreau wrote:quoted
At work, we had the same problem on a file server with ext3. We use rsync to make backups to a local IDE disk, and we noticed that getdents() took about the same time as Peter reports (0.2 to 2 seconds), especially in maildir directories. We tried many things to fix it with no result, including enabling dirindexes. Finally, we made a full backup, and switched over to XFS and the problem totally disappeared. So it seems that the filesystem matters a lot here when there are lots of entries in a directory, and that ext3 is not suitable for usages with thousands of entries in directories with millions of files on disk. I'm not certain it would be that easy to try other filesystems on kernel.org though :-/Changing filesystems would mean about a week of downtime for a server. It's painful, but it's doable; however, if we get a traffic spike during that time it'll hurt like hell. However, if there is credible reasons to believe XFS will help, I'd be inclined to try it out.
The problem is that I have no sufficient FS knowledge to argument why it helps here. It was a desperate attempt to fix the problem for us and it definitely worked well. Hmmm I'm thinking about something very dirty : would it be possible to reduce the current FS size to get more space to create another FS ? Supposing you create a XX GB/TB XFS after the current ext3, you would be able to mount it in some directories with --bind and slowly switch some parts to it. The problem with this approach is that it will never be 100% converted, but as an experiment it might be worth it, no ? Willy