"Albert D. Cahalan" wrote:
>
> Gordon Tetlow writes:
> > On Mon, 21 May 2001, Jordan Hubbard wrote:
> >> [Charles C. Figueire]
>
> >>> c) A filesystem that will be fast in light of tens of thousands of
> >>> files in a single directory (maybe even hundreds of thousands)
> >>
> >> I think we can more than hold our own with UFS + soft updates. This
> >> is another area where you need to get hard numbers from the Linux
> >> folks. I think your assumption that "Linux handles this effectively"
> >> is flawed and I'd like to see hard numbers which prove otherwise;
> >> you should demand no less.
> >
> > Also point out the reliability factor here which is a bit harder to point
> > to a magic number and "See, we *are* better!" ext2 runs async by default
> > which can lead to nasty filesystem corruption in the event of a power
> > loss. With softupdates, the filesystem metadata will always be in sync and
> > uncorrupted (barring media failure of course).
>
> It should be immediately obvious that ext2 is NOT the filesystem
> being proposed, async or not. For large directories, ext2 sucks
> as bad as UFS does. This is because ext2 is a UFS clone.
>
> The proposed filesystem is most likely Reiserfs. This is a true
> journalling filesystem with a radically non-traditional layout.
> It is no problem to put millions of files in a single directory.
> (actually, the all-in-one approach performs better than a tree)
>
> XFS and JFS are similarly capable, but Reiserfs is well tested
> and part of the official Linux kernel. You can get the Reiserfs
> team to support you too, in case you want to bypass the normal
> filesystem interface for even better performance.
>
> So, no async here, and "UFS + soft updates" can't touch the
> performance on huge directories.
Unfortunatly I don't have a ReiserFS partition available to test with,
but I do have UFS and ext2fs partitions.
Here's the results I got from postmark, which seems to be the closest
match to the original problem in the entire ports tree.
Test setup:
Two machines with the same make and model hardware, one running
FreeBSD 4.0, the other running RedHat Linux 7.0.
The data:
Hardware:
Both machines have the same hardware on paper (although it is TWO
machines,
YMMV).
PII-300
Intel PIIX4 ATA33 controller
IBM-DHEA-38451 8063MB ata0-master using UDMA33 HD
Note: all variables are left at default unless mentioned.
10000 transactions, 500 files.
FreeBSD 4.0 +Softupdates, write cache disabled:
Time:
35 seconds total
34 seconds of transactions (294 per second)
Files:
5513 created (157 per second)
Creation alone: 500 files (500 per second)
Mixed with transactions: 5013 files (147 per second)
4917 read (144 per second)
5016 appended (147 per second)
5513 deleted (157 per second)
Deletion alone: 526 files (526 per second)
Mixed with transactions: 4987 files (146 per second)
Data:
31.27 megabytes read (893.48 kilobytes per second)
34.71 megabytes written (991.70 kilobytes per second)
Linux 2.2.16 ext2fs and write caching enabled
Time:
28 seconds total
28 seconds of transactions (357 per second)
Files:
5513 created (196 per second)
Creation alone: 500 files (500 per second)
Mixed with transactions: 5013 files (179 per second)
4917 read (175 per second)
5016 appended (179 per second)
5513 deleted (196 per second)
Deletion alone: 526 files (526 per second)
Mixed with transactions: 4987 files (178 per second)
Data:
31.27 megabytes read (1.12 megabytes per second)
34.71 megabytes written (1.24 megabytes per second)
10000 transactions, 30000 files:
FreeBSD 4.0 +softupdates, write cache disabled:
Time:
640 seconds total
410 seconds of transactions (24 per second)
Files:
34993 created (54 per second)
Creation alone: 30000 files (146 per second)
Mixed with transactions: 4993 files (12 per second)
5055 read (12 per second)
4944 appended (12 per second)
34993 deleted (54 per second)
Deletion alone: 29986 files (1199 per second)
Mixed with transactions: 5007 files (12 per second)
Data:
25.62 megabytes read (40.03 kilobytes per second)
179.79 megabytes written (280.92 kilobytes per second)
Linux 2.2.16 ext2fs with write caching enabled
Time:
1009 seconds total
612 seconds of transactions (16 per second)
Files:
34993 created (34 per second)
Creation alone: 30000 files (83 per second)
Mixed with transactions: 4993 files (8 per second)
5055 read (8 per second)
4944 appended (8 per second)
34993 deleted (34 per second)
Deletion alone: 29986 files (768 per second)
Mixed with transactions: 5007 files (8 per second)
Data:
25.62 megabytes read (25.39 kilobytes per second)
179.79 megabytes written (178.19 kilobytes per second)
10000 transactions, 60000 files
FreeBSD 4.0 with Softupdates, write cache disabled
Time:
1259 seconds total
495 seconds of transactions (20 per second)
Files:
65065 created (51 per second)
Creation alone: 60000 files (87 per second)
Mixed with transactions: 5065 files (10 per second)
5078 read (10 per second)
4921 appended (9 per second)
65065 deleted (51 per second)
Deletion alone: 60130 files (761 per second)
Mixed with transactions: 4935 files (9 per second)
Data:
26.01 megabytes read (20.66 kilobytes per second)
325.12 megabytes written (258.24 kilobytes per second)
Linux 2.2.16 with ext2fs and write cache enabled
Time:
1032 seconds total
578 seconds of transactions (17 per second)
Files:
34993 created (33 per second)
Creation alone: 30000 files (76 per second)
Mixed with transactions: 4993 files (8 per second)
5055 read (8 per second)
4944 appended (8 per second)
34993 deleted (33 per second)
Deletion alone: 29986 files (499 per second)
Mixed with transactions: 5007 files (8 per second)
Data:
25.62 megabytes read (24.83 kilobytes per second)
179.79 megabytes written (174.21 kilobytes per second)
Results:
ufs+softupdates is a little slower than ext2fs+wc for low numbers of
files, but scales better. I wish I had a Reiserfs partition to
test with.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message