Performance loss when writing large files over NFS, on kernel 4.12.14 (SLES 12 SP4 or higher)

This document (000019615) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 12 SP4
SUSE Linux Enterprise Server 12 SP5
SUSE Linux Enterprise Server 15 SP1

Situation

While writing a large file to an NFS mount point, if the OS's "dirty_background_ratio" or "dirty_background_bytes" is reached, write performance drops off excessively.

This was not observed on SLES 12 SP3 or older, but is observed on SLES 12 SP4 or newer, i.e. distributions containing kernel 4.12.14.

Resolution

Update the kernel with public maintenance.  The list below shows some of the kernel flavors and versions where the fix was first released.

For SLES 12 SP4:
kernel-default-4.12.14-95.51.1
kernel-azure-4.12.14-6.40.1
kernel-rt-4.12.14-8.18.1

For SLES 12 SP5:
kernel-default-4.12.14-122.20.1
kernel-azure-4.12.14-16.13.1

For SLES 15 SP1:
kernel-default-4.12.14-197.40.1
kernel-azure-4.12.14-8.30.1

If your SUSE kernel flavor is not on this list, the following information may be helpful:

Generally speaking, SUSE Linux Enterprise support packs which were under general maintenance received this fix in a kernel release in late April 2020.

To check your currently installed kernel for this fix, for example, if you use "kernel-default":

rpm -q --changelog kernel-default | grep 1163403

If this returns results, the fix if present.

Cause

When the amount of data waiting to be written (the write cache, or dirty cache) reaches the dirty background threshhold, additional threads are spawned to help clear out data from the dirty cache.  This was causing too many calls for small and sometimes redundant writes and commits to be performed.  The code has been modified to insure that a suitable number of dirty pages are collected, before writing them to NFS.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000019615
  • Creation Date: 29-Apr-2020
  • Modified Date:29-Apr-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback@suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center