субота, карантин; що робить сисадмін? грається домашнім рутером або сервером: колись я тут нахвалявся шейпінгом трафіку для гостьової мережі на маршрутизаторі з прошивкою openwrt, — наразі маю час перевірити, як воно насправді працює. обмеження швидкости для гостей працює — цікаво було би ще покращити затримку (rtt, пінг) для основної мережі вдома.
це не готовий допис: пишу «на колінці», посьорбуючи ранкову каву і забавляючись ліниво в терміналі.
тестовий стенд
перш ніж покращувати, треба ж побачити, що саме і куди «тягти»? ping
на google.com міряє затримку, speedtest-cli
навантажує мережу; щось таке дозволяє запускати їх паралельно і спостерігати результат наживо:
> (sleep 5s; echo "--- 8< ---"; speedtest-cli --simple; echo "--- >8 ---"; sleep 5s; killall ping) & ping -i 2 google.com
друга частина (після &
) пінгує google що дві секунди, перша (...) &
— запускає на тлі speedtest-cli
з невеликою затримкою, тоді вбиває ping.
перша випроба (без qos)
наразі близько десятої ранку суботи, домашні ще сплять, ніхто нічого не тягне з мережі. перший тест ― на сервері (див. зняток), який «висить» на кабелі з гігабітового порта рутера, котрий через кабельний модем отримує інтернет 60/10 мбіт/с:
- нормальний пінг: 17-25 мс
- speedtest: 53-67 мс (приблизно x3)
- швидкість: 66/11 мбіт/с (оптимістично)
другий тест — на ноутбуці (wifi приблизно 58 мбіт/с макс.):
- нормальний пінг: 18-30 мс
- speedtest: 65-222 мс (приблизно x4..6)
- швидкість: 3/5 мбіт/с (це щось аномальне, поігнорую наразі)
sqm на openwrt
на рутері з openwrt потрібні пакунки sqm-scripts
та (для графічного інтерфейсу) luci-app-sqm
— в меню network з’являється пункт sqm qos.
закладка queues: обираю зовнішній інтерфейс (eth0.2
в моєму випадку), ліміти швидкості завантаження та відвантаження встановлюю 95% від максимально досяжних (57/9,5 мбіт/с). закладка link layer adaptation: тип підключення — ethernet with overhead, значення per packet overhead залишаю 0.
решту залишаю по замовчуванню. зберігаю налаштування; час для другої випроби…
друга випроба (qos для wan)
домашні попрокидалися і повмикали youtube — тож роблю тест в умовах, «наближених до реальних»:
сервер (кабель, див. зняток):
- нормальний пінг: 18-22 мс
- speedtest: 17-24 мс (перемога!)
- швидкість: 44/7 мбіт/с
ноутбук (бездріт):
- нормальний пінг: 18-33 мс
- speedtest: 20-78 мс (приблизно x2)
- швидкість: 24/8 мбіт/с
висновок
вочевидячки, навіть з таким найпростішим налаштуванням все значно покращилося для кабельного підключення.
результати для wifi дуже «стрибають» (не видно на цім однім тесті, але я робив декілька), особливо коли підключено багато пристроїв (налічив 7-12) — треба далі розбиратися, що можна покращити.
далі буде.