It-tagħbija tas-server VPN spjegata: utenti, CPU jew uplink?
Punteġġ baxx ta’ tagħbija jista’ jfisser utenti vojta, CPU żejda jew uplink wiesa’. Aqra loadavg, il-kontaturi tal-interface u l-fajl tal-istat qabel ma tgħid li hu mgħaġġel.
Gateway b’tagħbija ta’ 0.4 xorta jista’ jitkaxkar għal kull utent warajh. Il-medja tat-tagħbija tgħodd kompiti li jistgħu jiġu eżegwiti jew li qegħdin imwaħħla fi rqad li ma jistax jiġi interrott, u fuq host b’erba’ qlub proċess wieħed saturat biżżejjed biex jimbiegħdu lejn 1.0 waqt li tliet qlub joqogħdu bla xogħol. Li taqra dak in-numru bħala riżerva hu l-iktar żball komuni fl-għażla tal-endpoint. Dak li verament jillimita tunnel hu ġeneralment waħda minn erba’ affarijiet: qalba waħda okkupata, l-uplink, il-kju quddiemu jew politika għal kull sessjoni li ħadd ma ddokumentaha.
Il-medja tat-tagħbija tgħodd kompiti, mhux throughput
Il-kernel jieħu kampjuni mill-kju tal-eżekuzzjoni u mill-għadd ta’ kompiti li qegħdin jistennew input u output, imbagħad ilesti t-tnejn fuq minuta, ħames minuti u ħmistax-il minuta. Xejn f’dik id-definizzjoni ma jsemmi bytes, pakketti jew tunelli. Host b’ħażna mblukkata jista’ jirrapporta tagħbija għolja b’kważi l-ebda traffiku, u host li jimbotta gigabit minn mogħdija tad-dejta tal-kernel jista’ jirrapporta waħda komda.
Għalhekk, li tikkorrelata t-tagħbija mal-prestazzjoni tat-tunnel teħtieġ ħarsa għal kull qalba. Jekk qalba waħda tkun mimlija, il-perċentwal aggregat fuq dashboard xorta se jidher tajjeb:
cat /proc/loadavg
mpstat -P ALL 1 1
top -H -b -n 1 | head -n 20
It-tielet kmand hu dak li jgħodd l-iktar fuq hosts VPN. L-ipproċessar tal-pakketti fl-ispazju tal-utent f’OpenVPN 2.x hu l-iktar serializzat għal kull proċess, għalhekk ħajt wieħed okkupat jista’ jsir is-saqaf waqt li d-dashboard jirrapporta ħafna kapaċità vojta. Jekk ħajt wieħed iżomm il-biċċa l-kbira ta’ qalba matul il-perjodu bil-mod tiegħek, il-host mhux sotto-dimensjonat b’mod ġenerali; hu limitat fid-dimensjoni li jkun importanti.
Innota l-ħin ukoll. Il-medji ta’ ħmistax-il minuta jaħbu l-isplużjoni li qerdet sejħa, għalhekk screenshot meħud wara l-ilment hija prova dgħajfa. Ikkampjuna waqt il-problema, u żomm it-timestamp mal-output.
L-uplink u l-kju quddiemu
Il-kontaturi tal-interface iwieġbu l-mistoqsija tal-bandwidth li ċ-ċifri tas-CPU ma jistgħux. Huma wkoll jifirdu l-kapaċità mit-telf, li huma fallimenti differenti b’soluzzjonijiet differenti:
ip -s link show dev eth0
tc -s qdisc show dev eth0
nstat -az TcpRetransSegs TcpExtTCPLostRetransmit
Rabta li waqt it-test tiegħek hija qrib ir-rata allokata tagħha hija l-ispjegazzjoni, u l-ebda ammont ta’ CPU żejda ma jbiddilha. Il-linja qdisc iżżid id-dettall li jgħodd għat-traffiku interattiv: l-akkumulu u t-telf jgħidulek jekk il-pakketti jistennewx f’kju qabel ma joħorġu. Kju li jimtela taħt upload kbir jipproduċi eżatt is-sintomu li n-nies jagħtu l-ħtija lis-server remot, jiġifieri sejħiet kajmana fuq konnessjoni li għadha tagħmel tajjeb fil-benchmarks.
Il-kontaturi tar-ritrasmissjoni jaqbdu l-każ fejn il-pakketti joħorġu iżda qatt ma jaslu nadif. Jekk ir-ritrasmissjonijiet jiżdiedu fit-tieqa bil-mod u l-interface hija ’l bogħod mill-kapaċità, il-problema tinsab fil-mogħdija u mhux fuq il-host, u li tmur għal endpoint ieħor fl-istess belt ma tgħinx.
L-għadd tas-sessjonijiet jiddeskrivi d-domanda, mhux ir-riżerva
Kull direttorju pubbliku juri xi numru ta’ utenti konnessi, u kważi ħadd minnhom ma jgħidlek x’qegħdin jagħmlu dawk l-utenti. Għoxrin sessjoni li jagħmlu xogħol interattiv u erba’ sessjonijiet li jiġbdu fajls kbar jipproduċu tagħbijiet differenti ħafna fuq l-istess ħardwer. It-tieni mudell huwa inviżibbli fl-għadd tal-utenti, u huwa dak li jħassar filgħaxija. Għalhekk numru ta’ sessjonijiet jinqara l-aħjar bħala ħjiel dwar id-domanda, qatt bħala dikjarazzjoni dwar kapaċità żejda.
| Number on the page | What it is really measuring | What it cannot tell you |
|---|---|---|
| Connected users | How many sessions hold an address | How much each one is transferring |
| Load or score | Whatever the operator chose to publish | Whether that definition matches your task |
| Uptime | How long since the process started | Current capacity, queue depth or packet loss |
| Distance or ping | Round-trip time on a small probe | Throughput under sustained transfer |
Fuq host li tikkontrolla, il-fajl tal-istat jagħti d-dimensjoni neqsin. OpenVPN jikteb snapshot perjodiku li jinkludi kontaturi tal-bytes għal kull klijent, u dak biżżejjed biex tara jekk sessjoni waħda hijiex responsabbli għall-uplink kollu:
status /run/openvpn/server.status 10
# then, after at least one interval
grep -E "^CLIENT_LIST" /run/openvpn/server.status
Żewġ kampjuni għaxar sekondi ’l bogħod minn xulxin ibiddlu dawk l-għadd kumulattiv f’rata għal kull klijent. Dak hu l-kejl li għalih qiegħed l-għadd tal-utenti, u hekk ukoll tiskopri li klijent wieħed ikkonfigurat ħażin jissatura r-rabta kull lejl fl-istess ħin.
Il-limiti għal kull sessjoni jinħbew fil-politika
Server jista’ jkun vojt u xorta jirrifjuta li jagħtik bandwidth. Il-limiti tar-rata, is-saqaf tal-bandwidth għal kull klijent u l-ifformar tat-traffiku spiss jiġu applikati skont isem komuni jew skont pool, għalhekk żewġ utenti fuq l-istess gateway jistgħu jiksbu riżultati differenti ħafna. Il-mekkaniżmu mhuwiex sottili, iżda huwa inviżibbli minn barra għax it-tunnel jitla’ normalment fiż-żewġ każi.
Fittex l-ifformar fuq l-interface tat-tunnel u mhux fuq dik fiżika. Iċċekkja jekk il-limitu hux isegwi l-utent, iċ-ċertifikat jew il-pool tal-indirizzi. Jekk il-kont tat-test tiegħek jaqa’ fil-pool mingħajr saqaf, se tikkonkludi li s-server huwa tajjeb u li l-utent li qiegħed jilmenta qiegħed żbaljat. Dik il-konklużjoni hija agħar minn ebda konklużjoni, għax tagħlaq it-ticket.
Qabbel żewġ endpoints b’kompitu fiss wieħed
L-esperiment fuq in-naħa tal-klijent għadu jiswa li jsir, iżda biss jekk il-varjabbli jkunu ffissati. Uża l-istess apparat, l-istess netwerk tal-aċċess, l-istess protokoll u l-istess fajl tad-destinazzjoni, imbagħad irrepeti kontra t-tieni endpoint f’distanza simili. Kull ħaġa li tinbidel bejn il-ġirjiet, inkluż il-ħin tal-ġurnata, tikkontamina r-riżultat.
Irreġistra l-fallimenti bl-istess attenzjoni bħas-suċċessi. Serje li fiha tliet endpoints jaħdmu u waħda tispiċċa fi timeout hija iktar informattiva minn erba’ numri tal-veloċità, għax tindika problema ta’ mogħdija jew politika u mhux ta’ kapaċità. Mexxi kull każ mill-inqas darbtejn; kampjun wieħed bil-mod ma jipprova xejn fuq netwerk maqsum.
Fl-aħħar, żomm in-numri li ġbart flimkien mad-dikjarazzjoni li jappoġġjaw. "Dan l-endpoint wettaq it-trasferiment fl-istess tieqa li fiha l-ieħor waqaf" huwa difendibbli, filwaqt li "dan l-endpoint huwa iktar mgħaġġel" jisticden argument li ma tistax tirbaħ b’punteġġ tal-paġna ewlenija. Il-manwal tal-OpenVPN 2.6 jiddokumenta l-fajl tal-istat u l-għażliet tal-ifformar jekk għandek bżonn id-direttivi eżatti għan-naħa tal-host.