Performanceprobleme zfs send | receive

mr44er

moderater Moderator
Teammitglied
Um mal Grundlegendes auszuschließen, hier ein paar Tests:

Server1:
Code:
root@aserver:/tank # dd if=/dev/zero of=testfile bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes transferred in 24.452847 secs (439107072 bytes/sec)
root@aserver:/tank # dd if=testfile of=/dev/null bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes transferred in 7.440221 secs (1443158467 bytes/sec)

Server2:
Code:
root@dserver:/tank # dd if=/dev/zero of=testfile bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes transferred in 27.442058 secs (391275991 bytes/sec)
root@dserver:/tank # dd if=testfile of=/dev/null bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes transferred in 7.336738 secs (1463513909 bytes/sec)

iperf3 von server1 zu server2 über den Gigabit-Billigswitch:
Code:
root@dserver:/tank # iperf3 -c 10.0.8.2
Connecting to host 10.0.8.2, port 5201
[  5] local 10.0.8.3 port 17145 connected to 10.0.8.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.0 MBytes  91.9 Mbits/sec  119   28.4 KBytes      
[  5]   1.00-2.01   sec  94.8 MBytes   789 Mbits/sec    9    510 KBytes      
[  5]   2.01-3.00   sec  18.5 MBytes   156 Mbits/sec  208   1.43 KBytes      
[  5]   3.00-4.00   sec  13.8 MBytes   116 Mbits/sec  146   1.43 KBytes      
[  5]   4.00-5.00   sec  14.8 MBytes   124 Mbits/sec  168   2.84 KBytes      
[  5]   5.00-6.01   sec  11.1 MBytes  92.6 Mbits/sec  121   1.43 KBytes      
[  5]   6.01-7.01   sec  24.2 MBytes   203 Mbits/sec  262   5.67 KBytes      
[  5]   7.01-8.00   sec  20.3 MBytes   170 Mbits/sec  197   1.43 KBytes      
[  5]   8.00-9.00   sec  11.0 MBytes  92.4 Mbits/sec  129   1.43 KBytes      
[  5]   9.00-10.00  sec  14.2 MBytes   119 Mbits/sec  148   28.4 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   234 MBytes   196 Mbits/sec  1507             sender
[  5]   0.00-10.00  sec   233 MBytes   195 Mbits/sec                  receiver

iperf Done.

Habe dann jeweils zwischen die em0's ein CAT5e-Kabel geklemmt und nochmal:
Code:
root@dserver:/tank # iperf3 -c 192.168.5.1
Connecting to host 192.168.5.1, port 5201
[  5] local 192.168.5.2 port 22868 connected to 192.168.5.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   101 MBytes   849 Mbits/sec    0    529 KBytes      
[  5]   1.00-2.00   sec  65.1 MBytes   545 Mbits/sec  196   1.43 KBytes      
[  5]   2.00-3.00   sec  13.9 MBytes   117 Mbits/sec  176   17.1 KBytes      
[  5]   3.00-4.00   sec  18.4 MBytes   154 Mbits/sec  207   1.43 KBytes      
[  5]   4.00-5.00   sec  18.7 MBytes   157 Mbits/sec  211   5.67 KBytes      
[  5]   5.00-6.00   sec  23.7 MBytes   199 Mbits/sec  269   1.43 KBytes      
[  5]   6.00-7.00   sec  11.0 MBytes  91.9 Mbits/sec  115   1.43 KBytes      
[  5]   7.00-8.00   sec  22.2 MBytes   187 Mbits/sec  251   24.2 KBytes      
[  5]   8.00-9.00   sec  18.4 MBytes   155 Mbits/sec  197   1.43 KBytes      
[  5]   9.00-10.01  sec  12.7 MBytes   106 Mbits/sec  141   1.43 KBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   305 MBytes   256 Mbits/sec  1763             sender
[  5]   0.00-10.01  sec   304 MBytes   255 Mbits/sec                  receiver

iperf Done.

Identische Boards und Intel-Chips auf beiden Seiten.
Code:
em0: <Intel(R) PRO/1000 Network Connection 7.6.1-k> port 0xd800-0xd81f mem 0xfe9e0000-0xfe9fffff,0xfe9dc000-0xfe9dffff irq 48 at device 0.0 on pci2

'systat -ifstat refreshinterval 1' zeigt mir auf zfs-empfangender Seite 16MB/s bzw. zwischendrin auch mal gönnerhaft 20MB/s, egal welche NIC ich anspreche.

Wo klemmt das?

'zfs send -v tank/mix@31-7-18 | ssh 192.168.5.2 zfs recv -F tank/mix'

Edit: jetzt noch mit MTU auf 9000 beidseitig versucht, ist unverändert lahm.
 
Zuletzt bearbeitet:
Wenn's im LAN ist, schau dir mal netcat für die Datenübertragung an. Ich hatte meinen Umzug hier mal beschrieben, da ist auch das nc Beispiel.
 
Ist jetzt schwer zu sagen, warum das bei SSH so langsam ist. Andere Anleitungen empfehlen auch, das Ganze noch mal durch mbuffer zu pipen. Vielleicht würde das SSH auch helfen.

Letztendlich ist aber das Ver- und Entschlüsseln der Daten ein nicht zu verachtender Overhead in der Datenübertragung. Ich hatte auch mal Performance-Probleme mit dem Basis-SSH und diese waren weg, nachdem ich das SSH aus den Ports installiert hatte.
 
Ich hatte auch mal Performance-Probleme mit dem Basis-SSH und diese waren weg, nachdem ich das SSH aus den Ports installiert hatte.
Mhm...das riecht danach als könnte man dann Hardware-crypto nutzen, was im Basis-SSH nicht enthalten ist. Schau ich mir bei Gelegenheit mal genauer an, wobei ich denke, dass ich später mit netcat durch VPN auch nicht paranoid sein brauche. ;)
 
HPN hatte ich zumindest in meinem Fall gar nicht aktiviert. Ich hatte dazu hier mal einen Thread erstellt. Ist jetzt schon 2 Jahre her und ich bin auch schon wieder auf dem Basis SSH, aber das heißt ja nicht, dass Probleme nicht wiederkehren könnten.
 
nc über vpnwan: received 27.7GB stream in 29545 seconds (983KB/sec)

Lüppt, mehr upstream gibt die Leitung nicht her, aber das sollte reichen. :)
 
Zurück
Oben