Одредете која од трите граници сте ја достигнале пред да купите поголема инстанца. Едно јадро целосно зафатено, а останатите неактивни укажува на крипто работа по тек. Сите јадра заситени при пренос укажуваат на вкупен капацитет. Низок 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 сѐ уште не го следи симптомот, вратете се на проверките на патеката и апликацијата наместо да надградувате врз основа на погодување.

Поврзани статии