LINUX.ORG.RU
решено ФорумAdmin

FreeRADIUS + rlm_perl + прогрев

 , , rlm


0

1

Есть у меня сабж последней 3.0.11 версии, логика авторизации полностью вынесена в Perl модуль через rlm_perl. Работает это всё под большой нагрузкой около 1000 Access-Request в секунду.

Настроики тред пула в радиусе:

thread pool {
    start_servers = 256
    max_servers = 512
    min_spare_servers = 256
    max_spare_servers = 512
    max_queue_size = 1048576
    max_requests_per_server = 0
    auto_limit_acct = no
}
То есть, он по идее должен при запуске инициализировать 256 тредов. Но на самом деле, он их не запускает нифига при старте, а только когда приходят запросы на авторизацию.

А запуск треда у меня достаточно дорогой процесс (установка коннекта к базе, всякие другие подготовительные дела), поэтому когда на радиус начинают падать запросы - он задыхается на создании тредов и минуту-две тупит пока не создаст их нужное количество, потом работает отлично.

Собсно вопрос - это бага или фича? Я конечно могу его прогреть парой тысяч тестовых запросов, но это мне кажется костылём.

P.S. Как оказалось, мой инициализационный код в тредах выполняется за 0.02 секунды, так что тормоза по созданию тредов, похоже, в самом радиусе...

blind_oracle ★★★★★
() автор топика

Продолжу общение сам с собой. Разработчики сабжа ответили что это фича, а не бага. Мол треды ядра фрирадиуса и треды перла - две большие разницы. Так что либо смиряемся, либо патчим, либо юзаем что-то ещё.

blind_oracle ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.