Bug 29403 - Low speed of copying files of any size, both to & from the NFS server
Summary: Low speed of copying files of any size, both to & from the NFS server
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 8
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Guillaume Rousse
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-24 16:28 CEST by Levchenko Roman
Modified: 2021-08-27 11:56 CEST (History)
2 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments
nfs-v3-noatime (273.38 KB, image/png)
2021-08-26 11:02 CEST, Alex Kotov
Details

Description Levchenko Roman 2021-08-24 16:28:16 CEST
Description of problem:
When copying, the process immediately starts almost at the limit of the equipment's capabilities, at a speed of just over 100Mb/s. But after 10-20 seconds, it drops sharply to 15-20Mb/s, and after a couple of minutes, even to hundreds of Kib/s.

Both computers - Mageia8, also observed on an NFS client, with OS ROSA Desktop Fresh R11, and on Rosa - the same result, the speed drops sharply.

But, I underline, copying the same directory with SMB-protokol demonstrates a speed 60-80Mib/s stable. So, it seems not hardware problem.

The line from exports on the server:
/mnt/hd3 192.168.1.0/24(no_all_squash,async,secure,no_subtree_check,rw)
Line from fstab on client:
192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs wsize=8192,rsize=8192,soft 0 0
The parameters in exports and fstab have not changed for several years.
Firewall is off on this connection.


Version-Release number of selected component (if applicable):
the standard set of packages that MCC defines and installs automatically with NFS sharing, or NFS mounting.

How reproducible:
Every time I copy smth from NFS-server or to it.

Steps to Reproduce:
1.install packages for NFS (servers and clients)
2. define the disks to share on server, mount the disks on client 
3. try to copy big file (about 20Gb), and directory with number of small files (like i586 from repository)
Comment 1 Lewis Smith 2021-08-24 21:04:10 CEST
Thank you for the report, and sorry for the problem.
> Both computers - Mageia8,
> also observed on an NFS client, with OS ROSA Desktop Fresh R11, and on Rosa
> - the same result, the speed drops sharply
Can we clarify all this? Do you mean, perhaps:
- the problem happens with Mageia 8 as both NFS server & client?
- it also happens on an NFS client with Rosa [Desktop Fresh R11]: which of these is the client & server? Which is the 'NFS client', and to which 'server'?
- Are you saying that the same problem happens with Mageia 8 & Rosa?
- Can you say whether the problem happens with Mageia as the client, Rosa the server; or Rosa the client & Mageia the server?
- Re the 'copy', can you say by what mechanism/command?

CC: (none) => lewyssmith
Summary: Low speed of copying files of any size, both from the NFS server and to it. => Low speed of copying files of any size, both to & from the NFS server

Comment 2 Levchenko Roman 2021-08-25 01:01:50 CEST
Good day Lewis, thank you for your participation

