public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
* More performance results
@ 2008-12-16 15:44 Steven Pratt
  0 siblings, 0 replies; 12+ messages in thread
From: Steven Pratt @ 2008-12-16 15:44 UTC (permalink / raw)
  To: linux-btrfs

Just realized that I never posted the link to the results from a few 
weeks ago.  These are from the November 20 git tree, just before the 
move to the 2.6.28-rc based kernels.  We have been having some issues 
with the new kernel (unrelated to btrfs) that have kept us from getting 
newer results.  Will post as soon as we have them.

http://btrfs.boxacle.net/repository/raid/history/History.html

For these results I show a history of the last 3 btrfs runs so we can 
see how performance is changing with new releases.

Also of note, in the analysis/oprofile.breakout.001 directories of any 
benchmark, you can now find oprofile call graphs (for new runs only).

Steve

^ permalink raw reply	[flat|nested] 12+ messages in thread

* More performance results
@ 2009-02-02 15:58 Steven Pratt
  2009-02-02 16:00 ` Chris Mason
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Steven Pratt @ 2009-02-02 15:58 UTC (permalink / raw)
  To: linux-btrfs

Finally cleared out a backlog of results to upload.  Main performance 
page is updated with all the links.  (http://btrfs.boxacle.net/)  Most 
recent results are on 2.6.29-rc2. As usual see analysis directory of 
results for oprofile, including call graphs.

Single disk results are not too bad.  Raid still falls apart on any 
write heavy workload.

Steve



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-02 15:58 Steven Pratt
@ 2009-02-02 16:00 ` Chris Mason
  2009-02-02 17:35   ` Steven Pratt
  2009-02-03 13:32 ` debian developer
  2009-03-16 17:06 ` Mingming Cao
  2 siblings, 1 reply; 12+ messages in thread
From: Chris Mason @ 2009-02-02 16:00 UTC (permalink / raw)
  To: Steven Pratt; +Cc: linux-btrfs

On Mon, 2009-02-02 at 09:58 -0600, Steven Pratt wrote:
> Finally cleared out a backlog of results to upload.  Main performance 
> page is updated with all the links.  (http://btrfs.boxacle.net/)  Most 
> recent results are on 2.6.29-rc2. As usual see analysis directory of 
> results for oprofile, including call graphs.
> 
> Single disk results are not too bad.  Raid still falls apart on any 
> write heavy workload.

Thanks Steve, was the mainline btrfs used for this?  I'm working on the
write heavy problems this week.

-chris



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-02 16:00 ` Chris Mason
@ 2009-02-02 17:35   ` Steven Pratt
  0 siblings, 0 replies; 12+ messages in thread
From: Steven Pratt @ 2009-02-02 17:35 UTC (permalink / raw)
  To: Chris Mason; +Cc: linux-btrfs

Chris Mason wrote:
> On Mon, 2009-02-02 at 09:58 -0600, Steven Pratt wrote:
>   
>> Finally cleared out a backlog of results to upload.  Main performance 
>> page is updated with all the links.  (http://btrfs.boxacle.net/)  Most 
>> recent results are on 2.6.29-rc2. As usual see analysis directory of 
>> results for oprofile, including call graphs.
>>
>> Single disk results are not too bad.  Raid still falls apart on any 
>> write heavy workload.
>>     
>
> Thanks Steve, was the mainline btrfs used for this?  I'm working on the
> write heavy problems this week.
>
>   
This was straight mainline Linus tree.

Steve

> -chris
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>   


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-02 15:58 Steven Pratt
  2009-02-02 16:00 ` Chris Mason
@ 2009-02-03 13:32 ` debian developer
  2009-02-03 14:22   ` jim owens
                     ` (2 more replies)
  2009-03-16 17:06 ` Mingming Cao
  2 siblings, 3 replies; 12+ messages in thread
From: debian developer @ 2009-02-03 13:32 UTC (permalink / raw)
  To: Steven Pratt; +Cc: linux-btrfs

On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
>
> Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
>
> Single disk results are not too bad.  Raid still falls apart on any write heavy workload.

Would you please mind explaining how bad the results are and
how much more this needs to be improved for Btrfs to be perfomance
wise acceptable?

