Re: Answer 2 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-12 Thread Stuart Henderson
On 2019-04-09, Mark Schneider  wrote:
> Hi Peter
>
> Thank you very much for your feedback.
>
> It looks like the performance issue is more complex than I have expected.
> Just for the test I have installed OpenBSD 6.4 and FreeBSD 13.0 on few 
> different servers and compared results (details are in attached files).
>
> Pure network speed I have to test with sucht tools like tcpbench, iperf3 
> or netperf to get independent of the mass storage stuff and other things.

It really depends what you want to test. It isn't clear from your mails
what the purpose of this is.

If that is packet forwarding performance, use separate machines either side
of the router, using tcpbench or iperf or various other high-speed packet
generators and sinks. There are big differences between forwarding and
application traffic.

OpenBSD will very likely come out with slower top speeds. But whether that's
important or not, again, depends on the situation.



Re: Answer 2 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-11 Thread Mark Schneider

Hi Karel

Thank you very much for your hint.

Yes, I used FreeBSD 13.0 for final performance testing (scp transfer and 
iperf3).
Before I run some tests with stable FreeBSD 12.0 but the performance was 
much lower (even still approx 3 times better than OpenBSD 6.4). FreeBSD 
12.0 recognized less NIC hardware than FreeBSD 13.0 and OpenBSD 6.4.


Last scp based test I run yesterday and today was with FreeNAS 11.2 
including 1Gbit/s and 10Gbit/s fiber NICs and Linux on the client side.
For diredtly connectet 1Gbit NICs (fiber) the scp transfer spead was 
like 100MBytes/s.
For directly connected 10Gbit NICs (X520-DA2) the scp transfer spead was 
like 120MBytes/s.
Quite small difference beetwen 1Gbit and 10Gbit NICs. The CPU usage for 
10Gbit NICs during the transfer was very high. The iperf3 test delivered 
nearly 10Gbit/s (FreeBSD and Linux).


# Fiber 10Gbit/s
02:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)


# Fiber 1Gbit/s
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708S 
Gigabit Ethernet (rev 12)


# Copper 1Gbit/s
06:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network 
Connection
07:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network 
Connection


I will have a look if I can get 10Gbit NICs from another maker and rerun 
the performance test on OpenBSD 6.4 again.
Probably I will upgrade my few years old hardware (Xeon(R) CPU E31270 @ 
3.40GHz, with 32GB ECC DDR RAM and Samsung 860 pro SSD) to something 
like current AMD Ryzen Threadripper, DDR RAM and Optane SSD.


In case I could help with 10Gbit/s network performance tests for OpenBSD 
6.5 please let me know.


Kind regards
Mark

--
m...@it-infrastrukturen.org


Am 11.04.2019 15:19, schrieb Karel Gardas:



On 4/9/19 6:56 PM, Mark Schneider wrote:

Hi Peter

Thank you very much for your feedback.

It looks like the performance issue is more complex than I have 
expected.
Just for the test I have installed OpenBSD 6.4 and FreeBSD 13.0 on 
few different servers and compared results (details are in attached 
files).


I'm afraid you have installed FBSD 13.0 current which does have a lot 
of debugging code and invariants checking built in and which can't be 
used for any sensible performance evaluations.
If you are curious about FBSD performance, then please install latest 
stable release.


Cheers,
Karel



--
m...@it-infrastrukturen.org



Re: Answer 2 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-11 Thread Karel Gardas




On 4/9/19 6:56 PM, Mark Schneider wrote:

Hi Peter

Thank you very much for your feedback.

It looks like the performance issue is more complex than I have expected.
Just for the test I have installed OpenBSD 6.4 and FreeBSD 13.0 on few 
different servers and compared results (details are in attached files).


I'm afraid you have installed FBSD 13.0 current which does have a lot of 
debugging code and invariants checking built in and which can't be used 
for any sensible performance evaluations.
If you are curious about FBSD performance, then please install latest 
stable release.


Cheers,
Karel



Re: compared filesystem performance, was Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Anatoli

> totally agree, Anatoli could you please compare ?

Will try to make tests these days + will attach dmesg. Anyway, without a 
FS (sequentially writing to a raw device) we'd be testing just the 
sequential speed to a raw device, not even to a partition. I think this 
would be a practical maximum possible performance for that device, not a 
real-use scenario. But combined with other tests this could be an 
interesting stat to find the bottleneck.


*From:* Chris Cappuccio 
*Sent:* Tuesday, April 09, 2019 10:36
*To:* Gwes 
*Cc:* Chris Cappuccio , Anatoli , Misc 

*Subject:* Re: compared filesystem performance, was Re: 10GBit network 
performance on OpenBSD 6.4


gwes [g...@oat.com] wrote:


That doesn't answer the question: if you say
dd if=/dev/zero of=/dev/sda (linux) /dev/rsd0c (bsd) bs=64k count=100
what transfer rate is reported


totally agree, Anatoli could you please compare ?


That number represents the maximum possible long-term filesystem
performance on that drive.


you mean non-filesystem?




Answer 6 - ix network driver from FreeBSD 13.0 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Hi Stuart

Thank you very much for the link.

The total ssh based performace depends strongly on the server hardware 
(and installed OSes).
For the "fastest" test configuration (server hardware / installed OS) I 
was possible to achieve
a total trasfer speed of approx 400MBytes/s (on the 10Gbit fiber link) 
for few parallel read/write scp sessions.


I don't know if the ix network drivers used in FreeBSD 13.0 orLinux 
kernel are much more efficient
and it is possible to use the ix network driver from FreeBSD 13.0 in 
OpenBSD 6.4.


# ---
# fbsdsrv1 kernel: CPU: Intel(R) Xeon(R) CPU   X5690 @ 3.47GHz 
(3465.76-MHz K8-class CPU)

# fbsdsrv1 kernel: FreeBSD/SMP: Multiprocessor System Detected: 24 CPUs

# fbsdsrv1 kernel: real memory  = 103079215104 (98304 MB)

