Why does NFS perform poorly when using XFS and how can I correct this ?

Solution Unverified - Updated -

Issue

  • With a RHEL 6.4 NFS server under load (writing ~600MB/sec average) performance in unexpectedly slow

  • Using perf

    • perf top shows mutex_spin_on_owner is the busiest function

      --- mutex_spin_on_owner
          |
          |--100.00%-- __mutex_lock_slowpath
          |          mutex_lock
          |          |
          |          |--100.00%-- xfs_file_buffered_aio_write
          |          |          xfs_file_aio_write
          |          |          do_sync_readv_writev
          |          |          do_readv_writev
          |          |          vfs_writev
          |          |          nfsd_vfs_write
          |          |          nfsd_write
          |          |          nfsd3_proc_write
          |          |          nfsd_dispatch
          |          |          svc_process_common
          |          |          svc_process
          |          |          nfsd
          |          |          kthread
          |          |          child_rip
          |           --0.00%-- [...]
           --0.00%-- [...]
      
    • perf report shows xfs_file_buffered_aio_write() as the source of the mutex requests.

  • Can anything be done to improve the write performance?

Environment

  • Redhat Enterprise Linux 6.4
  • XFS Scalable Filesystem
  • NFS Server

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content