From owner-freebsd-hackers Tue May 22 9: 5: 8 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from smtpproxy1.mitre.org (mb-20-100.mitre.org [129.83.20.100]) by hub.freebsd.org (Postfix) with ESMTP id A496F37B43C for ; Tue, 22 May 2001 09:04:57 -0700 (PDT) (envelope-from jandrese@mitre.org) Received: from avsrv1.mitre.org (avsrv1.mitre.org [129.83.20.58]) by smtpproxy1.mitre.org (8.9.3/8.9.3) with ESMTP id MAA11954; Tue, 22 May 2001 12:03:50 -0400 (EDT) Received: from MAILHUB1 (mailhub1.mitre.org [129.83.20.31]) by smtpsrv1.mitre.org (8.9.3/8.9.3) with ESMTP id MAA20373; Tue, 22 May 2001 12:03:34 -0400 (EDT) Received: from dhcp-105-164.mitre.org (128.29.105.164) by mailhub1.mitre.org with SMTP id 6558247; Tue, 22 May 2001 12:03:22 -0400 Message-ID: <3B0A8DD5.9A38449B@mitre.org> Date: Tue, 22 May 2001 12:03:33 -0400 From: Jason Andresen Organization: The MITRE Corporation X-Mailer: Mozilla 4.75 [en]C-20000818M (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: "Albert D. Cahalan" Cc: ccf@master.ndi.net, gordont@bluemtn.net, jkh@osd.bsdi.com, freebsd-hackers@freebsd.org Subject: Re: technical comparison References: <200105220411.f4M4BDX101825@saturn.cs.uml.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG "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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message