(In reply to Lewis Smith from comment #1)
> Thank you for the report, and sorry for the problem.
> > Both computers - Mageia8,
> > also observed on an NFS client, with OS ROSA Desktop Fresh R11, and on Rosa
> > - the same result, the speed drops sharply
> Can we clarify all this? Do you mean, perhaps:
> - the problem happens with Mageia 8 as both NFS server & client?
Yes

> - it also happens on an NFS client with Rosa [Desktop Fresh R11]: which of
> these is the client & server? Which is the 'NFS client', and to which
> 'server'?
Mageia 8 - 'NFS server', Rosa - 'NFS client'

>- Re the 'copy', can you say by what mechanism/command?
F5 in Krusader and MidnightCommander.

May be useful:
https://linux-hardware.org/?probe=46740d8f33 - 'NFS server' - Mageia8
https://linux-hardware.org/?probe=148a187bd0 - 'NFS client' - ROSA
https://linux-hardware.org/?probe=31e9013879 - 'NFS client' - Mageia8
Comment 3 Levchenko Roman 2021-08-25 01:24:54 CEST
(In reply to Lewis Smith from comment #1)
> Thank you for the report, and sorry for the problem.
I did't use 'NFS server' - Mageia8 as 'NFS client'.
The coping between different computers only:
'NFS server' - Mageia8 <-> 'NFS client' - ROSA
'NFS server' - Mageia8 <-> 'NFS client' - Mageia8
Comment 4 Dave Hodgins 2021-08-25 02:05:32 CEST
From to http://nfs.sourceforge.net/nfs-howto/ar01s05.html ...
Using an rsize or wsize larger than your network's MTU (often set to 1500, in many networks) will cause IP packet fragmentation

Try lowering the values to 1024. I'm certainly no expert on nfs.

CC: (none) => davidwhodgins

Comment 5 Levchenko Roman 2021-08-25 07:46:47 CEST
(In reply to Dave Hodgins from comment #4)
> From to http://nfs.sourceforge.net/nfs-howto/ar01s05.html ...
> Using an rsize or wsize larger than your network's MTU (often set to 1500,
> in many networks) will cause IP packet fragmentation
> 
> Try lowering the values to 1024. I'm certainly no expert on nfs.

Thanks, but all I've got with decreasing rsize and wsize to 1024, was decreasing start speed of coping: process starts with speed not from about 100Mb/s, process starts with 45Mb/s, and then became lower and lower. So, for this case it does't help.
Comment 6 Dave Hodgins 2021-08-25 13:38:02 CEST
Assigning to Guillaume, the maintainer of nfs-utils.

Assignee: bugsquad => guillomovitch

Comment 7 Levchenko Roman 2021-08-25 13:47:14 CEST
Perhaps the drop in speed occurred after the upgrade to Mageia8, but I can't say for sure. From Mageia3 to Mageia7 I have not observed this.
Comment 8 Alex Kotov 2021-08-26 11:02:20 CEST
Created attachment 12913 [details]
nfs-v3-noatime

CC: (none) => alex_q_2000

Comment 9 Alex Kotov 2021-08-26 11:02:55 CEST
(In reply to Levchenko Roman from comment #0)
> Line from fstab on client:
> 192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs wsize=8192,rsize=8192,soft 0 0
Hi, Roman.
Try EXPLICITLY specifying the protocol version on the client "vers=3" and "noatime"...

mount -o noatime,vers=3,soft,wsize=8192,rsize=8192 192.168.1.15:/mnt/hd3 /mnt/hd3_nfs
or
Line from fstab on client:
192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs noatime,vers=3,soft,wsize=8192,rsize=8192 wsize=8192,rsize=8192 0 0

p.s. see screenshot "nfs-v3-noatime"

Kind regards,
Alex
Comment 10 Levchenko Roman 2021-08-26 11:09:50 CEST
(In reply to Alex Kotov from comment #9)
> (In reply to Levchenko Roman from comment #0)
> > Line from fstab on client:
> > 192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs wsize=8192,rsize=8192,soft 0 0
> Hi, Roman.
> Try EXPLICITLY specifying the protocol version on the client "vers=3" and
> "noatime"...
> 
> mount -o noatime,vers=3,soft,wsize=8192,rsize=8192 192.168.1.15:/mnt/hd3
> /mnt/hd3_nfs
> or
> Line from fstab on client:
> 192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs
> noatime,vers=3,soft,wsize=8192,rsize=8192 wsize=8192,rsize=8192 0 0
> 
> p.s. see screenshot "nfs-v3-noatime"
> 
> Kind regards,
> Alex

Thanks, I'll try.
Comment 11 Levchenko Roman 2021-08-26 19:05:00 CEST
(In reply to Alex Kotov from comment #9)
> (In reply to Levchenko Roman from comment #0)
> > Line from fstab on client:
> > 192.168.1.15:/mnt/hd3 /mnt/hd3_nfs nfs wsize=8192,rsize=8192,soft 0 0
> Hi, Roman.
> Try EXPLICITLY specifying the protocol version on the client "vers=3" and
> "noatime"...

Unfortunately, it didn't help, the behavior is the same:
the process immediately starts almost at the limit of the equipment's capabilities, at a speed of just over 100Mb/s. But after 10-20 seconds, it drops sharply to 15-20Mb/s, and after a couple of minutes, even to hundreds of Kib/s.
Comment 12 Levchenko Roman 2021-08-26 19:30:19 CEST
(In reply to Alex Kotov from comment #9)
I've been testing with more than 5Gb size file, and a directory with a number of small files - i586 from repository. Try like this. Will you have the same result, like on screenshot?
Comment 13 Levchenko Roman 2021-08-26 19:43:37 CEST
(In reply to Alex Kotov from comment #9)
Sorry: "...a directory with a lot of files - i586..."
Lewis Smith 2021-08-26 21:35:00 CEST

CC: lewyssmith => (none)

Comment 14 Dave Hodgins 2021-08-26 23:35:51 CEST
It works for me. I normally use sshfs to share what I want. I just used mcc to
share my home directory using nfs, and to access it from another system on my
lan.

Copied 14GB in around 150,000 files using rsync from the mountpoint to a new
directory ...

time rsync --progress -auvx  /mnt/dave/ nfstest/
<snip long list of files and directories>
sent 14,943,008,213 bytes  received 2,844,225 bytes  55,049,180.25 bytes/sec
total size is 14,926,963,246  speedup is 1.00

real    4m30.757s
user    0m9.507s
sys     0m40.403s

This is while I have ktorrent and other applications on my lan generating a
fair amount of other traffic.

fstab entry is ...
x3.hodgins.homeip.net:/home/dave /mnt/dave nfs rsize=8192,wsize=8192,nosuid,soft 0 0

exports entry is ...
/home/dave 192.168.10.0/8(no_all_squash,async,secure,no_subtree_check,ro)
Comment 15 Alex Kotov 2021-08-27 10:39:18 CEST
@Levchenko Roman

Real data for different protocols, with different settings of the client and the clients themselves...

Test-1: Mageia-7 client on VirtualBox, Mageia-6 the server is a real computer

Before mounting on the Mageia-7 client:
---
mkdir /mnt/201; chmod 777 /mnt/201; cd /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1001390080 байт (1,0 GB, 955 MiB) copied, 1 s, 1,0 GB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 1,05309 s, 996 MB/s

After mounting on the Mageia-7 client (option-1):
---
mount -o vers=4,soft,noatime,rsize=8192,wsize=8192,bsize=8192 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1043333120 байт (1,0 GB, 995 MiB) copied, 77 s, 13,5 MB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 92,0809 s, 11,4 MB/s

After mounting on the Mageia-7 client (option-2):
---
umount -l /mnt/201; mount -o vers=3,soft,noatime,rsize=32768,wsize=32768,bsize=32768 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1032847360 байт (1,0 GB, 985 MiB) copied, 73 s, 14,1 MB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 92,1507 s, 11,4 MB/s

After mounting on the Mageia-7 client (option-3):
---
umount -l /mnt/201; mount -o soft,rsize=8192,wsize=8192 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1043333120 байт (1,0 GB, 995 MiB) copied, 76 s, 13,7 MB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 92,2029 s, 11,4 MB/s

---------------

Test-2: Mageia-8 real client computer, Mageia-6 real server computer

Before mounting on the Mageia-8 client:
---
mkdir /mnt/201; chmod 777 /mnt/201; cd /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1028653056 байт (1,0 GB, 981 MiB) copied, 1 s, 1,0 GB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 1,12599 s, 931 MB/s

After mounting on the Mageia-8 client (option-1):
---
mount -o vers=4,soft,noatime,rsize=8192,wsize=8192,bsize=8192 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 25,8263 s, 40,6 MB/s

After mounting on the Mageia-8 client (option-2):
---
umount -l /mnt/201; mount -o vers=3,soft,noatime,rsize=32768,wsize=32768,bsize=32768 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1044381696 байт (1,0 GB, 996 MiB) copied, 1 s, 1,0 GB/s
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 24,5475 s, 42,7 MB/s

After mounting on the Mageia-8 client (option-3):
---
umount -l /mnt/201; mount -o soft,rsize=8192,wsize=8192 192.168.0.201:/201 /mnt/201

dd if=/dev/zero of=./largefile bs=1024k count=1000 status=progress
1000+0 records received
1000+0 records sent
1048576000 байт (1,0 GB, 1000 MiB) copied, 25,8131 s, 40,6 MB/s

---------

General conclusion: I don't think that the speed over NFS has dropped after upgrading to Mageia-8, since Mageia-7 + Mageia-6 show even worse results ~13,5 MB/s. If we make a discount on the fact that Mageia-7 was a virtual machine, then in combination with the results on real computers Mageia-8 (client) and Mageia-6 (server) I am inclined to believe that the real speed of copying large files will be in the range of ~30-40,6 MB/s (with a very large approximation ~50 MB/s).

Regarding copying a large number of small files, I think that the protocol version =3 in combination with "noatime" will be the only acceptable option and you can't count on more. :)

Kind regards,
Alex
Comment 16 Levchenko Roman 2021-08-27 11:14:29 CEST
(In reply to Alex Kotov from comment #15)
> @Levchenko Roman
I'm impressed ))) 
Thank you. But I have Mageia8, as NFS-server... And for example two clients, Mageia8 and Rosa. Something tells me that the problem is server side. Maybe I have to restore Mageia7 to the server from a backup...
Comment 17 Alex Kotov 2021-08-27 11:56:25 CEST
@Levchenko Roman
:)) Just in case, I will give here the difference between /etc/nfs.conf for Mageia-7 and Mageia-8:

--- nfs.conf-m7	2021-08-27 12:44:15.464279837 +0300
+++ nfs.conf-m8	2020-11-25 15:22:53.000000000 +0300
@@ -5,6 +5,9 @@
 [general]
 # pipefs-directory=/var/lib/nfs/rpc_pipefs
 #
+[exports]
+# rootdir=/export
+#
 [exportfs]
 # debug=0
 #
@@ -60,6 +63,7 @@
 # vers4.1=y
 # vers4.2=y
 # rdma=n
+# rdma-port=20049
 #
 [statd]
 # debug=0

I hope you will share the result of the rollback to Mageia-7. Good luck. :)

Note You need to log in before you can comment on or make changes to this bug.