Jump to content
Alexander Kudrevatykh

Не открывается веб-интерфейс при большом количестве роутов

Recommended Posts

Попытался настроить обход блокировок по BGP, но оказалось что когда bird загружает роуты процесс ndm жрет 80% процессора и веб-интерфейс перестает открываться.

Попробовал выключить bird и добавить роуты вручную - результат аналогичный - интерфейс не открывается, ndm жрет процессор, т.е. проблема не в bird, не в iproute, не в ядре а именно в прошивке.

Поддержка Keenetic отправила на форум т.к. все проблемы с участием opkg они отказываются рассматривать, хоть opkg тут явно нипричем - сами роуты работают как надо, в веб-интерфейсе они не отображаются и поэтому не понятно чему там тормозить.

Share this post


Link to post
Share on other sites

Большое количество - это десятки тысяч? Система сейчас на такое не рассчитана, хоть оно и не показывается в web, но для работы policy routing идет активная работа с таблицей маршрутизации.

А у rtnetlink есть такая особенность, что там нельзя запросить что-то по фильтру - только читать все и уже самому фильтровать.

Потому и начинаются затупы.

Share this post


Link to post
Share on other sites

Да, начиная тысяч с 8 уже видно что все стало плохо.

Ну ок, даже если нельзя запросить по фильтру - зачем запрашивать в бекграунде в бесконечном цикле?

10 тысяч записей тоже вроде не так чтобы безумное количество, чтобы их нельзя было отфильтровать за микросекунды.

Share this post


Link to post
Share on other sites
1 минуту назад, Alexander Kudrevatykh сказал:

Да, начиная тысяч с 8 уже видно что все стало плохо.

Ну ок, даже если нельзя запросить по фильтру - зачем запрашивать в бекграунде в бесконечном цикле?

10 тысяч записей тоже вроде не так чтобы безумное количество, чтобы их нельзя было отфильтровать за микросекунды.

Чтобы разобраться подробнее нужно смотреть что происходит, но скорее всего ndm ловит событие от bird, что он обновил роуты и начинает их обработку, потом bird ловит событие что ndm обновил роуты и тоже начинает обработку....

Думаю там что-то вроде постоянной драки из-за работы друг друга.

Мы никогда не рассчитывали, что кроме ndm кто-то еще будет править таблицу маршрутизации, и что там может произойти в таком случае - тоже не проверяли.

Share this post


Link to post
Share on other sites
1 minute ago, Le ecureuil said:

Чтобы разобраться подробнее нужно смотреть что происходит, но скорее всего ndm ловит событие от bird, что он обновил роуты и начинает их обработку, потом bird ловит событие что ndm обновил роуты и тоже начинает обработку....

Думаю там что-то вроде постоянной драки из-за работы друг друга.

Мы никогда не рассчитывали, что кроме ndm кто-то еще будет править таблицу маршрутизации, и что там может произойти в таком случае - тоже не проверяли.

Я же специально писал - без bird, при добавлении роутов через ip route add, все то же самое, т.е. важно только количество записей.

Share this post


Link to post
Share on other sites
3 минуты назад, Alexander Kudrevatykh сказал:

Я же специально писал - без bird, при добавлении роутов через ip route add, все то же самое, т.е. важно только количество записей.

Веб-интерфейс тоже никогда не тестировался в условиях, когда в этой таблице так много записей.

Можно подумать над доработкой всех таблиц в плане отображения такого объема данных.

Share this post


Link to post
Share on other sites

Веб-интерфейс тоже никогда не тестировался в условиях, когда в этой таблице так много записей.

Можно подумать над доработкой всех таблиц в плане отображения такого объема данных.

Эти записи идут в отдельную таблицу rt_tables, поэтому в веб-интерфейсе и через show ip route эти записи не отображаются, т.е. в интерфейсе и оптимизировать-то нечего.

Edited by Alexander Kudrevatykh

Share this post


Link to post
Share on other sites
On 11/1/2019 at 6:54 PM, Alexander Kudrevatykh said:

Эти записи идут в отдельную таблицу rt_tables, поэтому в веб-интерфейсе и через show ip route эти записи не отображаются, т.е. в интерфейсе и оптимизировать-то нечего.

Простите за воскрешение темы, но она мне не раз попадалась, когда я пытался решить аналогичную проблему. Нашел решение: нужно со страницы "Общие настройки системы" скачать startup-config, удалить в нем все строки с упоминанием ping-check и загрузить обратно в роутер. Ndm перестанет сжирать проц каждые 10 секунд и интерфейс роутера будет чувствовать себя гораздо лучше.

  • Thanks 1

Share this post


Link to post
Share on other sites
17 hours ago, Антон Петров said:

Простите за воскрешение темы, но она мне не раз попадалась, когда я пытался решить аналогичную проблему. Нашел решение: нужно со страницы "Общие настройки системы" скачать startup-config, удалить в нем все строки с упоминанием ping-check и загрузить обратно в роутер. Ndm перестанет сжирать проц каждые 10 секунд и интерфейс роутера будет чувствовать себя гораздо лучше.

Спасибо, попробую поэкспериментировать. Заодно может и разработчикам будет проще понять где исправлять проблему.

Share this post


Link to post
Share on other sites
В 07.02.2020 в 15:46, Alexander Kudrevatykh сказал:

Спасибо, попробую поэкспериментировать. Заодно может и разработчикам будет проще понять где исправлять проблему.

В будущий 3.4 внесли изменения, которые позволят обойтись без костылей с пинг-чеком.

  • Thanks 3

Share this post


Link to post
Share on other sites
32 минуты назад, ndm сказал:

В будущий 3.4 внесли изменения, которые позволят обойтись без костылей с пинг-чеком.

Спасибо, очень ждем 3.4 :)

Share this post


Link to post
Share on other sites

Попробовал, отлично работает, у меня теперь снова selftest выгружается при активной куче маршрутов :)

Спасибо!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...