Процесор роутера чи ноутбука вичерпався? Чому швидкість VPN упирається раніше
Роутер або ноутбук може вичерпати обчислювальні ресурси раніше, ніж заповниться канал. Стежте за навантаженням по ядрах під час контрольованої передачі, а потім перевірте розвантаження, перш ніж когось звинувачувати.
Роутер рекламує швидкий Wi-Fi, а потім ледве шифрує трафік трьох пристроїв одночасно. Ноутбук упирається в межу обробки, хоча в каналі доступу ще є запас. Зазвичай першим звинувачують сервер, і зазвичай він невинний. Межа на тій машині, яка виконує роботу тунелю, і щоб знайти її, треба спостерігати саме за цією машиною, а не за тестом швидкості.
Симптом вказує на одну машину, а не на інтернет
Де працює тунель, визначає, який процесор за нього платить. Якщо його завершує роутер, кожен охоплений клієнт ділить бюджет цього роутера. Якщо клієнт працює на ноутбуці, платить ноутбук, а не роутер. Тунелі на обох кінцях створюють два навантаження, і кожне може стати межею іншого дня. Назвати машину — перший крок, і саме його люди пропускають, коли відкривають заявку провайдеру.
Порахуйте пристрої між застосунком і далеким кінцем, потім позначте той, що шифрує. Усе інше — лише носій байтів, які він не може прочитати.
Стежте за навантаженням по ядрах під час передачі
Загальний відсоток CPU — неправильний інструмент, бо шифрування часто займає одне ядро, поки інші простоюють. Дивіться на значення по ядрах під час контрольованої передачі та стежте за ядром поблизу насичення. Помірне середнє з одним зайнятим потоком — сильний сигнал, а високе середнє без зайнятого потоку зазвичай означає сторонню програму. Картина важливіша за число.
mpstat -P ALL 1 5
top -H -b -n 1 | head -20
lscpu | grep -i -E "model name|aes"
Третя команда показує, чи надає процесор інструкції AES, що сильно змінює вартість того самого шифру. Вона не показує, чи використовує їх реалізація VPN, і саме розрив між цими двома фактами є джерелом більшості тверджень про оптимізацію.
Відокремлюйте шифрування від обробки пакетів
Шифрування — одна з кількох статей витрат. Копіювання пакетів між ядром і простором користувача, пошук маршрутів, правила міжмережевого екрана й обробка інтерфейсів теж додають, а деякі реалізації платять за копіювання більше, ніж за криптографію. Зверніть увагу, який лічильник зростає разом із передачею, замість того щоб вірити назві процесу в поясненні кожного циклу. Тунель у просторі користувача і тунель у ядрі можуть показувати зовсім різні профілі для однакового трафіку.
Якщо одне ядро зайняте всередині ядра, рішення відрізняється від зайнятого потоку в просторі користувача, і профіль каже, який у вас випадок. Ця різниця варта години перед купівлею обладнання.
Порівнюйте подібне з подібним, перш ніж робити висновок
Порівняння корисне лише тоді, коли завдання, мережа доступу й кінцева точка лишаються однаковими. Змініть сервер — і результат включає маршрут і ємність цього сервера; змініть мережу — і він включає оператора. Використовуйте той самий файл, той самий пункт призначення й ту саму пору доби та призупиніть власну фонову роботу. Якщо треба змінити пристрій, змінюйте лише пристрій.
Живлення й тепло змінюють тривалу продуктивність, тому короткий прогін на холодній машині — не те саме вимірювання, що довга передача на теплій. Порівнюйте схожі умови живлення й записуйте їх, бо теплова межа на графіку виглядає точно як межа обробки.
Використовуйте підтримуване розвантаження й переконайтеся, що воно справді ввімкнулося
Деякі реалізації вміють переносити частину шляху даних у ядро або в обладнання, і доступність залежить від клієнта, операційної системи, сервера й конфігурації. Прочитайте документацію для вашої версії та скористайтеся її власним виводом стану або журналами, щоб підтвердити, що функція активна. Встановлений пакет чи позначена галочка не є доказом. Посібник OpenVPN описує параметри каналу даних для власних випусків, і ці параметри різняться між версіями.
Коли підтримувана зміна зсуває стелю, повторіть і завдання застосунку, і масову передачу, та збережіть попередній профіль, щоб можна було відкотитися. Масова швидкість, яка подвоюється, поки застосунок лишається повільним, перемістила вузьке місце, а не усунула його.
Якщо спостереження за процесором не відповідають симптому, поверніться до мережевого боку. Повторні спроби Wi-Fi, черга й шлях виходу дають той самий результат без жодної участі CPU.