Alexander Kudrevatykh Posted October 15, 2019 Share Posted October 15, 2019 Попытался настроить обход блокировок по BGP, но оказалось что когда bird загружает роуты процесс ndm жрет 80% процессора и веб-интерфейс перестает открываться. Попробовал выключить bird и добавить роуты вручную - результат аналогичный - интерфейс не открывается, ndm жрет процессор, т.е. проблема не в bird, не в iproute, не в ядре а именно в прошивке. Поддержка Keenetic отправила на форум т.к. все проблемы с участием opkg они отказываются рассматривать, хоть opkg тут явно нипричем - сами роуты работают как надо, в веб-интерфейсе они не отображаются и поэтому не понятно чему там тормозить. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted November 1, 2019 Share Posted November 1, 2019 Большое количество - это десятки тысяч? Система сейчас на такое не рассчитана, хоть оно и не показывается в web, но для работы policy routing идет активная работа с таблицей маршрутизации. А у rtnetlink есть такая особенность, что там нельзя запросить что-то по фильтру - только читать все и уже самому фильтровать. Потому и начинаются затупы. Quote Link to comment Share on other sites More sharing options...
Alexander Kudrevatykh Posted November 1, 2019 Author Share Posted November 1, 2019 Да, начиная тысяч с 8 уже видно что все стало плохо. Ну ок, даже если нельзя запросить по фильтру - зачем запрашивать в бекграунде в бесконечном цикле? 10 тысяч записей тоже вроде не так чтобы безумное количество, чтобы их нельзя было отфильтровать за микросекунды. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted November 1, 2019 Share Posted November 1, 2019 1 минуту назад, Alexander Kudrevatykh сказал: Да, начиная тысяч с 8 уже видно что все стало плохо. Ну ок, даже если нельзя запросить по фильтру - зачем запрашивать в бекграунде в бесконечном цикле? 10 тысяч записей тоже вроде не так чтобы безумное количество, чтобы их нельзя было отфильтровать за микросекунды. Чтобы разобраться подробнее нужно смотреть что происходит, но скорее всего ndm ловит событие от bird, что он обновил роуты и начинает их обработку, потом bird ловит событие что ndm обновил роуты и тоже начинает обработку.... Думаю там что-то вроде постоянной драки из-за работы друг друга. Мы никогда не рассчитывали, что кроме ndm кто-то еще будет править таблицу маршрутизации, и что там может произойти в таком случае - тоже не проверяли. Quote Link to comment Share on other sites More sharing options...
Alexander Kudrevatykh Posted November 1, 2019 Author Share Posted November 1, 2019 1 minute ago, Le ecureuil said: Чтобы разобраться подробнее нужно смотреть что происходит, но скорее всего ndm ловит событие от bird, что он обновил роуты и начинает их обработку, потом bird ловит событие что ndm обновил роуты и тоже начинает обработку.... Думаю там что-то вроде постоянной драки из-за работы друг друга. Мы никогда не рассчитывали, что кроме ndm кто-то еще будет править таблицу маршрутизации, и что там может произойти в таком случае - тоже не проверяли. Я же специально писал - без bird, при добавлении роутов через ip route add, все то же самое, т.е. важно только количество записей. Quote Link to comment Share on other sites More sharing options...
eralde Posted November 1, 2019 Share Posted November 1, 2019 3 минуты назад, Alexander Kudrevatykh сказал: Я же специально писал - без bird, при добавлении роутов через ip route add, все то же самое, т.е. важно только количество записей. Веб-интерфейс тоже никогда не тестировался в условиях, когда в этой таблице так много записей. Можно подумать над доработкой всех таблиц в плане отображения такого объема данных. Quote Link to comment Share on other sites More sharing options...
Alexander Kudrevatykh Posted November 1, 2019 Author Share Posted November 1, 2019 (edited) Веб-интерфейс тоже никогда не тестировался в условиях, когда в этой таблице так много записей. Можно подумать над доработкой всех таблиц в плане отображения такого объема данных. Эти записи идут в отдельную таблицу rt_tables, поэтому в веб-интерфейсе и через show ip route эти записи не отображаются, т.е. в интерфейсе и оптимизировать-то нечего. Edited November 1, 2019 by Alexander Kudrevatykh Quote Link to comment Share on other sites More sharing options...
Антон Петров Posted February 6, 2020 Share Posted February 6, 2020 On 11/1/2019 at 6:54 PM, Alexander Kudrevatykh said: Эти записи идут в отдельную таблицу rt_tables, поэтому в веб-интерфейсе и через show ip route эти записи не отображаются, т.е. в интерфейсе и оптимизировать-то нечего. Простите за воскрешение темы, но она мне не раз попадалась, когда я пытался решить аналогичную проблему. Нашел решение: нужно со страницы "Общие настройки системы" скачать startup-config, удалить в нем все строки с упоминанием ping-check и загрузить обратно в роутер. Ndm перестанет сжирать проц каждые 10 секунд и интерфейс роутера будет чувствовать себя гораздо лучше. 1 Quote Link to comment Share on other sites More sharing options...
Alexander Kudrevatykh Posted February 7, 2020 Author Share Posted February 7, 2020 17 hours ago, Антон Петров said: Простите за воскрешение темы, но она мне не раз попадалась, когда я пытался решить аналогичную проблему. Нашел решение: нужно со страницы "Общие настройки системы" скачать startup-config, удалить в нем все строки с упоминанием ping-check и загрузить обратно в роутер. Ndm перестанет сжирать проц каждые 10 секунд и интерфейс роутера будет чувствовать себя гораздо лучше. Спасибо, попробую поэкспериментировать. Заодно может и разработчикам будет проще понять где исправлять проблему. Quote Link to comment Share on other sites More sharing options...
ndm Posted February 8, 2020 Share Posted February 8, 2020 В 07.02.2020 в 15:46, Alexander Kudrevatykh сказал: Спасибо, попробую поэкспериментировать. Заодно может и разработчикам будет проще понять где исправлять проблему. В будущий 3.4 внесли изменения, которые позволят обойтись без костылей с пинг-чеком. 3 Quote Link to comment Share on other sites More sharing options...
r13 Posted February 8, 2020 Share Posted February 8, 2020 32 минуты назад, ndm сказал: В будущий 3.4 внесли изменения, которые позволят обойтись без костылей с пинг-чеком. Спасибо, очень ждем 3.4 Quote Link to comment Share on other sites More sharing options...
r13 Posted February 14, 2020 Share Posted February 14, 2020 Попробовал, отлично работает, у меня теперь снова selftest выгружается при активной куче маршрутов Спасибо! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.