# fbsdsrv1 kernel: da0:  Fixed Direct Access SPC-3 SCSI 
device

# fbsdsrv1 kernel: da0: Serial Number PACCRCN80ZL1RD7
# fbsdsrv1 kernel: da0: 135.168MB/s transfers
# fbsdsrv1 kernel: da0: Command Queueing enabled
# fbsdsrv1 kernel: da0: 839893MB (1720102192 512 byte sectors)

# fbsdsrv1 kernel: ix0:  
port 0x7000-0x701f mem 0xe9a8-0xe9af,0xe9a7-0xe9a73fff irq 26

# at device 0.0 on pci6
# fbsdsrv1 kernel: ix0: Using 2048 tx descriptors and 2048 rx descriptors
# fbsdsrv1 kernel: ix0: queue equality override not set, capping 
rx_queues at 12 and tx_queues at 12

# fbsdsrv1 kernel: ix0: Using 12 rx queues 12 tx queues
# fbsdsrv1 kernel: ix0: Using MSI-X interrupts with 13 vectors
# fbsdsrv1 kernel: ix0: allocated for 12 queues
# fbsdsrv1 kernel: ix0: allocated for 12 rx queues
# fbsdsrv1 kernel: ix0: Ethernet address: 90:e2:ba:16:20:a4
# fbsdsrv1 kernel: ix0: PCI Express Bus: Speed 5.0GT/s Width x4
# fbsdsrv1 kernel: ix0: netmap queues/slots: TX 12/2048, RX 12/2048
# fbsdsrv1 kernel: ix1:  
port 0x7020-0x703f mem 0xe998-0xe99f,0xe997-0xe9973fff irq 25

# at device 0.1 on pci6
# fbsdsrv1 kernel: ix1: Using 2048 tx descriptors and 2048 rx descriptors
# fbsdsrv1 kernel: ix1: queue equality override not set, capping 
rx_queues at 12 and tx_queues at 12

# fbsdsrv1 kernel: ix1: Using 12 rx queues 12 tx queues
# fbsdsrv1 kernel: ix1: Using MSI-X interrupts with 13 vectors
# fbsdsrv1 kernel: ix1: allocated for 12 queues
# fbsdsrv1 kernel: ix1: allocated for 12 rx queues
# fbsdsrv1 kernel: ix1: Ethernet address: 90:e2:ba:16:20:a5
# fbsdsrv1 kernel: ix1: PCI Express Bus: Speed 5.0GT/s Width x4
# fbsdsrv1 kernel: ix1: netmap queues/slots: TX 12/2048, RX 12/2048


# ---
ironm@fbsdsrv1:~ $ scp t1.iso 
ironm@200.0.0.20:/home/ironm/fbsd2fbs-send-conf1.iso

Password for ironm@fbsdsrv2:
t1.iso 100% 3626MB 132.0MB/s   00:27



Kind regards
Mark

--
m...@it-infrastrukturen.org


Am 09.04.2019 13:31, schrieb Stuart Henderson:

On 2019-04-07, Mark Schneider  wrote:

Short feedback:

Just for the test I have checked the 10GBit network performance
between two FreeBSD 13.0 servers (both HP DL380g7 machines)
transfering data in both directions

# ---
ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
Password for ironm@fbsdsrv1:
t2.iso 100% 3626MB 130.2MB/s   00:27

# ---
ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
Password for ironm@fbsdsrv1:
obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
# ---

scp is a *terrible* way to test network performance. If you are only
interested in scp performance between two hosts then it's relevant,
and you can probably improve speeds by using something other than scp.
Otherwise irrelevant.


The ssh performance using 10GBit network connection on FreeBSD 13.0
is approx 7 times higher than the one on OpenBSD 6.4.

Is it the question of the "ix" NIC driver of OpenBSD 6.4?
(X520-DA2 NICs from Intel)

Does one of you achieve good 10Gbit network performance with other
10Gbit NICs?

FreeBSD's network stack can make better use of multiple processors.
OpenBSD is improving (you can read some stories about this work at
www.grenadille.net) but is slower.

Jumbo frames should help if you can use them. Much of network
performance is related to packets-per-second not bits-per-second.
For scp, switching ciphers/MACs is likely to speed things up too.






Answer 5 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Am 08.04.2019 23:46, schrieb Anatoli:

Thank you very much for the idea Anatoli!

Running dd with "/dev/zero" and "/dev/null" gave me back a very good 
overview what is going on (different server hardware and operating systems)


ironm@wheezy:~$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4294967296 Bytes (4.3 GB) kopiert, 1.0029 s, 4.3 GB/s
--
ironm@fbsdsrv8:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && 
sync

4294967296 bytes transferred in 8.432852 secs (509313755 bytes/sec)
--
ironm@fbsdsrv1:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && 
sync

4294967296 bytes transferred in 5.947370 secs (722162508 bytes/sec)
--
ironm@fbsdsrv2:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && 
sync

4294967296 bytes transferred in 8.804378 secs (487821753 bytes/sec)
--
ronm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4294967296 Bytes (4.3 GB) kopiert, 0.410687 s, 10.5 GB/s
--
ironm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
536870912 Bytes (537 MB) kopiert, 0.0558006 s, 9.6 GB/s
--
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && 
sync

4294967296 bytes transferred in 1.338350 secs (3209151777 bytes/sec)
--
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
536870912 bytes transferred in 0.167219 secs (3210581655 bytes/sec)
--
ironm@fbsdsrv1:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && 
sync

4294967296 bytes transferred in 1.173098 secs (3661217181 bytes/sec)
--
ironm@fbsdsrv1:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
536870912 bytes transferred in 0.191353 secs (2805662938 bytes/sec)
--
ironm@fbsdsrv2:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && 
sync

