Kuinka monta ydintä OpenVPN tarvitsee? Se riippuu polusta
Yksi virta voi varata yhden ytimen, kun palvelin näyttää käyttämättömältä. Vertaa käyttäjätilan polkua ytimen purkuun ja mittaa sitten se rinnakkaisuus, jota todella palvelet.
Kahdella saman prosessorimäärän palvelimella voi olla hyvin erilainen läpäisykyky, koska ratkaiseva luku on se, kuinka monta ydintä aktiivinen datapolku voi todella käyttää. Yksittäinen käyttäjätilan taustaprosessi, joka käsittelee yhden asiakkaan paketit, rajoittuu yhteen ytimeen, kun taas ytimeen siirretty polku voi jakaa työn. Kumpikaan väite ei kerro, mitä tietty kone tekee liikenteellesi, siksi mittaus tulee ennen ytimien laskemista.
Alla oleva vertailu kertoo siitä, missä paketit käsitellään, ei siitä, mikä tuote on abstraktisti nopeampi. Ne ovat eri kysymyksiä, joilla on eri vastaukset.
Yksi ydin virtaa kohden käyttäjätilan polulla
Perinteisessä Community OpenVPN instanssissa datakanava käsitellään käyttäjätilassa, ja kiireinen yhteys voi varata yhden prosessorin, kun koneen kokonaiskäyttö pysyy huomaamattomana. Siksi ytimien lisääminen isäntään, joka on jo kyllästynyt yhteen virtaan, ei muuta mitään: ajoittajalla ei ole tapaa jakaa sitä työtä. Yhden asiakkaan prosessirakenne rajaa yhden asiakkaan siirron yhden ytimen kapasiteettiin riippumatta ytimien kokonaismäärästä. Lue testin aikana ytimenkohtaista käyttöä kokonaisluvun sijaan, muuten pullonkaula näyttää vapaalta varalta.
Usean palvelininstanssin ajaminen yhdellä isännällä jakaa erilliset asiakkaat prosessien kesken. Se ei rinnakkaista yhtä olemassa olevaa yhteyttä ja vaatii erilliset altaat, kuuntelijat ja reitityspäätökset.
Toinen polku: paketit ytimessä
Datakanavan purku siirtää tuetun pakettikäsittelyn ja salauksen ytimeen, jossa työ voi käyttää useita ytimiä. Se muuttaa kapasiteettikysymyksen yhdestä ytimestä koneeksi, mutta vain kokoonpanoille, joita toteutus tukee: yhteensopiva ydinmoduuli, kelvollinen datasalaaja ja kokoonpano ilman ominaisuuksia, jotka purku sulkee pois. Moduulin asentaminen ei ole sama kuin sen käyttäminen, joten vahvista aktiivinen tila yhteyden omasta lokista tai tilaraportista. Versiobanneri todistaa, mitä on saatavilla, ei sitä mikä on käynnissä.
Purku ei poista todennusta tai ohjauskanavaa, eikä se tee jokaisesta käyttöönotosta moniytimistä. Se on yhteensopivan datapolun paikallinen kiihdytys, ja vaatimukset vaihtelevat alustan ja version mukaan.
Mitä vertailu oikeastaan päättää
Todellinen valinta on virran kattorajan hyväksymisen, asiakkaiden jakamisen instanssien kesken ja tuettuun purkukokoonpanoon siirtymisen välillä. Jokainen ratkaisee eri ongelman, ja väärän valitseminen maksaa rahaa siirtämättä lukua. Ratkaiseva testi on se, joka on muotoiltu sen mukaan, miten palvelua käytetään.
Mittaa kolme muotoa: yksi asiakas yhdellä siirrolla, yksi asiakas usealla virralla ja useita asiakkaita yhdessä. Korkea kokonaissumma kolmannessa ei todista, että yksi lataus voi saavuttaa sen, eikä hidas yksittäinen siirto todista, että palvelimen kokonaiskapasiteetti on loppunut. Tulokset vastaavat eri kysymyksiin ja molemmat kannattaa pitää.
Vain keskimmäinen muoto kertoo, auttaako yhden asiakkaan sisäinen rinnakkaisuus, mikä on yleensä kuljetuksen ja polun ominaisuus eikä palvelimen. Vain ensimmäinen kertoo katon, jonka yksi sovellus näkee. Pidä työkuorma samana ajojen välillä, jotta vertailulla on merkitystä.
Mittaaminen niin, että luvulla on merkitys
Kirjaa palvelimen ja asiakkaan versiot, aktiivinen datapolku, neuvoteltu datasalaaja, siirtosuunta, pakettikoot, virtojen määrä ja kesto. Seuraa ytimenkohtaista aktiivisuutta sekä paketti- ja jonohäviöitä molemmissa päissä, koska asiakkaan oma liitäntä, palveluntarjoajan verkko tai kohdepalvelu voivat tulla rajaksi ensin. Muuta yhtä muuttujaa kerrallaan, sillä ajo, joka muuttaa salausta, pakkausta, MTU:ta ja purkua yhtä aikaa, ei voi kertoa, mikä oli ratkaiseva. Pidä testin aikana se käyttöoikeuskäytäntö, jonka todella aiot ottaa käyttöön, sillä laboratoriojärjestely, jota kukaan ei aja, todistaa vähän.
Jätä sitten varaa ohjauskanavalle, uudelleenneuvottelulle ja kaikelle muulle, mikä isännällä pyörii.
Raportoi, mitä kokoonpano kesti aiottu rinnakkaisuus huomioiden, äläkä toisen laitteistosta ekstrapoloitua nopeutta. Luku, jonka testiolosuhteet on liitetty mukaan, on hyödyllinen; lupaus ilman niitä on arvaus, joka siteerataan sinulle myöhemmin takaisin.