I see that Btrfs almost everywhere lacks XFS and others in some cases.

Thanks,
Andev

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 13:32 ` debian developer
@ 2009-02-03 14:22   ` jim owens
  2009-02-03 14:56   ` Steven Pratt
  2009-02-03 15:01   ` Chris Mason
  2 siblings, 0 replies; 12+ messages in thread
From: jim owens @ 2009-02-03 14:22 UTC (permalink / raw)
  To: debian developer; +Cc: Steven Pratt, linux-btrfs

debian developer wrote:
> On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
>> Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
>>
>> Single disk results are not too bad.  Raid still falls apart on any write heavy workload.
> 
> Would you please mind explaining how bad the results are and
> how much more this needs to be improved for Btrfs to be perfomance
> wise acceptable?
> 
> I see that Btrfs almost everywhere lacks XFS and others in some cases.

Nobody working on btrfs development is satisfied with
the current performance.  We knew before the merge that
the present code would not be a benchmarking champion.

We are working on improving it.  The more testing of
different configurations and more feedback, the better
we understand what areas need work.

For example, I'm working on really implementing O_DIRECT.
Today O_DIRECT just goes through buffer cache.

"Acceptable performance" will depend on what features are
important to a user.  For example, we expect to use more
CPU than other filesystems with btrfs doing checksumming.

jim

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 13:32 ` debian developer
  2009-02-03 14:22   ` jim owens
@ 2009-02-03 14:56   ` Steven Pratt
  2009-02-03 15:01   ` Chris Mason
  2 siblings, 0 replies; 12+ messages in thread
From: Steven Pratt @ 2009-02-03 14:56 UTC (permalink / raw)
  To: debian developer; +Cc: linux-btrfs

debian developer wrote:
> On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
>   
>> Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
>>
>> Single disk results are not too bad.  Raid still falls apart on any write heavy workload.
>>     
>
> Would you please mind explaining how bad the results are and
> how much more this needs to be improved for Btrfs to be perfomance
> wise acceptable?
>   
Well as I pointed out most of the write workloads seem to run into 
CPU/locking issues on RAID systems (especially at higher thread 
counts)where high levels of throughput are expected.    There is lots of 
data out there, but a good place to look would be 
http://btrfs.boxacle.net/repository/raid/2.6.29-rc2/2.6.29-rc2/2.6.29-rc2.html  
which shows performance on the latest RC kernel.  As thread counts go 
up, BTRFS lags more and more on write workloads.  For example on 128 
thread random write 
http://btrfs.boxacle.net/repository/raid/2.6.29-rc2/2.6.29-rc2/2.6.29-rc2_Large_file_random_writes._num_threads=128.html
BTRFS achieves about 4MB/sec where the next worse FS (XFS in this case) 
get 78MB/sec.   So for this example BTRFS is slower by a factor of 
almost 20x.

Let me point out that this is not a criticism of BTRFS, this is just the 
normal development cycle.  Most of the major function is now in, and 
performance can now become a focus.  The point of these benchmarks is to 
help identify the areas that need attention and provide the debug and 
analysis data to help facilitate that.    Chris has already stated that 
he hopes to start looking at write performance this week.
> I see that Btrfs almost everywhere lacks XFS and others in some cases.
>   
For now.

Steve

> Thanks,
> Andev
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>   


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 13:32 ` debian developer
  2009-02-03 14:22   ` jim owens
  2009-02-03 14:56   ` Steven Pratt
@ 2009-02-03 15:01   ` Chris Mason
  2009-02-03 15:13     ` Steven Pratt
  2009-02-04  2:57     ` Bron Gondwana
  2 siblings, 2 replies; 12+ messages in thread
From: Chris Mason @ 2009-02-03 15:01 UTC (permalink / raw)
  To: debian developer; +Cc: Steven Pratt, linux-btrfs

On Tue, 2009-02-03 at 19:02 +0530, debian developer wrote:
> On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
> >
> > Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
> >
> > Single disk results are not too bad.  Raid still falls apart on any write heavy workload.
> 
> Would you please mind explaining how bad the results are and
> how much more this needs to be improved for Btrfs to be perfomance
> wise acceptable?
> 
> I see that Btrfs almost everywhere lacks XFS and others in some cases.

