Mattias Pantzare <pant...@ludd.ltu.se> wrote:

> > Performance when coping 236 GB of files (each file is 5537792 bytes, with
> > 20001 files per directory) from one directory to another:
> >
> > Copy Method                             Data Rate
> > ====================================    ==================
> > cpio -pdum                              75 MB/s
> > cp -r                                   32 MB/s
> > tar -cf - . | (cd dest && tar -xf -)    26 MB/s
> >
> > I would expect data copy rates approaching 200 MB/s.
> >
>
> What happens if you run two copy at the same time? (On different data)

Before you do things like this, you first should start using test
that may give you useful results.

Note of the programs above have been written for decent performance.
I know that "cp" on Solaris is a partial exception for songle file copies, but  
does not help us if we like to compare _aparent_ performance.

Let me first introduce other programs:

sdd     A dd(1) replacement that was first written in 1984 and that includes
        built-in speed metering since Jily 1988.

star    A tar(1) replacement that was first written in 1982 and that supports
        much better performance by using a shared memory based FIFO.

Note that most speed tests that are run on Linux do not result un useful values
as you don't know what's happening dunring the observation time.



If you like to meter read performance, I recommend to use a filesystem that was
mounted directly before doing the test or to use files that are big enough not 
to fit into memory.

Use e.g.:       sdd if=file-name bs=64k -onull -time

If you like to meter write performance, I recomment to write big enough files
to avoid using wrong numbers as a result from caching.

Use e.g.        sdd -inull bs=64k count=some-number of=file-name -time

Us an apropriate value for "some-number".

For copying files, I recommend to use:

        star -copy bs=1m fs=128m -time -C from-dir . to-dir


It makes sense to run another test using the option: -no-fsync in addition.
On Solaris with UFS, using -no-fsync speeds up things by aprox. 10%.
On Linux with a local filesystem, using -no-fsync speeds up things by 
aprox. 400%. This is why you get useless high numbers from using GNU tar
for copy tests on Linux.



Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       j...@cs.tu-berlin.de                (uni)  
       joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to