All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tristan Ball <tristanb@pronto.com.au>
To: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: NFS Sync with External Journal
Date: Mon, 6 Jun 2011 13:42:39 +0000	[thread overview]
Message-ID: <3FA034197108F04082D2AE1401CE0F3832A9B34E@VICMAILBOX.pronto.com.au> (raw)

Hi,

I've been experimenting with using an external ext3 journal as a way to bring the write performance of an NFS share exported with the the 'sync' option closer to that of one exported with 'async'.
I've mounted the ext3 filesystem with data=journal, and the journal itself is on SSD.  I've seen various references on the net saying that this should improve performance, as the nfs process can respond to write requests as soon as the data is in journal, rather than flushed all the way to the filesystem

However, in my tests is seems that when the filesystem is shared as 'sync', then writes are written to the filesystem at the same time as they are written to the journal, and performance isn't significantly different to a plain ext3 filesystem with an internal journal and data=ordered. To me this implies that the NFS layer isn't returning from writes until they're flushed to the filesystem disk?

So, my question really is - should I be expecting this to work as a performance enhancer?

I realise that the server is doing more work with data=journal, however given how much faster than the HD the SSD is, and the fact that the journal is large enough to contain all the data I'm writing in this test, I was hoping to see the nfs writes occur at closer to wirespeed.

Server is Oracle Linux, Kernel 2.6.32-100.28.5.el6.x86_64.
Client was Ubuntu, 2.6.32-32-server x86_64.

/etc/exports:
/plain          *(rw,async,no_subtree_check,no_root_squash)
/split          *(rw,async,no_subtree_check,no_root_squash) # (FS with external Journal)

Client mounts were done simply with -o 'rw,rsize=32768,wsize=32768'

Benchmark results:
Plain Ext3, data=ordered export=sync, write speed 56-62MB/sec
Split Ext3, data=journal export=sync, write speed = 46-50MB/sec

For reference:
Plain Ext3, data=ordered export=async, write speed 111MB/sec
Split Ext3, data=journal export=async, write speed 110MB/sec

Thanks for your time.

Tristan


Tristan Ball - Hosted Services Manager VIC
Pronto Hosted Services
20 Lakeside Drive, Burwood East, VIC 3151
Phone: +61 3 9887 7770 | Email: tristanb@pronto.com.au
Mobile: +61 408 397 473


For PHS helpdesk support, please email phs@pronto.com.au
For urgent after hours support phone: 1800 622 556

---Legal Notice---
The email message and any attachments are confidential and subject to copyright. If you are not the intended recipient, any use, interference with, disclosure or copying of this material is unauthorised and prohibited. No part may be reproduced, adapted or transmitted without the written permission of the copyright owner. If you have received this email in error, please immediately advise the sender by return email and delete the message from your system. Before opening or using attachments, check for viruses and defects. Our liability is limited to re-supplying any affected attachments.


             reply	other threads:[~2011-06-06 13:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-06 13:42 Tristan Ball [this message]
2011-06-06 20:12 ` NFS Sync with External Journal Wendy Cheng
2011-06-07 23:23   ` J. Bruce Fields
2011-06-08  3:57     ` Tristan Ball
2011-06-08 17:33       ` Wendy Cheng
2011-06-08 18:08 ` bpm

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=3FA034197108F04082D2AE1401CE0F3832A9B34E@VICMAILBOX.pronto.com.au \
    --to=tristanb@pronto.com.au \
    --cc=linux-nfs@vger.kernel.org \
    /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: link
Be 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.