Skip to contentSkip to conversation

Does "sync" cause the FUA bit to be set?

NFS Frank Steiner 4 participants 7 messages Jun 10, 2008 – Jun 16, 2008 3 messages not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi,

we have a raid controller serving a file system that we export and mount with NFS. Depending on the performance profile we chose for the raid controller, the are huge performance differences on the NFS client side between two profiles. Those two profiles both use write cache and no journaling, but one honors the FUA bit if it is set, and the other profile ignores it (there might be more differences, but the manual doesn't state any others but the FUA bit).

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

cu,
Frank

Signature · 18 lines
Dipl.-Inform. Frank Steiner   Web:  http://www.bio.ifi.lmu.de/~steiner/
Lehrstuhl f. Bioinformatik    Mail: http://www.bio.ifi.lmu.de/~steiner/m/
LMU, Amalienstr. 17           Phone: +49 89 2180-4049
80333 Muenchen, Germany       Fax:   +49 89 2180-99-4049
* Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. *

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist  -  [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued.
Please subscribe to [email protected] instead.
    http://vger.kernel.org/vger-lists.html#linux-nfs

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 10 lines · Frank Steiner

Hi,

we have a raid controller serving a file system that we export and mount with NFS. Depending on the performance profile we chose for the raid controller, the are huge performance differences on the NFS client side between two profiles. Those two profiles both use write cache and no journaling, but one honors the FUA bit if it is set, and the other profile ignores it (there might be more differences, but the manual doesn't state any others but the FUA bit).

Quoted 6 lines

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

No, it's not supposed to that for *all* writes. It's just supposed to honor the client's synchronous writes and commit calls. However, the directory is synced after each change (you say above that files are copied or deleted) with the sync flag and this is more likely to cause the slowdown you see.

Benny

Quoted 5 lines

cu,
Frank

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued. Please subscribe to [email protected] instead.
http://vger.kernel.org/vger-lists.html#linux-nfs

#3 lore raw
In reply to a message not in the archive
Quoted 4 lines · Frank Steiner

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

FUA bit is normally combined with write-thru scsi command that bypasses storage write cache. I would imagine it needs to well synchronize various pieces before issuing this command. It could hurt the performance if not done well, particularly for meta data. So your result is not surprising.

Quoted 3 lines

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

It depends on how the filesystem (and its associated disk subsystem) is implemented. The "sync" export option itself has a heavy performance impact, regardless how FUA bit is handled. Some vendors uses specialized HW (e.g. NVRAM) to alleviate this performance hit. If your filesystem doesn't have this type of support, you should expect "sync" option runs much much slower than "async". It is a choice (or balance) between cost, performance, and data reliability.

Don't you have the vendor's support group to go ? Better get this answer from the storage vendor directly.

-- Wendy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued. Please subscribe to [email protected] instead.
http://vger.kernel.org/vger-lists.html#linux-nfs

A message that is not in the archive (sent off-list or not yet received): [email protected]

#5 lore raw
Quoted 28 lines · Benny Halevy
Quoted 17 lines · Wendy Cheng
Quoted 5 lines · Frank Steiner

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

FUA bit is normally combined with write-thru scsi command that bypasses storage write cache. I would imagine it needs to well synchronize various pieces before issuing this command. It could hurt the performance if not done well, particularly for meta data. So your result is not surprising.

Quoted 4 lines

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

Quoted 8 lines

It depends on how the filesystem (and its associated disk subsystem) is implemented. The "sync" export option itself has a heavy performance impact, regardless how FUA bit is handled. Some vendors uses specialized HW (e.g. NVRAM) to alleviate this performance hit. If your filesystem doesn't have this type of support, you should expect "sync" option runs much much slower than "async". It is a choice (or balance) between cost, performance, and data reliability.

Quoted 7 lines

Wendy, I *think* what you have in mind is the sync mount option rather than the sync export flag. The latter just tells the server not to cheat and do everything asynchronously. It should *not* have a heavy performance penalty for I/O intensive writes if the client is using async writes and commits.

No, I didn't get confused ... We can use Linux as an example :) .. check out:
http://marc.info/?l=linux-nfs&m=119618886105337&w=2

-- quote

The default export might have been "async", but unless the option "sync" in /etc/exports was being ignored I was already using "sync". Nevertheless I will try to change to async and test if it makes a difference.

(one day later: )

I have now tried it and the load on the NFS server is much lower and KDE logins seem to be reasonably fast now.

-- un-quote

-- Wendy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued. Please subscribe to [email protected] instead.
http://vger.kernel.org/vger-lists.html#linux-nfs

#6 lore raw
Quoted 42 lines · Wendy Cheng
Quoted 28 lines · Benny Halevy
Quoted 17 lines · Wendy Cheng
Quoted 5 lines · Frank Steiner

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

FUA bit is normally combined with write-thru scsi command that bypasses storage write cache. I would imagine it needs to well synchronize various pieces before issuing this command. It could hurt the performance if not done well, particularly for meta data. So your result is not surprising.

Quoted 4 lines

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

Quoted 8 lines

It depends on how the filesystem (and its associated disk subsystem) is implemented. The "sync" export option itself has a heavy performance impact, regardless how FUA bit is handled. Some vendors uses specialized HW (e.g. NVRAM) to alleviate this performance hit. If your filesystem doesn't have this type of support, you should expect "sync" option runs much much slower than "async". It is a choice (or balance) between cost, performance, and data reliability.

Quoted 7 lines

Wendy, I *think* what you have in mind is the sync mount option rather than the sync export flag. The latter just tells the server not to cheat and do everything asynchronously. It should *not* have a heavy performance penalty for I/O intensive writes if the client is using async writes and commits.

No, I didn't get confused ... We can use Linux as an example :) .. check out:
http://marc.info/?l=linux-nfs&m=119618886105337&w=2

-- quote

Quoted 8 lines

The default export might have been "async", but unless the option "sync" in /etc/exports was being ignored I was already using "sync". Nevertheless I will try to change to async and test if it makes a difference.

(one day later: )

I have now tried it and the load on the NFS server is much lower and KDE logins seem to be reasonably fast now.

Yeah, the "async" export options is expected to improve performance on a workload like that (with lots of directory creates/deletes). But it does so by violating the promises that the protocol makes to the client.

--b.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued. Please subscribe to [email protected] instead.
http://vger.kernel.org/vger-lists.html#linux-nfs

A message that is not in the archive (sent off-list or not yet received): [email protected]

#8 lore raw
Quoted 63 lines · Benny Halevy
Quoted 61 lines · Wendy Cheng
Quoted 33 lines · Benny Halevy
Quoted 21 lines · Wendy Cheng
Quoted 6 lines · Frank Steiner

With the profile ignoring the FUA bit, copying or deleting directories of e.g. 10M with a about 1000 files is factor 5 faster than with the profile honoring the FUA bit.

FUA bit is normally combined with write-thru scsi command that bypasses storage write cache. I would imagine it needs to well synchronize various pieces before issuing this command. It could hurt the performance if not done well, particularly for meta data. So your result is not surprising.

Quoted 5 lines

We export with the "sync" option. Does that option maybe set the FUA bit for all write operations on the NFS server?

Quoted 9 lines

It depends on how the filesystem (and its associated disk subsystem) is implemented. The "sync" export option itself has a heavy performance impact, regardless how FUA bit is handled. Some vendors uses specialized HW (e.g. NVRAM) to alleviate this performance hit. If your filesystem doesn't have this type of support, you should expect "sync" option runs much much slower than "async". It is a choice (or balance) between cost, performance, and data reliability.

Quoted 8 lines

Wendy, I *think* what you have in mind is the sync mount option rather than the sync export flag. The latter just tells the server not to cheat and do everything asynchronously. It should *not* have a heavy performance penalty for I/O intensive writes if the client is using async writes and commits.

No, I didn't get confused ... We can use Linux as an example :) .. check out:
http://marc.info/?l=linux-nfs&m=119618886105337&w=2

-- quote

The default export might have been "async", but unless the option "sync" in /etc/exports was being ignored I was already using "sync". Nevertheless I will try to change to async and test if it makes a difference.

(one day later: )

I have now tried it and the load on the NFS server is much lower and KDE logins seem to be reasonably fast now.

-- un-quote

Quoted 7 lines
Quoted 2 lines

-- Wendy

I'm not sure how the problem you referred to is related to the one at hand. what I'm trying to say is that the sync _exports_ flag has stronger affect on namespace modifying workloads, like what I believe Frank's workload might be ... [snip]

The referred thread showed "sync" export has performance impacts on Linux server *too*.

-- Wendy

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued. Please subscribe to [email protected] instead.
http://vger.kernel.org/vger-lists.html#linux-nfs

#9 lore raw

Thanks to the two of you for the detailed explanations! It did help me understanding the impacts to my raid controllers profile!

cu,
Frank

Signature · 18 lines
Dipl.-Inform. Frank Steiner   Web:  http://www.bio.ifi.lmu.de/~steiner/
Lehrstuhl f. Bioinformatik    Mail: http://www.bio.ifi.lmu.de/~steiner/m/
LMU, Amalienstr. 17           Phone: +49 89 2180-4049
80333 Muenchen, Germany       Fax:   +49 89 2180-99-4049
* Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. *

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
NFS maillist  -  [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
_______________________________________________
Please note that [email protected] is being discontinued.
Please subscribe to [email protected] instead.
    http://vger.kernel.org/vger-lists.html#linux-nfs