4294967296 bytes transferred in 1.159899 secs (3702879890 bytes/sec)
--
ironm@fbsdsrv2:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
536870912 bytes transferred in 0.213278 secs (2517231248 bytes/sec)
--
obsdsrv2$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4294967296 bytes transferred in 9.136 secs (470078173 bytes/sec)
--
obsdsrv2$ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4294967296 bytes transferred in 11.280 secs (380734881 bytes/sec)
--
obsdsrv2$ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4294967296 bytes transferred in 10.167 secs (422400700 bytes/sec)
--
obsdsrv2$ time dd if=file1.tmp of=/dev/null bs=1M count=2048 && sync
2147483648 bytes transferred in 4.515 secs (475551520 bytes/sec)
--
obsdsrv2$ time dd if=file1.tmp of=/dev/null bs=1M count=1024 && sync
1073741824 bytes transferred in 1.728 secs (621203080 bytes/sec)
--
obsdsrv2$ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
536870912 bytes transferred in 0.265 secs (2021821094 bytes/sec)

Kind regards
Mark

--
m...@it-infrastrukturen.org

ironm@wheezy:~$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 1.0029 s, 4.3 GB/s

real0m1.231s
user0m0.000s
sys 0m1.224s


---
ironm@fbsdsrv8:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.432852 secs (509313755 bytes/sec)
8.79 real 0.01 user 3.36 sys


---
ironm@fbsdsrv1:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 5.947370 secs (722162508 bytes/sec)
6.41 real 0.00 user 4.65


---
ironm@fbsdsrv2:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.804378 secs (487821753 bytes/sec)
9.26 real 0.00 user 4.94 sys




ronm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 0.410687 s, 10.5 GB/s

real0m0.412s
user0m0.000s
sys 0m0.408s
ironm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 0.0558006 s, 9.6 GB/s

real0m0.057s
user0m0.000s
sys 0m0.056s


---
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 1.338350 secs (3209151777 bytes/sec)
1.34 real 0.00 user 1.34 sys
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
512+0 records in
512+0 records out
536870912 bytes transferred in 0.167219 secs (3210581655 bytes/sec)
0.17 real 0.00 user 0.17 sys


