VPN şlüzunuz CPU ilə məhdudlaşırmı? Əvvəlcə nüvə üzrə yükü oxuyun
Ortalamalar vacib ipi gizlədir. Nəzarətli ötürməyə qarşı nüvə üzrə yükü oxuyun, yolu istisna edin, sonra hər cəhddə bir sənədləşdirilmiş parametri dəyişin.
Daha böyük instansiya almadan əvvəl üç hədddən hansına çatdığınızı müəyyənləşdirin. Bir nüvə tam yüklü, qalanları boşdursa, bu, hər axın üzrə kripto işinə işarə edir. Ötürmə zamanı bütün nüvələr doyubsa, bu, ümumi gücə işarə edir. Aşağı CPU və artan yenidən göndərmə sayı yola işarə edir. Hər birinin fərqli ilk addımı var və yalnız biri daha böyük instansiya ilə həll olunur.
Üç hədd, bir cədvəl, üç düzəliş
| Limit | Reading during a transfer | First move |
|---|---|---|
| Single thread | one core near 100%, siblings idle | spread flows across workers |
| Aggregate CPU | every core busy, load average climbs | capacity, or less work per byte |
| Path or provider | low CPU, retransmits or steal time high | MTU, loss, host contention |
Sətirləri mərhələ kimi deyil, diaqnoz kimi oxuyun. Bir ipin 100% olması, digərlərinin boş qalması, böyük bir tunel daşıyan şlüzda ən çox rastlanan nəticədir, çünki həmin axının şifrələnməsi bir nüvədə işləyir. Ötürmə zamanı bütün nüvələrin məşğul olması qutunun artıq bacardığı qədər iş gördüyünü bildirir. Aşağı CPU və artan yenidən göndərmələr prosessorun davamlı data itirən şəbəkəni gözlədiyini göstərir.
Onları sübut sırası ilə düzəldin. Axınları işçilər arasında yaymaq birinci halı düzəldir və ikinciyə heç nə etmir. Daha böyük instansiya ikinciyə kömək edir və birincidə pul israf edir. MTU və ya itki düzəlişi üçüncüyə toxunan yeganə yoldur. Hansı sətirdə olduğunuzu bilməzdən əvvəl güc almaq təxminin bahalı versiyasıdır.
Sıxılmış ipi məşğul hostdan ayırın
Nüvə üzrə istifadə ilə başlayın ki, sıxılmış bir nüvə ortalama içində gizlənməsin. Ötürmə zamanı bir cəhd yükün düz və ya sıçrayışlı olduğunu göstərir. Hər iki forma məlumatlıdır və sıçrayışlı profil çox vaxt seçmə pəncərəsinin şifrələmə əvəzinə planlaşdırıcı fəaliyyətini tutduğunu bildirir.
mpstat -P ALL 1 5
Məşğul nüvəni prosesə, sonra ipə aid edin. Aşağıdakı davam cəhdi ana və uşaq ipləri birlikdə saxlayır, bu, demon hər bağlantı üçün fork etdikdə vacibdir:
pidstat -u -t -p $(pgrep -f 'openvpn|wireguard|ipsec') 1 10
Nüvə kriptosu heç vaxt istifadəçi prosesi sayğacında görünmür. İpləri ayrıca ölçün və bu mənzərəni proses uçotu ilə müqayisə edin:
top -H -b -n 1 | head -20
Soket sayğaclarını ən sonda oxuyun, çünki onlar daha çox CPU-nun ümumiyyətlə kömək edib-etməyəcəyini həll edir. CPU sabit qalarkən yenidən göndərmələrin artması prosessor problemi deyil. Ölçmə zamanı ötürməni davam etdirin, əks halda rəqəmlər boş maşını təsvir edir:
ss -ti | grep -E 'retrans|cwnd|rtt'
Nəzarətli ötürmə, iki dəfə
Boş sayğaclar heç nə sübut etmir və təsadüfi son nöqtəyə qarşı benchmark çox az sübut edir. Bir müştəri, bir təyinat və icazəniz olan bir nümunəvi ötürmə seçin, sonra ötürmə qabiliyyətini və interaktiv gecikməni eyni pəncərədə qeyd edin. Şlüz doyarkən toplu kopyalama hələ də bitə bilər və istifadəçilərin həqiqətən hiss etdiyi gecikmə əyrisidir. Ötürməni, müştəri sayını və demon versiyasını rəqəmlərin yanına yazın.
Cəhdi bir neçə paralel axınla təkrarlayın. Axınlar üzrə miqyaslanma hər axın üzrə pəncərələməyə işarə edir; bir nüvə sıxılmış halda sabit qalmaq emala işarə edir.
Sonra əlavə iş yükləri dayandırılmış halda bir də təkrarlayın. Eyni hostda ehtiyat nüsxə, log göndərən və ya verilənlər bazası tunellərlə heç bir əlaqəsi olmayan məşğul ortalama yarada bilər. Host başqa cəhətdən sakitkən CPU hələ də sıxılmışdırsa, sübut VPN prosesinə işarə edir. Əgər düşürsə, qonşunu ölçürdünüz və şlüz heç vaxt problem deyildi.
Avadanlıq almadan əvvəl yolu istisna edin
Artan yenidən göndərmələr, kiçilən tıxac pəncərəsi və artan gediş-dönüş vaxtı prosessordan uzağa işarə edir. Tunel MTU-nu yol MTU-su ilə müqayisə edin, əsas bağlantını itki üçün yoxlayın və müştərinin öz yuxarı kanalının hədd olmadığını təsdiqləyin. Daha böyük şlüz paket itirən bağlantını bərpa etmir və istifadəçilər hər iki nasazlığı eyni sözlərlə təsvir edir. Yenidən göndərmə sayğacı onları dəqiqələr içində ayırır.
Virtual serverdə provayderin metriklərini qonağın öz metriklərinə əlavə edin. Oğurlanmış vaxt həddindən artıq satışın qonaq daxilində necə göründüyüdür və qonaq daxilində heç bir tənzimləmə onu aradan qaldırmır. Qonaq sayğacları hostu görə bilmir, ona görə təmiz qonaq qrafiki sağlam hostun sübutu deyil.
Bir dəyişiklik, bir ölçmə
Sübutun dəstəklədiyi fərziyyəni seçin, sonra dəqiq bir dəstəklənən parametri dəyişin: işçi sayı, sənədləşdirilmiş boşaltma seçimi və ya instansiya ölçüsü. OpenVPN emal ilə nəqliyyat arasındakı eyni bölgü üzrə performans nasazlıqlarının aradan qaldırılması təlimatını dərc edir: OpenVPN performans nasazlıqlarının aradan qaldırılması.
Boşaltma seçiminin bayrağa güvənmək əvəzinə həqiqətən aktiv olduğunu təsdiqləyin, sonra eyni ötürməni yenidən icra edin və bənzəri bənzərlə müqayisə edin. Həqiqi yaxşılaşmanı sakit bir günortadan ayırmağın yeganə yolu budur. Bərpa edə biləcəyiniz bir yoxlama nöqtəsi saxlayın, çünki ikinci dəyişiklik hansının kömək etdiyini izləməyi itirdiyimiz yerdir. Hər cəhddə bir dəyişən bir gün üçün yavaş, bir ay üçün sürətlidir.
Qrafiki daha yaxşı göstərmək üçün autentifikasiyanı və ya şifrə dəstini zəiflətməyin. Əgər CPU hələ də simptomu izləmirsə, təxminlə yüksəltmək əvəzinə yol və tətbiq yoxlamalarına qayıdın.