Twee servers met hetzelfde aantal processors kunnen heel verschillende doorvoer volhouden, omdat het getal dat telt is hoeveel kernen het actieve datapad werkelijk kan gebruiken. Eén daemon in de gebruikersruimte die de pakketten van één client verwerkt, is beperkt tot één kern, terwijl een offload-pad in de kernel dat werk kan spreiden. Geen van beide uitspraken zegt wat een bepaalde machine met uw verkeer zal doen, daarom komt meten vóór het tellen van kernen.

De vergelijking hieronder gaat over waar pakketten worden verwerkt, niet over welk product in abstracte zin sneller is. Dat zijn verschillende vragen met verschillende antwoorden.

Eén kern per stroom op het pad in de gebruikersruimte

In een traditionele Community OpenVPN instantie wordt het datakanaal in de gebruikersruimte verwerkt, en een drukke verbinding kan één processor bezet houden terwijl het totale machinegebruik onopvallend blijft. Daarom verandert het toevoegen van kernen aan een host die al verzadigd is op één stroom niets: de scheduler heeft geen manier om dat werk te verdelen. De structuur van één proces per client begrenst de overdracht van één client tot de capaciteit van één kern, ongeacht het totale aantal kernen. Lees tijdens een test het gebruik per kern in plaats van het totaalcijfer, anders lijkt de bottleneck vrije ruimte.

Meerdere serverinstanties op één host draaien verdeelt afzonderlijke clients over processen. Het paralleliseert geen bestaande verbinding en kost afzonderlijke pools, listeners en routeringsbeslissingen.

Het andere pad: pakketten in de kernel

Offload van het datakanaal verplaatst ondersteunde pakketverwerking en cryptografie naar de kernel, waar het werk meerdere kernen kan gebruiken. Dat verandert de capaciteitsvraag van één kern naar de machine, maar alleen voor configuraties die de implementatie ondersteunt: een compatibele kernelmodule, een geschikt datacijfer en een configuratie zonder de functies die offload uitsluit. Een module installeren is niet hetzelfde als hem gebruiken, dus bevestig de actieve modus uit het log of de statusuitvoer van de verbinding zelf. Een versiebanner bewijst wat beschikbaar is, niet wat er draait.

Offload verwijdert de authenticatie of het controlekanaal niet, en het maakt niet elke uitrol meerkernig. Het is lokale versnelling van een compatibel datapad, en de eisen verschillen per platform en versie.

Wat de vergelijking werkelijk beslist

De echte keuze is tussen een plafond per stroom accepteren, clients over instanties spreiden en overstappen op een ondersteunde offload-configuratie. Elk ervan pakt een ander probleem aan, en de verkeerde kiezen kost geld zonder het getal te verplaatsen. De test die ertoe doet is degene die gevormd is naar de manier waarop de dienst wordt gebruikt.

Meet drie vormen: één client met één overdracht, één client met meerdere stromen en meerdere clients tegelijk. Een hoog totaal in de derde bewijst niet dat één download dat kan bereiken, en een trage enkele overdracht bewijst niet dat de server zijn totale capaciteit heeft uitgeput. De resultaten beantwoorden verschillende vragen en beide zijn de moeite waard.

Alleen de middelste vorm vertelt u of gelijktijdigheid binnen één client helpt, wat meestal een eigenschap van het transport en het pad is en niet van de server. Alleen de eerste vertelt het plafond dat één toepassing zal zien. Houd de werklast tussen runs identiek zodat de vergelijking iets betekent.

Meten zodat het getal iets betekent

Noteer de versies van server en client, het actieve datapad, het onderhandelde datacijfer, de overdrachtsrichting, pakketgroottes, het aantal stromen en de duur. Let op activiteit per kern en op pakket- en wachtrijverliezen aan beide uiteinden, omdat de interface van de client zelf, het netwerk van de provider of de doeldienst als eerste de grens kunnen worden. Wijzig één variabele per keer, want een run die cijfer, compressie, MTU en offload tegelijk wijzigt kan u niet vertellen welke ertoe deed. Houd tijdens de test het toegangsbeleid aan dat u werkelijk van plan bent uit te rollen, want een laboratoriumopstelling die niemand zal draaien bewijst weinig.

Laat daarna ruimte voor het controlekanaal, voor heronderhandeling en voor al het overige dat op de host draait.

Rapporteer wat de configuratie volhield onder de beoogde gelijktijdigheid, in plaats van een snelheid die uit andermans hardware is geëxtrapoleerd. Een getal met zijn testvoorwaarden erbij is nuttig; een belofte zonder die voorwaarden is een gok die later tegen u wordt aangehaald.

Gerelateerde artikelen