These benchmarks are great because they hammer on some of the worst
cases code in btrfs.  The mail-server benchmark for example isn't quite
a mail server workload because it doesn't fsync the files to disk.

But what it does do is hammer on a mixed file read/write/delete
workload, which hits btree concurrency and file layout.  In my testing
here, the big difference between ext4 and btrfs isn't writing to files,
it is actually the unlinks.  If I take them out of the run, btrfs is
very close to ext4 times.

So, I'm working on that.

The random write workload is probably just a file allocation problem.
Btrfs should be perform very well in that workload.

-chris





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 15:01   ` Chris Mason
@ 2009-02-03 15:13     ` Steven Pratt
  2009-02-03 16:38       ` Chris Mason
  2009-02-04  2:57     ` Bron Gondwana
  1 sibling, 1 reply; 12+ messages in thread
From: Steven Pratt @ 2009-02-03 15:13 UTC (permalink / raw)
  To: Chris Mason; +Cc: debian developer, linux-btrfs

Chris Mason wrote:
> On Tue, 2009-02-03 at 19:02 +0530, debian developer wrote:
>   
>> On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
>>     
>>> Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
>>>
>>> Single disk results are not too bad.  Raid still falls apart on any write heavy workload.
>>>       
>> Would you please mind explaining how bad the results are and
>> how much more this needs to be improved for Btrfs to be perfomance
>> wise acceptable?
>>
>> I see that Btrfs almost everywhere lacks XFS and others in some cases.
>>     
>
> These benchmarks are great because they hammer on some of the worst
> cases code in btrfs.  The mail-server benchmark for example isn't quite
> a mail server workload because it doesn't fsync the files to disk.
>   
Actually it does.  We fixed this after the first round was posted.  Any 
results since October have fsync on the create of new files.

 From the latest runs for mailserver:

	 op weights
	                 read = 0 (0.00%)
	              readall = 4 (57.14%)
	                write = 0 (0.00%)
	               create = 0 (0.00%)
	               append = 0 (0.00%)
	               delete = 1 (14.29%)
	               metaop = 0 (0.00%)
	            createdir = 0 (0.00%)
	                 stat = 0 (0.00%)
	             writeall = 0 (0.00%)
	       writeall_fsync = 0 (0.00%)
	           open_close = 0 (0.00%)
	          write_fsync = 0 (0.00%)
	         create_fsync = 2 (28.57%)
	         append_fsync = 0 (0.00%)




 We should probably fsync that into the list of system calls that we 
track latency for.

Steve

> But what it does do is hammer on a mixed file read/write/delete
> workload, which hits btree concurrency and file layout.  In my testing
> here, the big difference between ext4 and btrfs isn't writing to files,
> it is actually the unlinks.  If I take them out of the run, btrfs is
> very close to ext4 times.
>
> So, I'm working on that.
>
> The random write workload is probably just a file allocation problem.
> Btrfs should be perform very well in that workload.
>
> -chris
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>   


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 15:13     ` Steven Pratt
@ 2009-02-03 16:38       ` Chris Mason
  0 siblings, 0 replies; 12+ messages in thread
From: Chris Mason @ 2009-02-03 16:38 UTC (permalink / raw)
  To: Steven Pratt; +Cc: debian developer, linux-btrfs

On Tue, 2009-02-03 at 09:13 -0600, Steven Pratt wrote:
> Chris Mason wrote:
> > On Tue, 2009-02-03 at 19:02 +0530, debian developer wrote:
> >   
> >> On Mon, Feb 2, 2009 at 9:28 PM, Steven Pratt <slpratt@austin.ibm.com> wrote:
> >>     
> >>> Finally cleared out a backlog of results to upload.  Main performance page is updated with all the links.  (http://btrfs.boxacle.net/)  Most recent results are on 2.6.29-rc2. As usual see analysis directory of results for oprofile, including call graphs.
> >>>
> >>> Single disk results are not too bad.  Raid still falls apart on any write heavy workload.
> >>>       
> >> Would you please mind explaining how bad the results are and
> >> how much more this needs to be improved for Btrfs to be perfomance
> >> wise acceptable?
> >>
> >> I see that Btrfs almost everywhere lacks XFS and others in some cases.
> >>     
> >
> > These benchmarks are great because they hammer on some of the worst
> > cases code in btrfs.  The mail-server benchmark for example isn't quite
> > a mail server workload because it doesn't fsync the files to disk.
> >   
> Actually it does.  We fixed this after the first round was posted.

Oh, sorry I thought that was put into a different run with fsync on.
So, the mail server benchmark I've been tuning locally doesn't have
fsync on ;)  Deletes are still the slow part on that one.

