Hello, in a benchmark a find to a filename (find -name foobar ) , ZFS is approx 7 times slower than an XFS filesystem (14 minutes ZFS,2 Minutes XFS). The filesystem consists out of a huge amount of files. I assume, that ZFS has no comparable function to the directory indexes like XFS or the dir_index option like ext3. Is this correct ? And what can i do to speed up such a find operation. I know it?s pathological benchmark, but is there a solution for this performance gap ? Regards Joerg -- Joerg Moellenkamp Tel: (+49 40) 25 15 23 - 460 IT-Architect Fax: (+49 40) 25 15 23 - 425 Sun Microsystems GmbH Mobile: (+49 172) 83 18 433 Nagelsweg 55 mailto:joerg.moellenkamp at sun.com D-20097 Hamburg Website: http://www.sun.de Blog: http://www.c0t0d0s0.org Sitz der Gesellschaft Sun Microsystems GmbH Sonnenallee 1 D-85551 Kirchheim-Heimstetten Amtsgericht Muenchen - HRB 161028 Geschaeftsfuehrer Wolfgang Engels Dr. Roland Boemer Vors. des Aufsichtsrates Martin Haering
Casper.Dik at Sun.COM
2007-Sep-05 13:44 UTC
[zfs-discuss] find on ZFS much slower than on xfs
>Hello, > >in a benchmark a find to a filename (find -name foobar ) , ZFS is approx >7 times slower than an XFS filesystem (14 minutes ZFS,2 Minutes XFS). >The filesystem consists out of a huge amount of files. > >I assume, that ZFS has no comparable function to the directory indexes >like XFS or the dir_index option like ext3. Is this correct ? And what >can i do to speed up such a find operation. I know it?s pathological >benchmark, but is there a solution for this performance gap ?Are you using the same find program? (GNU find contains a certain hack which allows it to "go fast" in certain circumstances. Casper
Hello, in a different benchmark run on the same system, the gfind took 15 minutes whereas the standarf find took 18 minutes. With find and noatime=off the benchmark took 14 minutes. But even this is slow compared to 2-3 minutes of the xfs system. Regards Joerg Casper.Dik at Sun.COM schrieb:>> Hello, >> >> in a benchmark a find to a filename (find -name foobar ) , ZFS is approx >> 7 times slower than an XFS filesystem (14 minutes ZFS,2 Minutes XFS). >> The filesystem consists out of a huge amount of files. >> >> I assume, that ZFS has no comparable function to the directory indexes >> like XFS or the dir_index option like ext3. Is this correct ? And what >> can i do to speed up such a find operation. I know it?s pathological >> benchmark, but is there a solution for this performance gap ? >> > > > Are you using the same find program? (GNU find contains a certain > hack which allows it to "go fast" in certain circumstances. > > Casper > >
Joerg Moellenkamp <Joerg.Moellenkamp at Sun.COM> wrote:> Hello, > > in a different benchmark run on the same system, the gfind took 15 > minutes whereas the standarf find took 18 minutes. With find and > noatime=off the benchmark took 14 minutes. But even this is slow > compared to 2-3 minutes of the xfs system.GNU find is buggy by default as it by default asumes that the linkcount of a directory is 2+number-of-subdirs which is not granted by POSIX. GNU find will definitively fail on "pcfs" and on "hsfs" that has not been created by a recent mkisofs version (still missing on Solaris). For some "UNIX filesystems" you may asume the behavior expected by GNU tar. For NFS, you cannot make any asumption...... GNU tar does not test and this is buggy. J?rg -- EMail:joerg at schily.isdn.cs.tu-berlin.de (home) J?rg Schilling D-13353 Berlin js at cs.tu-berlin.de (uni) schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
Joerg Moellenkamp wrote:> Hello, > > in a different benchmark run on the same system, the gfind took 15 > minutes whereas the standarf find took 18 minutes. With find and > noatime=off the benchmark took 14 minutes. But even this is slow > compared to 2-3 minutes of the xfs system.just asking the obvious: - is this the same HW? - are zfs/zpool and xfs set up similarly? Michael -- Michael Schuster Recursion, n.: see ''Recursion''