Утврдите коју сте од три границе достигли пре него што купите већу инстанцу. Једно језгро закључано док остала мирују указује на крипто рад по току. Сва језгра засићена током преноса указују на укупан капацитет. Низак CPU уз растући број поновних преноса указује на путању. Свака има другачији први потез и само се једна решава већом инстанцом.

Три границе, једна табела, три поправке

LimitReading during a transferFirst move
Single threadone core near 100%, siblings idlespread flows across workers
Aggregate CPUevery core busy, load average climbscapacity, or less work per byte
Path or providerlow CPU, retransmits or steal time highMTU, loss, host contention

Читајте редове као дијагнозе, а не као фазе. Једна нит на 100% док остале мирују најчешћи је резултат на гејтвеју који носи један велики тунел, јер се шифровање тог тока извршава на једном језгру. Сва језгра заузета током преноса значи да машина већ ради колико год може. Низак CPU уз растуће поновне преносе значи да процесор чека мрежу која стално губи податке.

Поправите их тим редоследом доказа. Распоређивање токова по радницима помаже првом случају и не чини ништа за други. Већа инстанца помаже другом и траћи новац на првом. Поправка MTU-а или губитака једина је која дотиче трећи. Куповина капацитета пре него што знате у ком сте реду је скупа верзија нагађања.

Одвојте закључану нит од заузетог хоста

Почните са искоришћењем по језгру, да се једно закључано језгро не може сакрити у просеку. Једно покретање током преноса показује да ли је оптерећење равно или са врховима. Оба облика су информативна, а профил са врховима често значи да је прозор узорковања ухватио активност планера, а не шифровање.

mpstat -P ALL 1 5

Припишите заузето језгро процесу, затим нити. Следеће покретање испод држи родитељске и подређене нити заједно, што је важно када се демон грана за сваку везу:

pidstat -u -t -p $(pgrep -f 'openvpn|wireguard|ipsec') 1 10

Крипто у језгру се никада не појављује у бројачу корисничког процеса. Узорујте нити одвојено и упоредите тај приказ са обрачуном процеса:

top -H -b -n 1 | head -20

Бројаче сокета читајте последње, јер они одлучују да ли би више CPU-а уопште помогло. Раст поновних преноса уз раван CPU није проблем процесора. Држите пренос активним док узоркујете, иначе бројеви описују неактивну машину:

ss -ti | grep -E 'retrans|cwnd|rtt'

Контролисани пренос, изведен двапут

Неактивни бројачи ништа не доказују, а поређење са случајном крајњом тачком доказује веома мало. Изаберите једног клијента, једну дестинацију и један репрезентативни пренос који вам је дозвољен, затим у истом прозору забележите пропусност и интерактивно кашњење. Гејтвеј може да се засити док масовно копирање још траје, а крива кашњења је оно што корисници заиста осећају. Запишите пренос, број клијената и верзију демона поред бројева.

Поновите покретање са неколико паралелних токова. Раст кроз токове указује на прозоре по току; останак раван са закључаним језгром указује на обраду.

Затим поновите још једном са заустављеним опционим радним оптерећењима. Резервна копија, пошиљалац дневника или база података на истом хосту могу дати заузет просек који нема никакве везе са тунелима. Ако је CPU и даље закључан, а хост иначе тих, докази указују на VPN процес. Ако падне, мерили сте суседа и гејтвеј никада није био проблем.

Искључите путању пре куповине хардвера

Растући поновни преноси, смањујући прозор загушења и растуће време одласка и повратка указују далеко од процесора. Упоредите MTU тунела са MTU путање, проверите основну везу на губитке и потврдите да сопствени узлазни канал клијента није граница. Већи гејтвеј не поправља везу која испушта пакете, а корисници оба квара описују истим речима. Бројач поновних преноса их раздваја за неколико минута.

На виртуелном серверу додајте метрике провајдера онима госта. Украдено време је начин на који претпродаја постаје видљива унутар госта, и никакво подешавање унутар госта га не уклања. Бројачи госта не виде хост, па чист график госта није доказ здравог хоста.

Једна промена, једно мерење

Изаберите хипотезу коју докази подржавају, затим промените тачно једну подржану поставку: број радника, документовану опцију истовара или величину инстанце. OpenVPN објављује водич за решавање проблема са перформансама о истој подели између обраде и транспорта: Решавање проблема са перформансама OpenVPN-а.

Потврдите да је опција истовара заиста активна уместо да верујете заставици, затим поновите исти пренос и упоредите слично са сличним. То је једини начин да разликујете стварно побољшање од тихог поподнева. Чувајте контролну тачку коју можете да вратите, јер се на другој промени људи изгубе у томе која је помогла. Једна променљива по покретању је спора за дан и брза за месец.

Не слабите аутентификацију ни скуп шифара да би графикон изгледао боље. Ако CPU и даље не прати симптом, вратите се проверама путање и апликације уместо да надограђујете на основу нагађања.

Повезани чланци