Thanks for the correction though, I'll look at the fsync perf once the
non-fsync perf is faster.

-chris



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-03 15:01   ` Chris Mason
  2009-02-03 15:13     ` Steven Pratt
@ 2009-02-04  2:57     ` Bron Gondwana
  1 sibling, 0 replies; 12+ messages in thread
From: Bron Gondwana @ 2009-02-04  2:57 UTC (permalink / raw)
  To: Chris Mason; +Cc: debian developer, Steven Pratt, linux-btrfs

On Tue, Feb 03, 2009 at 10:01:36AM -0500, Chris Mason wrote:
> [...] In my testing
> here, the big difference between ext4 and btrfs isn't writing to files,
> it is actually the unlinks.  If I take them out of the run, btrfs is
> very close to ext4 times.

Oh man, what is it with unlinks.  Nobody does them very fast.

We use "delayed delete" with Cyrus so that the majority of unlinks
get saved for the weekend, and even then run them serially because
the IO hit is so high.  We do more IO during the cyr_expire run than
even the peak of U.S. day.

A "multi-unlink" API would be seriously nice, where you could say "I
want all these files to disappear, so don't bother trying to keep making
the directory entries consistent in-between-times".

Especially, 'rm -rf' performance really sucks with single unlinks -
you're re-creating all this directory data that's just going to be
discarded in a second anyway.

Bron ( wondering how much is "it's a hard problem" and how much is
       "nobody bothers to optimise it" )

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: More performance results
  2009-02-02 15:58 Steven Pratt
  2009-02-02 16:00 ` Chris Mason
  2009-02-03 13:32 ` debian developer
@ 2009-03-16 17:06 ` Mingming Cao
  2 siblings, 0 replies; 12+ messages in thread
From: Mingming Cao @ 2009-03-16 17:06 UTC (permalink / raw)
  To: tytso, linux-ext4; +Cc: linux-btrfs, Steven Pratt

