Jump to content

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


Recommended Posts

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

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

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

Link to comment
Share on other sites

  • 3 weeks later...

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

1 минуту назад, Alexander Kudrevatykh сказал:

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

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

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

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

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

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

Link to comment
Share on other sites

1 minute ago, Le ecureuil said:

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

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

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

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

Link to comment
Share on other sites

3 минуты назад, Alexander Kudrevatykh сказал:

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

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

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

Link to comment
Share on other sites

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

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

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

Edited by Alexander Kudrevatykh
Link to comment
Share on other sites

  • 3 months later...
On 11/1/2019 at 6:54 PM, Alexander Kudrevatykh said:

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

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

  • Thanks 1
Link to comment
Share on other sites

17 hours ago, Антон Петров said:

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

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

Link to comment
Share on other sites

В 07.02.2020 в 15:46, Alexander Kudrevatykh сказал:

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

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

  • Thanks 3
Link to comment
Share on other sites

32 минуты назад, ndm сказал:

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

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

Link to comment
Share on other sites

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

Спасибо!

Link to comment
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.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...