Bringt Virtualisierung doch mehr Performance?


#1

Moin,

wir haben jetzt auf Remü 08 und 09 etwa genauso viele Verbindungen wie auf Des1. Zusammen etwa 450 jeweils.

# ansible gateways -m shell -a 'brctl show|wc -l'
remue-08 | SUCCESS | rc=0 >>
320

c1024 | SUCCESS | rc=0 >>
195

parad0x | SUCCESS | rc=0 >>
243

remue-09 | SUCCESS | rc=0 >>
158

des1 | SUCCESS | rc=0 >>
450

nightbounce | SUCCESS | rc=0 >>
68

des2 | SUCCESS | rc=0 >>
421

fanlin | SUCCESS | rc=0 >>
151

@descilla hatte die Theorie, dass es mit zwei VMs besser performt, als wenn alles über eine geht. Wie könnte man das jetzt am Besten testen oder messen?

Grüße
Matthias


#2

:joy:

Ich denke das ist gar nicht so einfach. Einfach einen iperf machen wird es nicht bringen. Da u. a. Batman recht viel auf der CPU macht. Außerdem kann man imho auch nicht einfach für die gleiche Anzahl der Knoten sorgen. Dafür sind es zu wenige und die Intensität der Nutzung der einzelnen Knoten ist zu unterschiedlich. Auch wenn unterschiedliche Domänen über die Gateways laufen kann das die Ergebnisse verzerren. Zum einen sind die Domänen unterschiedlich groß, was ja bekanntermaßen ein Faktor für die Performance ist. Zum anderen ist z. B. die Anzahl der Nutzer pro Knoten je nach Domäne (und “Verbreitungsstrategie”) sehr unterschiedlich.

Ich denke, dass man zunächst die Gateways einzeln für sich anschauen muss um eine Theorie aufzubauen, woran es genau hakt. Erst wenn man da eine (oder mehrere) Theorien hat kann man sich überlegen, wie man sie am besten widerlegt oder untermauert.

PS: Ich kann mir durchaus vorstellen, dass die Latenz einen entschiedenen Faktor spielen könnte.

PPS: Ich werde mal schauen, was ich so in grafana zusammenklicken kann. Dann können wir uns überlegen ob das bloß Korrelationen sind oder ob wir einen kausalen Zusammenhang finden können. <- Das ist ja meistens das Problem bei uns (siehe “x86-Problematik”).


#3

Von Anzahl Verbindungen auf Performance zu schliessen halte ich für wenig belastbar.

Der Weg das zu testen wäre IMHO ein Schwarm von Lastgeneratoren zu erzeugen (EC2 oder so) und das zu messen.
Diese sollten sich dann wie ein Client verhalten, effektiv ein Offloader Image + etwas Lastgenerator. ist als Lastgenerator ungeeignet das er ein sehr untypische Last simuliert :wink: Einen Vorschlag dazu habe ich aber gerade nicht.