Câte nuclee are nevoie OpenVPN? Depinde de cale
Un singur flux poate ocupa un nucleu în timp ce serverul pare inactiv. Comparați calea din spațiul utilizatorului cu descărcarea în nucleu și apoi măsurați concurența pe care o serviți cu adevărat.
Două servere cu același număr de procesoare pot susține debite foarte diferite, pentru că numărul care contează este câte nuclee poate folosi efectiv calea de date activă. Un singur demon în spațiul utilizatorului care procesează pachetele unui client este limitat la un nucleu, în timp ce o cale de nucleu cu descărcare poate împrăștia acea muncă. Niciuna dintre afirmații nu spune ce va face o anumită mașină cu traficul dumneavoastră, de aceea măsurarea vine înaintea numărării nucleelor.
Comparația de mai jos este despre unde sunt procesate pachetele, nu despre care produs este mai rapid în abstract. Sunt întrebări diferite cu răspunsuri diferite.
Un nucleu pe flux pe calea din spațiul utilizatorului
Într-o instanță Community OpenVPN tradițională canalul de date este procesat în spațiul utilizatorului, iar o conexiune ocupată poate fixa un procesor în timp ce utilizarea generală a mașinii rămâne discretă. De aceea adăugarea de nuclee la un host deja saturat pe un singur flux nu schimbă nimic: planificatorul nu are cum să împartă acea muncă. Structura unui proces pe client limitează transferul unui client la capacitatea unui nucleu, indiferent de numărul total de nuclee. Citiți utilizarea pe nucleu în timpul unui test în locul cifrei agregate, altfel blocajul va părea rezervă liberă.
Rularea mai multor instanțe de server pe un singur host distribuie clienți separați între procese. Nu paralelizează o conexiune existentă și costă grupuri, ascultători și decizii de rutare separate.
Cealaltă cale: pachete în nucleu
Descărcarea canalului de date mută în nucleu procesarea pachetelor acceptată și criptografia, unde munca poate folosi mai multe nuclee. Asta schimbă întrebarea despre capacitate de la un nucleu la mașină, dar numai pentru configurațiile pe care implementarea le acceptă: un modul de nucleu compatibil, un cifru de date eligibil și o configurație fără funcțiile pe care descărcarea le exclude. Instalarea unui modul nu este același lucru cu folosirea lui, așa că confirmați modul activ din jurnalul sau din ieșirea de stare a conexiunii înseși. Un banner de versiune dovedește ce este disponibil, nu ce rulează.
Descărcarea nu elimină autentificarea sau canalul de control și nu transformă fiecare implementare într-una cu mai multe nuclee. Este o accelerare locală a unei căi de date compatibile, iar cerințele diferă în funcție de platformă și versiune.
Ce decide de fapt comparația
Alegerea reală este între acceptarea unui plafon pe flux, distribuirea clienților pe instanțe și trecerea la o configurație de descărcare acceptată. Fiecare abordează o problemă diferită, iar alegerea celei greșite costă bani fără să miște numărul. Testul care contează este cel modelat după modul în care este folosit serviciul.
Măsurați trei forme: un client cu un transfer, un client cu mai multe fluxuri și mai mulți clienți împreună. Un total mare în a treia nu dovedește că o singură descărcare poate ajunge acolo, iar un transfer unic lent nu dovedește că serverul și-a epuizat capacitatea totală. Rezultatele răspund la întrebări diferite și ambele merită păstrate.
Doar forma din mijloc vă spune dacă concurența din interiorul unui client ajută, ceea ce este de obicei o proprietate a transportului și a căii, nu a serverului. Doar prima vă spune plafonul pe care îl va vedea o singură aplicație. Păstrați sarcina identică între rulări pentru ca comparația să însemne ceva.
Măsurare ca numărul să însemne ceva
Notați versiunile serverului și clientului, calea de date activă, cifrul de date negociat, direcția transferului, dimensiunile pachetelor, numărul de fluxuri și durata. Urmăriți activitatea pe nucleu și pierderile de pachete și de cozi la ambele capete, pentru că interfața clientului însuși, rețeaua furnizorului sau serviciul destinație pot deveni limita primele. Schimbați o singură variabilă odată, fiindcă o rulare care modifică cifru, compresia, MTU și descărcarea împreună nu vă poate spune care a contat. Păstrați în timpul testului politica de acces pe care intenționați cu adevărat să o implementați, pentru că o amenajare de laborator pe care nimeni nu o va rula dovedește puțin.
Apoi lăsați rezervă pentru canalul de control, pentru renegociere și pentru tot restul care rulează pe host.
Raportați ce a susținut configurația sub concurența intenționată, nu o rată extrapolată din hardware-ul altcuiva. Un număr cu condițiile sale de test este util; o promisiune fără ele este o presupunere care vă va fi citată înapoi.