A few more results:

I've installed a VM on my Test-IPFire and run the fireperf-server on it.


server: Debian 10.8 QEMU VM 4 cores on IPFire Core 154; Intel i7 4790; Intel 82571EB/GB 1GBit Nic
Client: Ubuntu 20.4; Intel i7 9700; Intel i219-V 1GBit Nic


So here my results:

Server:
fireperf -s -P 10000 -p 63000:63010

Client:
fireperf -c <IP address> -P 1 -x -p 63000:63010 -> ~4000 cps

fireperf -c <IP address> -P 10 -x -p 63000:63010 -> ~22000 cps

fireperf -c <IP address> -P 100 -x -p 63000:63010 -> ~52000-53000 cps

fireperf -c <IP address> -P 1000 -x -p 63000:63010 -> ~52000 cps

fireperf -c <IP address> -P 10000 -x -p 63000:63010 -> ~52000 cps

The cpu utilization within the VM was limited to 2 cores and increased in sync with the cps.
In my last test, the utilization was about 55% on both cores on the server.

The cpu utilization on the host was limited to 2 cores and increased in sync with the cps.
In my last test, the utilization of ther server was about 100% on 2 cores and about 50% on an third core.

The cpu utilization on the client was limited to 2 cores and increased in sync with the cps.
In my last test, the utilization was about 75% on one core.


Because the measurement results with the VM differed significantly from the previous native ones, I rebooted my Test-IPFire and repeated the native tests.
These are now more plausible. I think the reboot was probably necessary. ;-)

Here are the new results:

server: IPFire Core 154; Intel i7 4790; Intel 82571EB/GB 1GBit Nic
Client: Ubuntu 20.4; Intel i7 9700; Intel i219-V 1GBit Nic


Server:
fireperf -s -P 10000 -p 63000:63010

Client:
fireperf -c <IP address> -P 1 -x -p 63000:63010 -> ~6000 cps

fireperf -c <IP address> -P 10 -x -p 63000:63010 -> ~35000-40000 cps

fireperf -c <IP address> -P 100 -x -p 63000:63010 -> ~53000-54000 cps

fireperf -c <IP address> -P 1000 -x -p 63000:63010 -> ~53000 cps

fireperf -c <IP address> -P 10000 -x -p 63000:63010 -> ~52000 cps

The cpu utilization was limited to one core and increased in sync with the cps on both sides.

In the last test, the utilization of one core was about 85-100% on the server and 75% on the client.


We see a very significant increase of the cpu utilization (+150%) on the server. Between running the server natively or in a VM.
And also a reduction of the cps by 30% with only one connection and up to 55% with 10 connections.
From 100 connections, the bottleneck is obviously somewhere else.


-

Daniel

10. Februar 2021 08:49, daniel.weismueller@ipfire.org schrieb:

Another day another result.

I've testet my old Raspberry Pi 3 B. ;-)


server: IPFire Core 154; Raspberry Pi 3 B; integrated Microchip LAN9514 100 MBit Nic
Client: Debian 10.8; Lenovo T440;
Intel i5-4300U; Intel I218-LM 1GBit Nic


Here are the results:

Server:
fireperf -s -P 10000 -p 63000:630010

Client:
fireperf -c <IP address> -P 1 -x -p 63000:63010 -> ~1000 cps

fireperf -c <IP address> -P 10 -x -p 63000:63010 -> ~500-1500 cps strongly fluctuating

fireperf -c <IP address> -P 100 -x -p 63000:63010 -> ~500-1500 cps strongly fluctuating

fireperf -c <IP address> -P 1000 -x -p 63000:63010 -> ~500-1500 cps strongly fluctuating

fireperf -c <IP address> -P 10000 -x -p 63000:63010 -> crashed and the Pi needs a reboot

The cpu utilization was limited to one core.

In all my tests, the utilization was about 35-55% on the server and 10-15% on the client.
It is noticeable that the Pi could never load a core to 100%. Therefore, the bottleneck must lie somewhere else.

In the next days I will test our mini and post the results here.

-

Daniel


9. Februar 2021 13:53, daniel.weismueller@ipfire.org schrieb:


Hi guys,

today I installed fireperf on my testing IPFire and my Ubuntu PC.

server: IPFire Core 154; Intel i7 4790; Intel 82571EB/GB 1GBit Nic
Client: Ubuntu 20.4; Intel i7 9700; Intel i219-V 1GBit Nic


Michael and I agreed that one more port should be opened per 5000 expected connection per second (cps)

So here my results:


Server:
fireperf -s -P 10000 -p 63000:630010

Client:
fireperf -c <IP address> -P 1 -x -p 63000:63010 -> ~5000 cps

fireperf -c <IP address> -P 10 -x -p 63000:63010 -> ~30000-35000 cps

fireperf -c <IP address> -P 100 -x -p 63000:63010 -> ~35000-40000 cps

fireperf -c <IP address> -P 1000 -x -p 63000:63010 -> ~40000-45000 cps

fireperf -c <IP address> -P 10000 -x -p 63000:63010 -> ~46000-48000 cps

The cpu utilization was limited to one core and increased in sync with the cps on both sides.

In my last test, the utilization was about 85-100% on the server and 75-95% on the client.

In the next days I will test our mini and post the results here.

-

Daniel