NFSv4 performance problem with newer kernels
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I am seeing an issue with NFSv4 performance on Ubuntu 20.04.3 LTS on both clients and server (tested kernels 5.4 to 5.16), where the server is connected by 10Gbit Ethernet and with multiple clients connected by 1Gbit. I am reading a large file from an NFS mount via "dd" sending output to /dev/null with bs=4096. Using default sysctl and mount options I am seeing speeds maxing out below 1Gbit/sec. If I force NFSv3 I see speeds close to 10Gbit/sec with sufficient clients connected. I also see no issue with Ubuntu 16.04 (when used for both server and clients) in conjunction with NFSv4. I have attached the output from two iftop's which shows the status when using NFSv4 and when using NFSv3, in the NFSv4 you can clearly see one client reading at max speed and all the others apparently throttling back to practically nothing.
I have additionally tested a range of mount options, which made no difference, BBR congestion control which made no difference and the following kernel settings which also made no difference:
net.core.
net.core.
net.core.
net.core.
net.core.
net.core.
net.ipv4.
net.ipv4.
net.ipv4.
net.ipv4.
net.ipv4.
net.ipv4.
The problem is seen on dissimilar hardware, ie this problem exists when testing with an HP DL380 G10 with Mellanox 10Gbit Ethernet connected to Cisco switch, and also on a Dell R430 with Broadcom 10Gbit Ethernet connected to a Netgear switch (just to name two of several configurations that have been tested). The clients vary in each test case also, but are desktop PCs and laptops.
---
ProblemType: Bug
AlsaDevices:
total 0
crw-rw----+ 1 root audio 116, 1 Feb 15 10:23 seq
crw-rw----+ 1 root audio 116, 33 Feb 15 10:23 timer
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.20.11-
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CasperMD5CheckR
DistroRelease: Ubuntu 20.04
InstallationDate: Installed on 2022-02-14 (0 days ago)
InstallationMedia: Ubuntu-Server 20.04.2 LTS "Focal Fossa" - Release amd64 (20210201.2)
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
MachineType: Dell Inc. PowerEdge R430
Package: linux (not installed)
PciMultimedia:
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 mgag200drmfb
ProcKernelCmdLine: BOOT_IMAGE=
ProcVersionSign
RelatedPackageV
linux-
linux-
linux-firmware 1.187.26
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
Tags: focal uec-images
Uname: Linux 5.13.0-28-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: N/A
_MarkForUpload: True
dmi.bios.date: 06/07/2021
dmi.bios.release: 2.13
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 2.13.0
dmi.board.name: 0CN7X8
dmi.board.vendor: Dell Inc.
dmi.board.version: A04
dmi.chassis.type: 23
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: PowerEdge R430
dmi.product.sku: SKU=NotProvided
dmi.sys.vendor: Dell Inc.
Where both client and server are connected via 10Gbit speeds are as expected with NFSv4 (testing with a single client)