---
ironm@fbsdsrv1:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 1.173098 secs (3661217181 

Answer 4 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Hi

> Whats your performance without scp? tcpbench / netcat, for example?

Thank you very much for your hint. I did not run them yet (only iperf3 
as listed below)

Further test details are in attached files.

Kind regards
Mark

--
m...@it-infrastrukturen.org



Am 08.04.2019 22:06, schrieb Abel Abraham Camarillo Ojeda:

On Sun, Apr 7, 2019 at 5:21 PM Mark Schneider 
wrote:


Short feedback:

Just for the test I have checked the 10GBit network performance
between two FreeBSD 13.0 servers (both HP DL380g7 machines)
transfering data in both directions

# ---
ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
Password for ironm@fbsdsrv1:
t2.iso 100% 3626MB 130.2MB/s   00:27

# ---
ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
Password for ironm@fbsdsrv1:
obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
# ---

The ssh performance using 10GBit network connection on FreeBSD 13.0
is approx 7 times higher than the one on OpenBSD 6.4.

Is it the question of the "ix" NIC driver of OpenBSD 6.4?
(X520-DA2 NICs from Intel)

Does one of you achieve good 10Gbit network performance with other
10Gbit NICs?

Thank you in advance for your hints.

Kind regards
Mark

--
m...@it-infrastrukturen.org


Am 06.04.2019 22:52, schrieb Mark Schneider:

Hi,

Please allow me few questions regarding 10GBit network performance on
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit
network card.

Test configuration in OpenBSD-Linux-10GBit_net_performance.txt -
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt -
http://paste.debian.net/1076460/

Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843
mtu 1500
 media: Ethernet autoselect (10GbaseSR
full-duplex,rxpause,txpause)
 inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
 inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843
mtu 1500
 media: Ethernet autoselect (10GbaseSR
full-duplex,rxpause,txpause)
 inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
 inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec
sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec
receiver
# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328
sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec
receiver
# ---

The scp transfer rate is like 21MBytes/s only per ssh connection
(OpenBSD <-> Linux):
# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso
ironm@10.0.0.7:/home/ironm/t12.iso
ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB
21.5MB/s   02:40 ETA
# ---


The 1GBit cooper based NIC works also slower but reaching almost 40%
of the max trasfer rate of 1 Gbit:

# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec
sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec
receiver
# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183
sender
[  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec
receiver
# ---


Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.

Best regards
Mark


Whats your performance without scp? tcpbench / netcat, for example?


ironm@wheezy:~$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 1.0029 s, 4.3 GB/s

real0m1.231s
user0m0.000s
sys 0m1.224s


---
ironm@fbsdsrv8:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.432852 secs (509313755 bytes/sec)
8.79 real 0.01 user 3.36 sys


---
ironm@fbsdsrv1:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 &&

Answer 3 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Hi Anatoly

Thank you very much for your helpfull hints.
The CPU usage (one of available cores) was nearly 100%.

FreeBSD 13.0 and Linux (Debian) seem currently to have faster network 
stacks (and faster mass storage handling).
During test I used debian linux running in live mode (transfer to DDR3 
memory instead of RAID or SSD)


Just for the test I have installed OpenBSD 6.4 and FreeBSD 13.0 on few 
different servers (with 6G/15k SAS drives RAID or Pro 860 SATA3 SSDs) 
and compared results (details are in attached files).


I have got some further hints from the misc list to run tests usinf 
"/dev/null" so I will try repeat few tests.


More details are in attached files.


Kind regards
Mark



Am 08.04.2019 19:30, schrieb Anatoli:

Hi,

I guess you're hitting 2 bottlenecks: the CPU performance for iperf 
and HDD performance for scp.


Check how much CPU is consumed during iperf transfer and try scp'ing 
something not from/to HDD, e.g. /dev/zero.


I've seen extremely slow HDD performance in OpenBSD, like 12x slower 
than on Linux, also no filesystem cache, so depending on your HDD with 
scp you may be hitting the max throughput for the FS, not the network.


Regards,
Anatoli

*From:* Mark Schneider 
*Sent:* Saturday, April 06, 2019 17:52
*To:* Misc 
*Subject:* 10GBit network performance on OpenBSD 6.4

Hi,

Please allow me few questions regarding 10GBit network performance on 
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit 
network card.


Test configuration in OpenBSD-Linux-10GBit_net_performance.txt - 
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt - 
http://paste.debian.net/1076460/


Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843 
mtu 1500
media: Ethernet autoselect (10GbaseSR 
full-duplex,rxpause,txpause)

inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843 
mtu 1500
media: Ethernet autoselect (10GbaseSR 
full-duplex,rxpause,txpause)

inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec  
sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec  
receiver

# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328 
sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec  
receiver

# ---

The scp transfer rate is like 21MBytes/s only per ssh connection 
(OpenBSD <-> Linux):

# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso 
ironm@10.0.0.7:/home/ironm/t12.iso

ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB 
21.5MB/s   02:40 ETA

# ---


The 1GBit cooper based NIC works also slower but reaching almost 40% 
of the max trasfer rate of 1 Gbit:


# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec  
sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec  
receiver

# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183 
sender
[  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec  
receiver

# ---


Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.

Best regards
Mark


ironm@wheezy:~$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 1.0029 s, 4.3 GB/s

real0m1.231s
user0m0.000s
sys 0m1.224s


---
ironm@fbsdsrv8:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.432852 secs (509313755 bytes/sec)
8.79 real 0.01 user 3.36 sys


---
ironm@fbsdsrv1:~ $ time dd if=/d

Answer 2 / Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Hi Peter

Thank you very much for your feedback.

It looks like the performance issue is more complex than I have expected.
Just for the test I have installed OpenBSD 6.4 and FreeBSD 13.0 on few 
different servers and compared results (details are in attached files).


Pure network speed I have to test with sucht tools like tcpbench, iperf3 
or netperf to get independent of the mass storage stuff and other things.


Kind regards
Mark

--
m...@it-infrastrukturen.org



Am 08.04.2019 05:12, schrieb Peter Membrey:

Hi Mark,

I saw very similar performance issues on my system as well. The card was an 
Intel X550-10 dual port on an Atom C2750 box (8 core but low power). I've never 
had great TCP performance from OpenBSD on this box, but routing traffic through 
it had always been fine. Upgrading to 10Gb/s though I found I couldn't get much 
more than the speeds you were seeing.

As the OS was due for an upgrade anyway, I tried it with Linux, and was 
immediately about to hit 9.8Gb/s. Since I'm also quite comfortable using Linux, 
I left it in place (it's a key router for me) and it's been working great ever 
since.

I'm afraid I can't add much to help you apart from a "me too" but at least it 
rules out it being an issue with your particular hardware.

Kind Regards,

Peter Membrey


- Original Message -
From: "Mark Schneider" 
To: "misc" 
Sent: Monday, 8 April, 2019 06:09:09
Subject: Re: 10GBit network performance on OpenBSD 6.4

Short feedback:

Just for the test I have checked the 10GBit network performance
between two FreeBSD 13.0 servers (both HP DL380g7 machines)
transfering data in both directions

# ---
ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
Password for ironm@fbsdsrv1:
t2.iso 100% 3626MB 130.2MB/s   00:27

# ---
ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
Password for ironm@fbsdsrv1:
obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
# ---

The ssh performance using 10GBit network connection on FreeBSD 13.0
is approx 7 times higher than the one on OpenBSD 6.4.

Is it the question of the "ix" NIC driver of OpenBSD 6.4?
(X520-DA2 NICs from Intel)

Does one of you achieve good 10Gbit network performance with other
10Gbit NICs?

Thank you in advance for your hints.

Kind regards
Mark



ironm@wheezy:~$ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 1.0029 s, 4.3 GB/s

real0m1.231s
user0m0.000s
sys 0m1.224s


---
ironm@fbsdsrv8:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.432852 secs (509313755 bytes/sec)
8.79 real 0.01 user 3.36 sys


---
ironm@fbsdsrv1:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 5.947370 secs (722162508 bytes/sec)
6.41 real 0.00 user 4.65


---
ironm@fbsdsrv2:~ $ time dd if=/dev/zero of=file1.tmp bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 8.804378 secs (487821753 bytes/sec)
9.26 real 0.00 user 4.94 sys




ronm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 Datensätze ein
4096+0 Datensätze aus
4294967296 Bytes (4.3 GB) kopiert, 0.410687 s, 10.5 GB/s

real0m0.412s
user0m0.000s
sys 0m0.408s
ironm@wheezy:~$ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 0.0558006 s, 9.6 GB/s

real0m0.057s
user0m0.000s
sys 0m0.056s


---
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 1.338350 secs (3209151777 bytes/sec)
1.34 real 0.00 user 1.34 sys
ironm@fbsdsrv8:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
512+0 records in
512+0 records out
536870912 bytes transferred in 0.167219 secs (3210581655 bytes/sec)
0.17 real 0.00 user 0.17 sys


---
ironm@fbsdsrv1:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && sync
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 1.173098 secs (3661217181 bytes/sec)
1.17 real 0.00 user 1.17 sys
ironm@fbsdsrv1:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=512 && sync
512+0 records in
512+0 records out
536870912 bytes transferred in 0.191353 secs (2805662938 bytes/sec)
0.19 real 0.00 user 0.18 sys



---
ironm@fbsdsrv2:~ $ time dd if=file1.tmp of=/dev/null bs=1M count=4096 && 

Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Mark Schneider

Hello Tom

Thank you very much for your hint.
I have disabled pf with "pfctrl -d" command but didn't notice any 
difference in the 10GBit transfer speed.

The CPU usage was high (like 100% for one of the available CPU cores)

# Single send
obsdsrv2$ scp 4GByte-random.bin ironm@10.0.0.2:/home/ironm/send4GByte-v1.bin
4GByte-random.bin89% 3665MB 71.0MB/s   00:06 ETA

---
# Send and receive at once (two scp connections)

obsdsrv2$ scp 4GByte-random.bin ironm@10.0.0.2:/home/ironm/send4GByte-v1.bin
4GByte-random.bin50% 2050MB 47.7MB/s   00:42 ETA

obsdsrv2$ scp ironm@10.0.0.2:/home/ironm/4GByte-random.bin 
receive4GByte-v1.bin

4GByte-random.bin   68% 2814MB  50.8MB/s   00:25 ETA

Details of the test are in the attached file:
obsd2obsd-send_conf_AMD_FX_4100_to_Xeon-E31270-10gbit-NICs-SSD_cpu-load-top.txt

Kind regards
Mark

--
m...@it-infrastrukturen.org



Am 08.04.2019 00:20, schrieb Tom Smyth:

Hello

if you disable pf you should get alot higher speeds,
as PF uses 1 CPU
alternatively you can  enable experimental pf code that uses more than one
CPU


On Sun, 7 Apr 2019 at 23:15, Mark Schneider  wrote:

Short feedback:

Just for the test I have checked the 10GBit network performance
between two FreeBSD 13.0 servers (both HP DL380g7 machines)
transfering data in both directions

# ---
ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
Password for ironm@fbsdsrv1:
t2.iso 100% 3626MB 130.2MB/s   00:27

# ---
ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
Password for ironm@fbsdsrv1:
obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
# ---

The ssh performance using 10GBit network connection on FreeBSD 13.0
is approx 7 times higher than the one on OpenBSD 6.4.

Is it the question of the "ix" NIC driver of OpenBSD 6.4?
(X520-DA2 NICs from Intel)

Does one of you achieve good 10Gbit network performance with other
10Gbit NICs?

Thank you in advance for your hints.

Kind regards
Mark

--
m...@it-infrastrukturen.org


Am 06.04.2019 22:52, schrieb Mark Schneider:

Hi,

Please allow me few questions regarding 10GBit network performance on
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit
network card.

Test configuration in OpenBSD-Linux-10GBit_net_performance.txt -
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt -
http://paste.debian.net/1076460/

Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843
mtu 1500
 media: Ethernet autoselect (10GbaseSR
full-duplex,rxpause,txpause)
 inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
 inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843
mtu 1500
 media: Ethernet autoselect (10GbaseSR
full-duplex,rxpause,txpause)
 inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
 inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec
sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec
receiver
# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328
sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec
receiver
# ---

The scp transfer rate is like 21MBytes/s only per ssh connection
(OpenBSD <-> Linux):
# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso
ironm@10.0.0.7:/home/ironm/t12.iso
ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB
21.5MB/s   02:40 ETA
# ---


The 1GBit cooper based NIC works also slower but reaching almost 40%
of the max trasfer rate of 1 Gbit:

# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec
sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec
receiver
# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/s

Re: compared filesystem performance, was Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Chris Cappuccio
gwes [g...@oat.com] wrote:
> 
> That doesn't answer the question: if you say
> dd if=/dev/zero of=/dev/sda (linux) /dev/rsd0c (bsd) bs=64k count=100
> what transfer rate is reported
> 

totally agree, Anatoli could you please compare ?

> That number represents the maximum possible long-term filesystem
> performance on that drive.
> 

you mean non-filesystem?



Re: 10GBit network performance on OpenBSD 6.4

2019-04-09 Thread Stuart Henderson
On 2019-04-07, Mark Schneider  wrote:
> Short feedback:
>
> Just for the test I have checked the 10GBit network performance
> between two FreeBSD 13.0 servers (both HP DL380g7 machines)
> transfering data in both directions
>
> # ---
> ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
> Password for ironm@fbsdsrv1:
> t2.iso 100% 3626MB 130.2MB/s   00:27
>
> # ---
> ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
> Password for ironm@fbsdsrv1:
> obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
> # ---

scp is a *terrible* way to test network performance. If you are only
interested in scp performance between two hosts then it's relevant,
and you can probably improve speeds by using something other than scp.
Otherwise irrelevant.

> The ssh performance using 10GBit network connection on FreeBSD 13.0
> is approx 7 times higher than the one on OpenBSD 6.4.
>
> Is it the question of the "ix" NIC driver of OpenBSD 6.4?
> (X520-DA2 NICs from Intel)
>
> Does one of you achieve good 10Gbit network performance with other 
> 10Gbit NICs?

FreeBSD's network stack can make better use of multiple processors.
OpenBSD is improving (you can read some stories about this work at
www.grenadille.net) but is slower.

Jumbo frames should help if you can use them. Much of network
performance is related to packets-per-second not bits-per-second.
For scp, switching ciphers/MACs is likely to speed things up too.



Re: compared filesystem performance, was Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread gwes




On 04/08/19 19:29, Chris Cappuccio wrote:

gwes [g...@oat.com] wrote:

What is the rated transfer rate of the SSD you're using to test?
SATA 3 wire speed is 6G/sec and realistically 500MB/sec raw rate
is near the top.

Anything over that is an artefact probably from a cache somewhere.


He's using NVMe with its own DRAM cache, which should perform higly. There
is a limiter somewhere, it seems.


That doesn't answer the question: if you say
dd if=/dev/zero of=/dev/sda (linux) /dev/rsd0c (bsd) bs=64k count=100
what transfer rate is reported

That number represents the maximum possible long-term filesystem
performance on that drive.

There are other non-filesystem overheads which have to be excluded
before you can be sure that the differences are truly the filesystem
code and algorithms without cache differences.



Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Anatoli
On top of this (and I don't know why, maybe because of softraid FS 
encryption?) I haven't seen any effect of the FS cache for files of any 
size (not even 128Mb) that is supposed to be using at least the 32-bit 
mem (some percent of the first 4Gb, 
https://unix.stackexchange.com/questions/61459/does-sysctl-kern-bufcachepercent-not-work-in-openbsd-5-2-above-1-7gb/62184#62184).


In the presence of FS/hardware management inefficiencies, things could 
be dramatically improved with an efficient FS cache if one has enough 
RAM as reading from RAM should be in the range of dozens of GB/s with 
nanoseconds latency, but that's not the case unfortunately (at least in 
my setup).


*From:* Joseph Mayer 
*Sent:* Monday, April 08, 2019 22:52
*To:* Chris Cappuccio 
*Cc:* Anatoli , Misc 
*Subject:* Re: 10GBit network performance on OpenBSD 6.4

On Tuesday, April 9, 2019 3:28 AM, Chris Cappuccio  wrote:


Anatoli [m...@anatoli.ws] wrote:

I've seen extremely slow HDD performance in OpenBSD, like 12x slower than on
Linux, also no filesystem cache, so depending on your HDD with scp you may
be hitting the max throughput for the FS, not the network.

12x slower? That's insane. What are you talking about? USB HDD? USB Flash?
SATA? Driver? You should submit a bug report with lots of details.

Chris


Chris,

Isn't the filesystem layer in OpenBSD altogether serial-processing, all
the way pretty much from userland fwrite() down to hardware access (as
in no use of hardware multiqueueing).

The non-use of multiqueueing is problematic for random reads from SSD:s
as they have extremely high latency within the individual read op e.g.
~~1 millisecond.

On the hardware where I tested, OpenBSD will give ~120MB/sec
system-wide filesystem IO on any number of disks, also using an NVMe
SSD which has ~500-900MB/sec random access performance. I took this as
confirmation of the filesystem layer itself being the primary
bottleneck.

Also is the filesystem's internal sector size which it then accesses
underlying hardware with, 4KB, 16KB or 512B? I always suspected the
lastmentioned.

One thing that will be very interesting to see in OpenBSD is how serial
and random accesses perform on Intel Optane NVMe disks, with their
incredibly low latency. These could offset OpenBSD filesystem
limitations in not parallellizing IO.

Also the filesystem logics can be sidestepped by doing 16KB aligned
accesses to /dev/rsd* .

Joseph




Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Joseph Mayer
On Tuesday, April 9, 2019 3:28 AM, Chris Cappuccio  wrote:
> Anatoli [m...@anatoli.ws] wrote:
> > I've seen extremely slow HDD performance in OpenBSD, like 12x slower than on
> > Linux, also no filesystem cache, so depending on your HDD with scp you may
> > be hitting the max throughput for the FS, not the network.
>
> 12x slower? That's insane. What are you talking about? USB HDD? USB Flash?
> SATA? Driver? You should submit a bug report with lots of details.
>
> Chris

Chris,

Isn't the filesystem layer in OpenBSD altogether serial-processing, all
the way pretty much from userland fwrite() down to hardware access (as
in no use of hardware multiqueueing).

The non-use of multiqueueing is problematic for random reads from SSD:s
as they have extremely high latency within the individual read op e.g.
~~1 millisecond.

On the hardware where I tested, OpenBSD will give ~120MB/sec
system-wide filesystem IO on any number of disks, also using an NVMe
SSD which has ~500-900MB/sec random access performance. I took this as
confirmation of the filesystem layer itself being the primary
bottleneck.

Also is the filesystem's internal sector size which it then accesses
underlying hardware with, 4KB, 16KB or 512B? I always suspected the
lastmentioned.

One thing that will be very interesting to see in OpenBSD is how serial
and random accesses perform on Intel Optane NVMe disks, with their
incredibly low latency. These could offset OpenBSD filesystem
limitations in not parallellizing IO.

Also the filesystem logics can be sidestepped by doing 16KB aligned
accesses to /dev/rsd* .

Joseph



compared filesystem performance, was Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread gwes




On 04/08/19 17:46, Anatoli wrote:
That was with Samsung 960 EVO U.2 (PCIe) on i7-8550u with 32GB RAM. 
OpenBSD read/write was around 220-240MB/s (with FS encryption), Linux 
without FS cache about 2.6-2.8GB/s and with cache over 3.5GB/s.


I don't have a dmesg right now as I installed Gentoo on top and just 
saved a printscreen of the tests (below), but I can reinstall OpenBSD 
and make more specific tests if anybody is interested (I do am 
interested in a reasonable OpenBSD performance, but I thought 12x 
slower and no cache to improve things when I/O lags wasn't that strange).


If you can suggest some specific tests to analyze the cause (i.e. 
filesystem, hardware issues, scheduling, etc.), please let me know.




*From:* Chris Cappuccio 
*Sent:* Monday, April 08, 2019 16:28
*To:* Anatoli 
*Cc:* Misc 
*Subject:* Re: 10GBit network performance on OpenBSD 6.4

Anatoli [m...@anatoli.ws] wrote:

I've seen extremely slow HDD performance in OpenBSD, like 12x slower 
than on
Linux, also no filesystem cache, so depending on your HDD with scp 
you may

be hitting the max throughput for the FS, not the network.

12x slower? That's insane. What are you talking about? USB HDD? USB 
Flash?

SATA? Driver? You should submit a bug report with lots of details.

Chris




A quick test on a slow laptop running linux shows
  dd if=/dev/zero of=a bs=64k count=2
runs 1.3 GB/sec. The physical disk transfer rate is 80 MB/sec max.
Linux caches very aggressively.

What is the rated transfer rate of the SSD you're using to test?
SATA 3 wire speed is 6G/sec and realistically 500MB/sec raw rate
is near the top.

Anything over that is an artefact probably from a cache somewhere.

I suspect that if you tried to write more data than physical memory
can hold the transfer rate would slow to something under the
disk or channel rate.

OpenBSD saves a great deal less in its cache. This slows repetitive
accesses to large data sets a painful amount. That's a separate problem
which I'd like to look at but don't have the time to write the tools
to do it.



Re: compared filesystem performance, was Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Chris Cappuccio
gwes [g...@oat.com] wrote:
> 
> What is the rated transfer rate of the SSD you're using to test?
> SATA 3 wire speed is 6G/sec and realistically 500MB/sec raw rate
> is near the top.
> 
> Anything over that is an artefact probably from a cache somewhere.
> 

He's using NVMe with its own DRAM cache, which should perform higly. There
is a limiter somewhere, it seems.



Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Abel Abraham Camarillo Ojeda
On Sun, Apr 7, 2019 at 5:21 PM Mark Schneider 
wrote:

> Short feedback:
>
> Just for the test I have checked the 10GBit network performance
> between two FreeBSD 13.0 servers (both HP DL380g7 machines)
> transfering data in both directions
>
> # ---
> ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
> Password for ironm@fbsdsrv1:
> t2.iso 100% 3626MB 130.2MB/s   00:27
>
> # ---
> ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
> Password for ironm@fbsdsrv1:
> obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
> # ---
>
> The ssh performance using 10GBit network connection on FreeBSD 13.0
> is approx 7 times higher than the one on OpenBSD 6.4.
>
> Is it the question of the "ix" NIC driver of OpenBSD 6.4?
> (X520-DA2 NICs from Intel)
>
> Does one of you achieve good 10Gbit network performance with other
> 10Gbit NICs?
>
> Thank you in advance for your hints.
>
> Kind regards
> Mark
>
> --
> m...@it-infrastrukturen.org
>
>
> Am 06.04.2019 22:52, schrieb Mark Schneider:
> > Hi,
> >
> > Please allow me few questions regarding 10GBit network performance on
> > OpenBSD 6.4.
> > I face quite low network performance  for the Intell X520-DA2 10GBit
> > network card.
> >
> > Test configuration in OpenBSD-Linux-10GBit_net_performance.txt -
> > http://paste.debian.net/1076461/
> > Low transfer rate for scp - OpenBSD-10GBit-perftest.txt -
> > http://paste.debian.net/1076460/
> >
> > Test configuration:
> > # ---
> > # OpenBSD 6.4 on HP DL380g7
> > # -
> >
> > # 10GBit X520-DA2 NIC
> > ix0: flags=208843
> > mtu 1500
> > media: Ethernet autoselect (10GbaseSR
> > full-duplex,rxpause,txpause)
> > inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
> > inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255
> >
> > ix1: flags=208843
> > mtu 1500
> > media: Ethernet autoselect (10GbaseSR
> > full-duplex,rxpause,txpause)
> > inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
> > inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
> > # ---
> >
> > Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:
> >
> > # ---
> > # OpenBSD to Linux (Asus P8BWS)
> > # -
> > srvob# iperf3 -c 10.0.0.2
> > ...
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval   Transfer Bitrate
> > [  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec
> > sender
> > [  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec
> > receiver
> > # ---
> >
> >
> > # ---
> > # Linux (DL380g7) to Linux (Asus P8BWS)
> > # -
> > root@kali:~# iperf3 -c 100.0.0.2
> > ...
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval   Transfer Bitrate Retr
> > [  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328
> > sender
> > [  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec
> > receiver
> > # ---
> >
> > The scp transfer rate is like 21MBytes/s only per ssh connection
> > (OpenBSD <-> Linux):
> > # ---
> > root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso
> > ironm@10.0.0.7:/home/ironm/t12.iso
> > ironm@10.0.0.7's password:
> > kali-linux-kde-2019.1a-amd64.iso 4%  173MB
> > 21.5MB/s   02:40 ETA
> > # ---
> >
> >
> > The 1GBit cooper based NIC works also slower but reaching almost 40%
> > of the max trasfer rate of 1 Gbit:
> >
> > # ---
> > # OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
> > # 
> > srvob# iperf3 -c 170.0.0.10
> > ...
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval   Transfer Bitrate
> > [  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec
> > sender
> > [  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec
> > receiver
> > # ---
> >
> > # ---
> > # Linux (Asus P8BWS) to Linux (DL380g7)
> > # -
> > root@kali:~# iperf3 -c 192.168.1.122
> > ...
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval   Transfer Bitrate Retr
> > [  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183
> > sender
> > [  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec
> > receiver
> > # ---
> >
> >
> > Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.
> >
> > Best regards
> > Mark
> >
>

Whats your performance without scp? tcpbench / netcat, for example?


Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Chris Cappuccio
Anatoli [m...@anatoli.ws] wrote:
> 
> I've seen extremely slow HDD performance in OpenBSD, like 12x slower than on
> Linux, also no filesystem cache, so depending on your HDD with scp you may
> be hitting the max throughput for the FS, not the network.
> 

12x slower? That's insane. What are you talking about? USB HDD? USB Flash?
SATA? Driver? You should submit a bug report with lots of details.

Chris



Re: 10GBit network performance on OpenBSD 6.4

2019-04-08 Thread Anatoli

Hi,

I guess you're hitting 2 bottlenecks: the CPU performance for iperf and 
HDD performance for scp.


Check how much CPU is consumed during iperf transfer and try scp'ing 
something not from/to HDD, e.g. /dev/zero.


I've seen extremely slow HDD performance in OpenBSD, like 12x slower 
than on Linux, also no filesystem cache, so depending on your HDD with 
scp you may be hitting the max throughput for the FS, not the network.


Regards,
Anatoli

*From:* Mark Schneider 
*Sent:* Saturday, April 06, 2019 17:52
*To:* Misc 
*Subject:* 10GBit network performance on OpenBSD 6.4

Hi,

Please allow me few questions regarding 10GBit network performance on 
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit 
network card.


Test configuration in OpenBSD-Linux-10GBit_net_performance.txt - 
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt - 
http://paste.debian.net/1076460/


Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843 mtu 
1500

    media: Ethernet autoselect (10GbaseSR full-duplex,rxpause,txpause)
    inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
    inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843 mtu 
1500

    media: Ethernet autoselect (10GbaseSR full-duplex,rxpause,txpause)
    inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
    inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec  
sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec  
receiver

# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328 sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec  
receiver

# ---

The scp transfer rate is like 21MBytes/s only per ssh connection 
(OpenBSD <-> Linux):

# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso 
ironm@10.0.0.7:/home/ironm/t12.iso

ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB 
21.5MB/s   02:40 ETA

# ---


The 1GBit cooper based NIC works also slower but reaching almost 40% of 
the max trasfer rate of 1 Gbit:


# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec  
sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec  
receiver

# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
    - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183 sender
[  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec  
receiver

# ---


Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.

Best regards
Mark




Re: 10GBit network performance on OpenBSD 6.4

2019-04-07 Thread Mark Schneider

Short feedback:

Just for the test I have checked the 10GBit network performance
between two FreeBSD 13.0 servers (both HP DL380g7 machines)
transfering data in both directions

# ---
ironm@fbsdsrv2:~ $ scp ironm@200.0.0.10:/home/ironm/t2.iso t100.iso
Password for ironm@fbsdsrv1:
t2.iso 100% 3626MB 130.2MB/s   00:27

# ---
ironm@fbsdsrv2:~ $ scp obsd2fbsd.iso ironm@200.0.0.10:/home/ironm/t1.iso
Password for ironm@fbsdsrv1:
obsd2fbsd.iso  100% 3626MB 140.4MB/s   00:25
# ---

The ssh performance using 10GBit network connection on FreeBSD 13.0
is approx 7 times higher than the one on OpenBSD 6.4.

Is it the question of the "ix" NIC driver of OpenBSD 6.4?
(X520-DA2 NICs from Intel)

Does one of you achieve good 10Gbit network performance with other 
10Gbit NICs?


Thank you in advance for your hints.

Kind regards
Mark

--
m...@it-infrastrukturen.org


Am 06.04.2019 22:52, schrieb Mark Schneider:

Hi,

Please allow me few questions regarding 10GBit network performance on 
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit 
network card.


Test configuration in OpenBSD-Linux-10GBit_net_performance.txt - 
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt - 
http://paste.debian.net/1076460/


Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843 
mtu 1500
media: Ethernet autoselect (10GbaseSR 
full-duplex,rxpause,txpause)

inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843 
mtu 1500
media: Ethernet autoselect (10GbaseSR 
full-duplex,rxpause,txpause)

inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec  
sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec  
receiver

# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328 
sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec  
receiver

# ---

The scp transfer rate is like 21MBytes/s only per ssh connection 
(OpenBSD <-> Linux):

# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso 
ironm@10.0.0.7:/home/ironm/t12.iso

ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB 
21.5MB/s   02:40 ETA

# ---


The 1GBit cooper based NIC works also slower but reaching almost 40% 
of the max trasfer rate of 1 Gbit:


# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec  
sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec  
receiver

# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183 
sender
[  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec  
receiver

# ---


Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.

Best regards
Mark






10GBit network performance on OpenBSD 6.4

2019-04-06 Thread Mark Schneider

Hi,

Please allow me few questions regarding 10GBit network performance on 
OpenBSD 6.4.
I face quite low network performance  for the Intell X520-DA2 10GBit 
network card.


Test configuration in OpenBSD-Linux-10GBit_net_performance.txt - 
http://paste.debian.net/1076461/
Low transfer rate for scp - OpenBSD-10GBit-perftest.txt - 
http://paste.debian.net/1076460/


Test configuration:
# ---
# OpenBSD 6.4 on HP DL380g7
# -

# 10GBit X520-DA2 NIC
ix0: flags=208843 mtu 1500
media: Ethernet autoselect (10GbaseSR full-duplex,rxpause,txpause)
inet6 fe80::d51e:1b74:17d7:8230%ix0 prefixlen 64 scopeid 0x1
inet 200.0.0.3 netmask 0xff00 broadcast 200.0.0.255

ix1: flags=208843 mtu 1500
media: Ethernet autoselect (10GbaseSR full-duplex,rxpause,txpause)
inet 10.0.0.7 netmask 0xff00 broadcast 10.0.0.255
inet6 fe80::b488:caea:5d6f:9992%ix1 prefixlen 64 scopeid 0x2
# ---

Compare to Linux the 10GBit transfer from/to OpenBSD is few times slower:

# ---
# OpenBSD to Linux (Asus P8BWS)
# -
srvob# iperf3 -c 10.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec  1.50 GBytes  1.29 Gbits/sec  sender
[  5]   0.00-10.20  sec  1.50 GBytes  1.27 Gbits/sec  
receiver

# ---


# ---
# Linux (DL380g7) to Linux (Asus P8BWS)
# -
root@kali:~# iperf3 -c 100.0.0.2
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  10.9 GBytes  9.39 Gbits/sec 328 sender
[  5]   0.00-10.04  sec  10.9 GBytes  9.35 Gbits/sec  
receiver

# ---

The scp transfer rate is like 21MBytes/s only per ssh connection 
(OpenBSD <-> Linux):

# ---
root@kali:~# scp /re*/b*/ka*/kali-linux-kde-2019.1a-*.iso 
ironm@10.0.0.7:/home/ironm/t12.iso

ironm@10.0.0.7's password:
kali-linux-kde-2019.1a-amd64.iso 4%  173MB 
21.5MB/s   02:40 ETA

# ---


The 1GBit cooper based NIC works also slower but reaching almost 40% of 
the max trasfer rate of 1 Gbit:


# ---
# OpenBSD 6.4 (DL380g7 1Gbit NIC) to Linux (DL380g7 1GBit NIC)
# 
srvob# iperf3 -c 170.0.0.10
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate
[  5]   0.00-10.00  sec   471 MBytes   395 Mbits/sec  sender
[  5]   0.00-10.20  sec   471 MBytes   388 Mbits/sec  
receiver

# ---

# ---
# Linux (Asus P8BWS) to Linux (DL380g7)
# -
root@kali:~# iperf3 -c 192.168.1.122
...
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval   Transfer Bitrate Retr
[  5]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec 183 sender
[  5]   0.00-10.04  sec  1.09 GBytes   934 Mbits/sec  
receiver

# ---


Thank you in advance for your hints what OpenBSD 6.4 settings do I miss.

Best regards
Mark

--
m...@it-infrastrukturen.org