=E5=9C=A8 2009-02-02=E4=B8=80=E7=9A=84 09:58 -0600=EF=BC=8CSteven Pratt=
=E5=86=99=E9=81=93=EF=BC=9A
> Finally cleared out a backlog of results to upload.  Main performance=
=20
> page is updated with all the links.  (http://btrfs.boxacle.net/)  Mos=
t=20
> recent results are on 2.6.29-rc2. As usual see analysis directory of=20
> results for oprofile, including call graphs.
>=20
> Single disk results are not too bad.  Raid still falls apart on any=20
> write heavy workload.
>=20
> Steve
>=20
Quick link to the latest single disk IO results:

http://btrfs.boxacle.net/repository/single-disk/2.6.29-rc2/2.6.29-rc2/2=
=2E6.29-rc2.html

Steve's fs performance tests shows performance regression on ext4 compa=
ring with ext3 with O_DIRECT random writes,  about 10% on single disk. =
=20

http://btrfs.boxacle.net/repository/single-disk/2.6.29-rc2/2.6.29-rc2/2=
=2E6.29-rc2_Large_file_random_writes_odirect._num_threads=3D32.html

And looked at the oprofile,  comparing with ext3,  ext4 seems  mark the
inode  diry quit often than ext3 does.=20

62        0.0063  ext3.ko                  ext3_mark_iloc_dirty
367       0.0371  ext4.ko                  ext4_mark_iloc_dirty

This also seen in random read test (with no O_DIRECT) oprfofile data, s=
o
it doesn't seem not a O_DIRECT issue.

Any thoughts?


More detail about the ext3/4 random odirect writes oprofile...


ext3:

:~/ext4$ grep ext3 oprofile-ext3-random-write-odirect.001=20
554       0.0567  ext3.ko                  ext3_get_branch
346       0.0354  ext3.ko                  ext3_file_write
336       0.0344  ext3.ko                  ext3_direct_IO
215       0.0220  ext3.ko                  ext3_get_blocks_handle
125       0.0128  ext3.ko                  ext3_block_to_path
112       0.0115  ext3.ko                  verify_chain
76        0.0078  ext3.ko                  ext3_get_block
62        0.0063  ext3.ko                  ext3_mark_iloc_dirty
39        0.0040  ext3.ko                  __ext3_get_inode_loc
17        0.0017  ext3.ko                  ext3_getblk
14        0.0014  ext3.ko                  ext3_get_group_desc
13        0.0013  ext3.ko
__ext3_journal_get_write_access
13        0.0013  ext3.ko                  ext3_find_entry
13        0.0013  ext3.ko                  ext3_new_blocks
13        0.0013  ext3.ko                  ext3_reserve_inode_write
=2E...

$ grep ext4 oprofile-ext4-random-write-odirect.001=20
warning: could not check that the binary
file /lib/modules/2.6.29-rc2/kernel/fs/ext4/ext4.ko has not been
modified since the profile was taken. Results may be inaccurate.
420       0.0425  ext4.ko                  ext4_direct_IO
411       0.0416  ext4.ko                  ext4_file_write
403       0.0408  ext4.ko                  ext4_ext_find_extent
374       0.0378  ext4.ko                  __ext4_get_inode_loc
367       0.0371  ext4.ko                  ext4_mark_iloc_dirty
202       0.0204  ext4.ko                  ext4_ext_get_blocks
194       0.0196  ext4.ko                  ext4_get_blocks_wrap
179       0.0181  ext4.ko                  __ext4_ext_check_header
178       0.0180  ext4.ko                  ext4_journal_start_sb
117       0.0118  ext4.ko                  ext4_get_block
109       0.0110  ext4.ko                  ext4_get_group_desc
89        0.0090  ext4.ko                  ext4_mark_inode_dirty
84        0.0085  ext4.ko                  ext4_dirty_inode
74        0.0075  ext4.ko                  __ext4_journal_stop
=2E....

:~/ext4$ grep jbd2 oprofile-ext4-random-write-odirect.001=20
450       0.0455  jbd2.ko                  start_this_handle
288       0.0291  jbd2.ko                  do_get_write_access
287       0.0290  jbd2.ko                  jbd2_journal_stop
244       0.0247  jbd2.ko                  jbd2_journal_start
235       0.0238  jbd2.ko                  jbd2_journal_dirty_metadata
214       0.0216  jbd2.ko                  jbd2_journal_add_journal_hea=
d


~/ext4$ grep jbd oprofile-ext3-random-write-odirect.001=20
116       0.0119  jbd.ko                   journal_add_journal_head
94        0.0096  jbd.ko                   do_get_write_access
73        0.0075  jbd.ko                   start_this_handle
68        0.0070  jbd.ko                   journal_clean_one_cp_list
58        0.0059  jbd.ko                   journal_commit_transaction
48        0.0049  jbd.ko                   journal_dirty_metadata
45        0.0046  jbd.ko                   __journal_file_buffer
42        0.0043  jbd.ko                   __journal_temp_unlink_buffer
42        0.0043  jbd.ko                   journal_put_journal_head





> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs=
" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" i=
n
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-03-16 17:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-16 15:44 More performance results Steven Pratt
  -- strict thread matches above, loose matches on Subject: below --
2009-02-02 15:58 Steven Pratt
2009-02-02 16:00 ` Chris Mason
2009-02-02 17:35   ` Steven Pratt
2009-02-03 13:32 ` debian developer
2009-02-03 14:22   ` jim owens
2009-02-03 14:56   ` Steven Pratt
2009-02-03 15:01   ` Chris Mason
2009-02-03 15:13     ` Steven Pratt
2009-02-03 16:38       ` Chris Mason
2009-02-04  2:57     ` Bron Gondwana
2009-03-16 17:06 ` Mingming Cao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox