From: Jacek Luczak <difrost.kernel@gmail.com> To: Chris Mason <chris.mason@oracle.com>, Jacek Luczak <difrost.kernel@gmail.com>, Theodore Tso <tytso@mit.edu>, linux-ext4@vger.kernel.org, linux-fsdevel <linux-fsdevel@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org>, linux-btrfs@vger.kernel.org Subject: Re: getdents - ext4 vs btrfs performance Date: Sun, 4 Mar 2012 11:25:08 +0100 [thread overview] Message-ID: <CADDYkjSWpWAW0dxmMEWjHaRV=jS+U5obeau_GPEgwnJuPBLe3w@mail.gmail.com> (raw) In-Reply-To: <CADDYkjRyQruZgFHDsyAgAV7J3yvunU5YuwmmbxK=1WXJLHw98Q@mail.gmail.com> 2012/3/3 Jacek Luczak <difrost.kernel@gmail.com>: > 2012/3/2 Chris Mason <chris.mason@oracle.com>: >> On Fri, Mar 02, 2012 at 03:16:12PM +0100, Jacek Luczak wrote: >>> 2012/3/2 Chris Mason <chris.mason@oracle.com>: >>> > On Fri, Mar 02, 2012 at 11:05:56AM +0100, Jacek Luczak wrote: >>> >> >>> >> I've took both on tests. The subject is acp and spd_readdir used= with >>> >> tar, all on ext4: >>> >> 1) acp: http://91.234.146.107/~difrost/seekwatcher/acp_ext4.png >>> >> 2) spd_readdir: http://91.234.146.107/~difrost/seekwatcher/tar_e= xt4_readir.png >>> >> 3) both: http://91.234.146.107/~difrost/seekwatcher/acp_vs_spd_e= xt4.png >>> >> >>> >> The acp looks much better than spd_readdir but directory copy wi= th >>> >> spd_readdir decreased to 52m 39sec (30 min less). >>> > >>> > Do you have stats on how big these files are, and how fragmented = they >>> > are? =A0For acp and spd to give us this, I think something has go= ne wrong >>> > at writeback time (creating individual fragmented files). >>> >>> How big? Which files? >> >> All the files you're reading ;) >> >> filefrag will tell you how many extents each file has, any file with >> more than one extent is interesting. =A0(The ext4 crowd may have bet= ter >> suggestions on measuring fragmentation). >> >> Since you mention this is a compile farm, I'm guessing there are a b= unch >> of .o files created by parallel builds. =A0There are a lot of chance= s for >> delalloc and the kernel writeback code to do the wrong thing here. >> > [Most of files are B and K size] > > All files scanned: 1978149 > Files fragmented: 313 (0.015%) where 11 have 3+ extents > Total size of fragmented files: 7GB (~13% of dir size) BTRFS: Non of files according to filefrag are fragmented - all fit into one extent. > tar cf on fragmented files: > 1) time: 7sec > 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_fragmente= d.png > 3) sw graph with spd_readdir: > http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_spd.png > 4) both on one: > http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_pure_spd.pn= g BTRFS: tar on ext4 fragmented files 1) time: 6sec 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_= btrfs.png > tar cf of fragmented files disturbed with [40,50) K files (in total > 4373 files). K files before fragmented M files: > 1) size: 7.2GB > 2) time: 1m 14sec > 3) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_disturbed= =2Epng > 4) sw graph with spd_readdir: > http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_spd.png > 5) both on one: > http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_pure_spd.png BTRFS: tar on [40,50) K and ext4 fragmented 1) time: 56sec 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_b= trfs.png New test I've included - randomly selected files: - size 240MB 1) ext4 (time: 34sec) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_random_ext4.png 2) btrfs (time: 55sec) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_random_btrfs.png -Jacek
WARNING: multiple messages have this Message-ID (diff)
From: Jacek Luczak <difrost.kernel@gmail.com> To: Chris Mason <chris.mason@oracle.com>, Jacek Luczak <difrost.kernel@gmail.com>, Theodore Tso <tytso@mit.edu>, linux-ext4@vger.kernel.org, linux-fsdevel <linux-fsdevel@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org>, linux-btrfs@vger.kernel.org Subject: Re: getdents - ext4 vs btrfs performance Date: Sun, 4 Mar 2012 11:25:08 +0100 [thread overview] Message-ID: <CADDYkjSWpWAW0dxmMEWjHaRV=jS+U5obeau_GPEgwnJuPBLe3w@mail.gmail.com> (raw) In-Reply-To: <CADDYkjRyQruZgFHDsyAgAV7J3yvunU5YuwmmbxK=1WXJLHw98Q@mail.gmail.com> 2012/3/3 Jacek Luczak <difrost.kernel@gmail.com>: > 2012/3/2 Chris Mason <chris.mason@oracle.com>: >> On Fri, Mar 02, 2012 at 03:16:12PM +0100, Jacek Luczak wrote: >>> 2012/3/2 Chris Mason <chris.mason@oracle.com>: >>> > On Fri, Mar 02, 2012 at 11:05:56AM +0100, Jacek Luczak wrote: >>> >> >>> >> I've took both on tests. The subject is acp and spd_readdir used with >>> >> tar, all on ext4: >>> >> 1) acp: http://91.234.146.107/~difrost/seekwatcher/acp_ext4.png >>> >> 2) spd_readdir: http://91.234.146.107/~difrost/seekwatcher/tar_ext4_readir.png >>> >> 3) both: http://91.234.146.107/~difrost/seekwatcher/acp_vs_spd_ext4.png >>> >> >>> >> The acp looks much better than spd_readdir but directory copy with >>> >> spd_readdir decreased to 52m 39sec (30 min less). >>> > >>> > Do you have stats on how big these files are, and how fragmented they >>> > are? For acp and spd to give us this, I think something has gone wrong >>> > at writeback time (creating individual fragmented files). >>> >>> How big? Which files? >> >> All the files you're reading ;) >> >> filefrag will tell you how many extents each file has, any file with >> more than one extent is interesting. (The ext4 crowd may have better >> suggestions on measuring fragmentation). >> >> Since you mention this is a compile farm, I'm guessing there are a bunch >> of .o files created by parallel builds. There are a lot of chances for >> delalloc and the kernel writeback code to do the wrong thing here. >> > [Most of files are B and K size] > > All files scanned: 1978149 > Files fragmented: 313 (0.015%) where 11 have 3+ extents > Total size of fragmented files: 7GB (~13% of dir size) BTRFS: Non of files according to filefrag are fragmented - all fit into one extent. > tar cf on fragmented files: > 1) time: 7sec > 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_fragmented.png > 3) sw graph with spd_readdir: > http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_spd.png > 4) both on one: > http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_pure_spd.png BTRFS: tar on ext4 fragmented files 1) time: 6sec 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_fragmented_btrfs.png > tar cf of fragmented files disturbed with [40,50) K files (in total > 4373 files). K files before fragmented M files: > 1) size: 7.2GB > 2) time: 1m 14sec > 3) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_disturbed.png > 4) sw graph with spd_readdir: > http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_spd.png > 5) both on one: > http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_pure_spd.png BTRFS: tar on [40,50) K and ext4 fragmented 1) time: 56sec 2) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_disturbed_btrfs.png New test I've included - randomly selected files: - size 240MB 1) ext4 (time: 34sec) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_random_ext4.png 2) btrfs (time: 55sec) sw graph: http://91.234.146.107/~difrost/seekwatcher/tar_random_btrfs.png -Jacek
next prev parent reply other threads:[~2012-03-04 10:25 UTC|newest] Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-02-29 13:52 getdents - ext4 vs btrfs performance Jacek Luczak 2012-02-29 13:55 ` Jacek Luczak 2012-02-29 13:55 ` Jacek Luczak 2012-02-29 14:07 ` Jacek Luczak 2012-02-29 14:07 ` Jacek Luczak 2012-02-29 14:07 ` Jacek Luczak 2012-02-29 14:21 ` Jacek Luczak 2012-02-29 14:21 ` Jacek Luczak 2012-02-29 14:21 ` Jacek Luczak 2012-02-29 14:42 ` Chris Mason 2012-02-29 14:55 ` Jacek Luczak 2012-03-01 13:35 ` Jacek Luczak 2012-03-01 13:50 ` Hillf Danton 2012-03-01 14:03 ` Jacek Luczak 2012-03-01 14:18 ` Chris Mason 2012-03-01 14:43 ` Jacek Luczak 2012-03-01 14:43 ` Jacek Luczak 2012-03-01 14:51 ` Chris Mason 2012-03-01 14:51 ` Chris Mason 2012-03-01 14:51 ` Chris Mason 2012-03-01 14:57 ` Jacek Luczak 2012-03-01 14:57 ` Jacek Luczak 2012-03-01 14:57 ` Jacek Luczak 2012-03-01 18:42 ` Ted Ts'o 2012-03-02 9:51 ` Jacek Luczak 2012-03-01 4:44 ` Theodore Tso 2012-03-01 4:44 ` Theodore Tso 2012-03-01 4:44 ` Theodore Tso 2012-03-01 14:38 ` Chris Mason 2012-03-01 14:38 ` Chris Mason 2012-03-02 10:05 ` Jacek Luczak 2012-03-02 10:05 ` Jacek Luczak 2012-03-02 10:05 ` Jacek Luczak 2012-03-02 14:00 ` Chris Mason 2012-03-02 14:16 ` Jacek Luczak 2012-03-02 14:16 ` Jacek Luczak 2012-03-02 14:16 ` Jacek Luczak 2012-03-02 14:26 ` Chris Mason 2012-03-02 14:26 ` Chris Mason 2012-03-02 19:32 ` Ted Ts'o 2012-03-02 19:50 ` Chris Mason 2012-03-05 13:10 ` Jan Kara 2012-03-03 22:41 ` Jacek Luczak 2012-03-03 22:41 ` Jacek Luczak 2012-03-04 10:25 ` Jacek Luczak [this message] 2012-03-04 10:25 ` Jacek Luczak 2012-03-05 11:32 ` Jacek Luczak 2012-03-05 11:32 ` Jacek Luczak 2012-03-05 11:32 ` Jacek Luczak 2012-03-06 0:37 ` Chris Mason 2012-03-06 0:37 ` Chris Mason 2012-03-08 17:02 ` Phillip Susi 2012-03-09 11:29 ` Lukas Czerner 2012-03-09 14:34 ` Chris Mason 2012-03-10 0:09 ` Andreas Dilger 2012-03-10 4:48 ` Ted Ts'o 2012-03-11 10:30 ` Andreas Dilger 2012-03-11 16:13 ` Ted Ts'o 2012-03-15 10:42 ` Jacek Luczak 2012-03-15 10:42 ` Jacek Luczak 2012-03-15 10:42 ` Jacek Luczak 2012-03-18 20:56 ` Ted Ts'o 2012-03-13 19:05 ` Phillip Susi 2012-03-13 19:53 ` Ted Ts'o 2012-03-13 20:22 ` Phillip Susi 2012-03-13 21:33 ` Ted Ts'o 2012-03-14 2:48 ` Yongqiang Yang 2012-03-14 2:51 ` Ted Ts'o 2012-03-14 14:17 ` Zach Brown 2012-03-14 16:48 ` Ted Ts'o 2012-03-14 17:37 ` Zach Brown 2012-03-14 8:12 ` Lukas Czerner 2012-03-14 9:29 ` Yongqiang Yang 2012-03-14 9:29 ` Yongqiang Yang 2012-03-14 9:29 ` Yongqiang Yang 2012-03-14 9:38 ` Lukas Czerner 2012-03-14 12:50 ` Ted Ts'o 2012-03-14 14:34 ` Lukas Czerner 2012-03-14 17:02 ` Ted Ts'o 2012-03-14 19:17 ` Chris Mason 2012-03-14 14:28 ` Phillip Susi 2012-03-14 16:54 ` Ted Ts'o 2012-03-10 3:52 ` Ted Ts'o 2012-03-15 7:59 ` Jacek Luczak 2012-03-15 7:59 ` Jacek Luczak 2012-03-15 7:59 ` Jacek Luczak -- strict thread matches above, loose matches on Subject: below -- 2012-02-29 13:31 Jacek Luczak 2012-02-29 13:51 ` Chris Mason 2012-02-29 14:00 ` Lukas Czerner 2012-02-29 14:05 ` Chris Mason
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CADDYkjSWpWAW0dxmMEWjHaRV=jS+U5obeau_GPEgwnJuPBLe3w@mail.gmail.com' \ --to=difrost.kernel@gmail.com \ --cc=chris.mason@oracle.com \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=tytso@mit.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.