Всем привет! Ноябрь для Carbon Billing 5 стал месяцем стабилизации. Мы понимаем, что вы очень любите читать про классные фичи, но продукт не может быть по-настоящему полезным, если он не стабилен. Если вы еще не в курсе, то в прошлой версии мы реализовали для вас очень много полезных вещей. Теперь перейдем к версии 5.13.7. Читать далее
Продукты
Релиз Carbon XGE Router 5.21
Привет, дорогие друзья! Как Вы уже поняли, мы очень любим радовать свежими новостями о том, что мы для Вас делаем, итак, ловите свежие новости о прокачке нашего персонажа XGE Router. Читать далее
Релиз Carbon XGE Router 5.20
Доброго времени суток. В прошлой новости, мы обещали активно поработать над улучшением производительности и стабильностью Carbon XGE. Этот релиз посвящен исправлению ошибок, новым тестам и небольшим доработкам. Поехали!
Для начала отчитаемся об исправленных недочетах.
Была проблема с отправкой уведомлений из окружения вне chroot — при ошибках в host-системе, оповещение не отправлялось на email. Теперь все отлично работает. Исправлена ошибка с дублирующимися классами шейперов. Раньше из-за ошибки в логике, два абонента могли получить одну и ту же скорость. Теперь это исправлено.
У нас также есть несколько доработок. Например, доведены до ума скрипты ip-down, ip-up, coa.sh. Эти скрипты вызывает accel-ppp при подключении/отключении абонента и при обработке CoA запросов. В определенных ситуациях это приводило к неактуальности состояния абонента.
Еще мы провели серьезную работу над различными тестами в XGE. Дописаны новые тесты для самодиагностики, произведена доработка существующих тестов.
На этом все. Ждем вашу обратную связь. Пишите в комментариях или на sales@carbonsoft.ru. С уважением, Carbon Soft.
Релиз Carbon Reductor 5.9.5
Новые рекомендации Роскомнадзора
В процессе добавления поддержки новых рекомендаций Роскомнадзора по фильтрации трафика был произведен рефакторинг, исправлен в мелочах и ускорен, почти в 2 раза, скрипт разбора единого реестра запрещённых сайтов.
Carbon Reductor соответствовал рекомендациям Роскомнадзора и раньше, за исключением последнего пункта — для адресов без указанных URL / доменов фильтрация по IP осуществлялась только на нескольких портах, а не на всех, попавших в зеркало.
Исправления ошибок
После релиза новой обработки списков всплыло ещё несколько мелких недочетов, они были исправлены. Обработка списков стала занимать значительно меньше времени. Мы навели лоск в процессе первой установки Carbon Reductor, в отображении информации о регистрации, в меню и веб-интерфейсе, починили отображение списка заблокированных URL. Стало еще удобнее и приятнее. А еще диагностика больше не ругается на бриджи, созданные libvirt’ом.
Carbon Satellite
В прошлых версиях Carbon Reductor было много изменений, которые повлияли на работу Carbon Satellite (бесплатный софт для выгрузки запрещенного реестра) «из коробки». Недочеты не такие серьезные и уже исправлены, все работает в штатном режиме.
Также доведена до ума система проверки фильтрации с отчётами о её эффективности по почте.
Релиз Carbon Billing 5.13.3
Доброго времени суток! Сегодня поговорим о новой версии Carbon Billing 5.13.3. У нас на очереди 17 пунктов, которые нужно обсудить. Поехали! Читать далее
Революция в интеграции с оборудованием
Всем доброго времени суток! Сегодня мы с гордостью заявляем, что произвели революцию в автоматизации и интеграции с оборудованием. Теперь вы можете буквально нажатием нескольких кнопок интегрировать Carbon Billing 5 с самыми популярными маршрутизаторами. В этой статье мы подробнее расскажем о новых возможностях. Приятного чтения! Читать далее
Релиз Carbon XGE 5.19.1
Всем привет! Завершаем продуктивный месяц релизом Carbon XGE 5.19.1. Активно ведется работа над устранением оставшихся недочетов, чтобы вам было еще приятнее использовать продукт. Итак, кратко пробежимся по исправлениям: Читать далее
Релиз Carbon Billing 5.12.2
Всем привет! Вышло новое обновление Carbon Billing 5.12.2. В этой версии мы продолжили работать над оптимизацией и исправлением недочетов. Мы действительно гордимся нашим биллингом и с каждым релизом он все лучше и лучше! Мы в компании считаем, что стабильность продукта — одно из лучших его качеств. Теперь кратко расскажем о том, что мы сделали за последний месяц: Читать далее
Релиз Carbon Reductor 5.9.3
Выход версии 5.9.3 прошёл довольно быстро, тем не менее изменений с версии 5.8 было сделано очень много и ниже мы их опишем.
Новая обработка списков
Мы перешли на python в этой части и не жалеем по нескольким причинам:
- nosetests позволяют гораздо легче тестировать код
- код стал значительно чище
- предыдущая версия на bash становилась всё менее и менее понятной с каждой новой «фишкой»
В результате новая версия обработки сократила число адресов, добавленных в базу зря (чем меньше адресов добавлено, тем выше производительность поиска по ней).
В бонус получили более правильную логику работы с кириллицей и прочими своеобразными URL’ами.
HTTP URL-матчинг модуль
После того, как мы сделали первую версию обработки списков, остро всплыл один недостаток алгоритма матчинга URL, который раньше затыкался (не всегда удачно) на этапе обработки списков. Мы решили поступить правильно и навести в коде модуля ядра «красоту» и переработать его.
Использование cmocka
В самом начале, перед рефакторингом мы поняли, что наш старый костыль для проведения чего-то похожего на Unit-тесты модуля фильтрации (его часть можно использовать в userspace для тестов) ужасен и неудобен. Для перехода на эту замечательную либу для тестирования понадобилось всего 2-3 часа (включая хоть какую-то дружбу тестов с инструментами для разработки команды). Дальше расширить покрытие тестами было уже значительно легче, а с хорошими тестами и рефакторить код получалось куда проще.
Производительность
Если чистая производительность (без учёта влияния нагрузки на сетёвки и прохода по всему сетевому стэку) алгоритма предыдущей версии составляла около 800000 пакетов/сек на 1 ядро процессора ≈2.5-3GHz, то сейчас нам удалось выжать 1900000-2100000 пакетов.
Решение проблемы с //
Имеется такая дурацкая бага:
часть браузеров приводит к виду
а часть — нет. Эту проблему имеют многие другие DPI (провели небольшой опрос среди коллег, абсолютно все могут обходить заблокированные HTTP-URL просто добавив второй / в URL). В общем для Carbon Reductor теперь нет разницы, какое число слэшей поставлено в запросе.
В качестве бонуса — это сократило объём используемой Carbon Reductor памяти.
Чистка кода
Перед этой глобальной доработкой мы решили воспользоваться новым опытом, полученным за время разработки Carbon Reductor и привести в порядок весь код проекта. Он стал значительно понятнее и короче аж на 30%. Надеемся, что это позволит нам быстрее двигаться вперёд в будущем!
Исправления багов
Отображение заблокированных адресов в вебе
После добавления новой обработки списков, файл со всеми обработанными URL (http.load) содержит адреса в разных кодировках, из-за чего пока что имеется проблема с его отображением в вебке. В качестве временного workaround, по умолчанию теперь в списках отображается необработанный список Роскомнадзора — rkn.list.
Диагностика
Теперь диагностика проверяет 3 дополнительных источника проблем:
- неполная загрузка URL в ядро (с версии 5.9.3 — ещё и исправляет)
- старая версия веб-интерфейса (при неудачном стечении обстоятельств могла вызвать проблему со стартом самого reductor и не работала фильтрация)
- запуск более чем 1го экземпляра crond (обычно из-за того, что «pid-файлы лгут»). Автоматически это исправлять мы побоялись, но уведомление администратору придёт. В целом это довольно серьёзная ошибка, приводящая к дублированию периодических задач.
Резолв HTTPS
Значительно снижена нагрузка на CPU при запуске резолва, немного ускорена её работа (раньше полный резолв на пустой базе занимал около 1м 30с, сейчас около 55 секунд), а также немного выпрямлен код всей этой подсистемы.
Чего ждать в следующей версии
Двойной буфер для загрузки URL в ядро
Сама она уже написана, лежит в отдельной экспериментальной ветке, осталось только корректно добавить блокировки, но сейчас имеется большое число более приоритетных задач, так что в релизе появится ориентировочно в первой половине ноября.
Без блокировок вероятны (пусть и не столь сильно) kernel panic при переключении. Нам была бы очень полезна помощь в обкатке этой версии под большой нагрузкой.
Оптимизация скорости обработки списков
В версии 5.9.1 мы добились скорости около 1.3 сек для 15000 необработанных URL. К сожалению, реальный мир заставил исправлять ошибки и в 5.9.3 скорость упала почти до 8 секунд. Мы поработаем над этим.
На этом все, всем спасибо
Релиз Carbon Billing 4.52.117
Всем доброго времени суток! Вы не поверите, но у нас метель в прямом смысле этого слова. На календаре октябрь месяц, а снега выпало уже довольно много. Самое интересное, что в течение дня погода может меняться несколько раз. С яркого осеннего солнышка на метель с жутким зимним ветром. Ну да ладно, давайте по сути В этом месяце мы хотим рассказать о последних доработках в Carbon Billing 4. Поехали! Читать далее