Wieviel Bandbreite haben unsere Supernodes?
Die Messungen sind vom 31.12.2019.
CPU Pinning ist wichtig für die Messmethode
Die Messung basiert auf einem Iperf-Dienst, der auf dem Supernode läuft. Gemessen wird der gelbe Graph. Dieser zeigt, wieviel Traffic in die bat-Devices rein geht.
- Fastd ist nicht multi-core-fähig, sodass immer nur ein Kern ausgelastet wird. In Grafana wurde eine Statistik erstellt, die nur den Kern mit der maximalen Auslastung anzeigt.
- Auf Multi-Core-Systemen sollte man zur Messung den fastd auf einen einzelnen Kern beschränken ("pinnen"), da sonst die Messwerte nicht erfassbar sind.
- Im folgenden Graphen sind starke Unterschiede mit und ohne Pinning zu sehen, auch wenn der Nutztraffic Traffic (oben in gelb) gleich aussieht.

1. fastd PID für dom99 rausfinden:
[root@sn09]:~ # ps aux | grep fastd | grep 99 | grep -v announ
root 1164 0.4 1.1 656340 11300 ? Ss Dec29 8:53 /usr/bin/fastd --syslog-level info ...
2. Pinning des fastd-Prozesses auf ersten Kern
[root@sn09]:~ # taskset -p 0x01 1164
Zusammenhang der Bandbreite mit der CPU
Im folgenden ist eine Messung auf einem etwas CPU-stärkeren Supernode zu sehen.

Es ist sichtbar, dass der Client es nicht schafft, die CPU dieses Supernodes voll auszulasten. Die Maximale CPU-Auslastung liegt bei ~90% wo gleichzeitig Nutztraffic von 225 Mbit/s in die bat-Devices fließt. Durch einfachen Dreisatz kann man ausrechnen, dass der sn08 etwa 250 Mbit/s macht, wenn er bei 100% CPU-Auslastung ist.
| supernode |
CPU-Taktrate |
Datenrate bei Vollauslastung |
Datenrate pro GHz |
| sn01 |
2.26 GHz |
156 Mbit/s |
69 Mbit/s |
| sn08 |
3.4 GHz |
250 Mbit/s |
73 Mbit/s |
Damit lässt sich vermuten, dass die Datenrate ungefähr linear von der CPU-Taktrate abhängt:
Taktrate in GHz * 70 Mbit = Bandbreite
Die Messungen bei Hostway sind komisch

Es gibt einige Probleme bei diesen Messungen:
1. Die Maschine hat 2.6 GHz. Wenn unsere Erkenntnis von vorher stimmt, dann sollte das Bandbreitenlimit etwa bei 180 Mbit/s statt bei 139 Mbit/s liegen. Vielleicht ist das eine Messungenauigkeit?
2. Es gibt keine Korrelation zwischen CPU-Last und Traffic. Hier könnte es viele Erklärungen geben. Vielleicht funktioniert das Pinning nicht.
3. Es gibt bei sn09 schon eine "Grundlast" ohne den induzierten Traffic von etwa 40 Mbit/s. Der Supernode hat 2 VCPUs. Wenn sich der Traffic auf alle Domänen (und damit auch VCPUs) gleichzeitig verteilt, dann sind in der Grundlast 20Mbit/s auf der anderen VCPU, die wir nicht mit messen wollen. Also müssten wir von unserem Messwert nochmal ~20 Mbit/s abziehen und kämen auf 119 Mbit/s, was für eine CPU mit 2.6 GHz immer noch zu wenig wäre.

Bei sn10 kann man dieses Prinzip äquivalent anwenden. Die Grundlast beträgt etwa 120 Mbit/s. ohne die Messung. Zieht man wieder die Hälfte von dem Spitzenwert 181 Mbit/s ab, kommt man auf 121 Mbit/s für den einen Kern, so wie bei sn09 auch. Das ergibt Sinn, da die Hosts auf dem gleichen VMWare-Cluster laufen und sonst auch identisch sind.
Übersicht Messergebnisse
| Standort |
supernode |
CPU-Taktrate |
Bandbreitenlimit pro CPU |
Bandbreitenlimit / GHz |
Virtualisierungstechnologie |
| Frankfurt am CIX |
sn01 |
2.26 GHz |
156 Mbit/s |
69 Mbit/s |
KVM |
| Hetzner |
sn08 |
3.4 GHz |
250 Mbit/s |
73 Mbit/s |
? |
| Hostway |
sn09 |
2.6 GHz |
119 Mbit/s |
46 Mbit/s |
ESXI |
| Hostway |
sn10 |
2.6 GHz |
121 Mbit/s |
46 Mbit/s |
ESXI |
THEORETISCHE Gesamtbandbreite pro Supernode
Es ist davon auszugehen, dass die Bandbreite pro CPU verfügbar ist. Aus jeder Domain ist allerdings nur maximal die Bandbreite abrufbar, die eine CPU zur Verfügung stellen kann, da fastd single-threaded ist. Ein einzelner Endnutzer kann so nur eine Bandbreite einer CPU nutzen. Dies ist allerdings nur eine theoretische Schlussfolgerung und wurde nicht gemessen.
| Standort |
supernode |
CPU-Taktrate |
Bandbreitenlimit pro CPU |
Kerne |
Theoretische Gesamtbandbreite durch fastd |
Limitierung durch Anbindung |
| Frankfurt am CIX |
sn01 |
2.26 GHz |
156 Mbit/s |
12 |
1.8 GBit/s |
10 GBit/s |
| Hetzner |
sn08 |
3.4 GHz |
250 Mbit/s |
7 |
1.7 GBit/s |
1 Gbit/s |
| Hostway |
sn09 |
2.6 GHz |
119 Mbit/s |
2 |
240 Mbit/s |
10 GBit/s |
| Hostway |
sn10 |
2.6 GHz |
121 Mbit/s |
2 |
240 Mbit/s |
10 GBit/s |
Mögliche Weiterentwicklungen des Tests
- Speedtests die auch ins Internet gehen und nicht nur zwischen dem Supernode und dem Knoten stattfinden.
Testmethodik
…