Как стать автором
Обновить

Комментарии 5

Достаточно интересное решение. Спасибо!
На ваш взгляд, будет-ли работать данный код на роутере (а почему-бы и нет?) и насколько сильно будет грузить процессор.
Хочу сделать пакет под OpenWRT. Статистику хранить не планирую, использовать буду без флешки, реалтайм + 1-2 дня аптайма.

В связи с эти пару вопросов-просьб:
1. Можете-ли в конфиге предусмотреть какой-либо ограничитель по сохраняемым данным? Например: 1d, 3d, 1w, 1m и т.д.
2. Можете-ли сделать вариант html страницы, в которой все или часть JS подтягивается с внешних источников. Размер пакета хоть и небольшой получается, но в роутере без флешки ценен каждый десяток килобайт.

Использовать конструкцию планирую на объектах в поле, различных экспедициях, где канал лимитирован, а оборудование работает автономно от солнечных батарей. Вставить такую штуку в WiFi роутер и будет мне счастье ;)
> будет-ли работать данный код на роутере (а почему-бы и нет?) и насколько сильно будет грузить процессор.

С производительностью непонятно, надо пробовать. На ARM'ах Scaleway топ показывает максимум единицы процентов. Но там и трафика никакого нет. Показ статистики ощутимо сильнее нагружает процессор. Для графиков на каждый запрос генерируется PNG-картинка с максимальной компрессией. Несколько человек одновременно смотрящих статистику едят несколько десятков процентов этих армовских CPU (на современных x86/64 все работает конечно бодрее). Ну, для внутрисетевого сервиса должно быть нормально

> Можете-ли в конфиге предусмотреть какой-либо ограничитель по сохраняемым данным? Например: 1d, 3d, 1w, 1m и т.д.

Звучит разумно. Все равно вечно хранить статистику никто не планирует. Можно сделать дефолтный период в год, например, и дать пользователю возможность его изменять. Надо подумать

> Можете-ли сделать вариант html страницы, в которой все или часть JS подтягивается с внешних источников.

Да, хорошо.

Не могу обещать что сделаю быстро, но постараюсь
Не получилось быстро, к сожалению.

Ну, зато хоть немного там упорядочил

> 1. Можете-ли в конфиге предусмотреть какой-либо ограничитель по сохраняемым данным?

Ограничение теперь задается параметром keepstat. В нем можно указать количество дней сколько хранить статистику (по умолчанию 31)

> 2. Можете-ли сделать вариант html страницы, в которой все или часть JS подтягивается с внешних источников.

Сделал так: если страница не находит скрипты и стили локально, то пытается взять их из CDN

Вид графика немного изменился — теперь он показывает количество пропущеных/отброшеных пакетов и байт еще и оттенками.

Возможно, всплывут какие-то недоработки, еще немного потестирую. Если еще интересно, можете посмотреть, в целом должно работать
Тесты производительности производились? Не съест ли все бонусы удобства работы высокая нагрузка на процессор?
Для себя делал простые тесты (и немного профилирование). Синтетические (флуд-трафиком) и так, на живых людях. Но у всех во-первых разное железо, во-вторых разное использование интернета, в-третьих разный Linux. Гарантированно такие же замеры у других людей дадут другие результаты.

Ну, скажем, на синтетическом UDP-трафике в 200 мегабит, который шейпится до 100м на моей железке процесс damper в топе ест где-то 15-17% CPU. Больше мне не нужно, не тестировал, там скорее всего начнутся какие-то неожиданные штуки.

Ядерные шейперы быстрее, конечно. И отлаженнее, это тоже немаловажно
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации