|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Anton Yuzhaninov 2:5020/400 20 Dec 2006 20:00:39 To : Anton Yuzhaninov Subject : Re: bind9 cache cleanup -------------------------------------------------------------------------------- Hello, Anton! You wrote to All on Mon, 18 Dec 2006 17:48:23 +0000 (UTC): Отвечу сам себе. AY> Раз в cleaning-interval минут он запускает процесс очистки кэша AY> (обходит все записи и удаляет те, у которых истек ttl). И пока он AY> занимается очисткой кэша он очень медленно отвечает, от чего страдают AY> те, кто его используют (критично даже незначительно возрастание времени AY> ответа). AY> За раз поток который чистит кэш обходит 1000, потом немного спит, потом AY> снова 1000 и так пока не обойдет весь кэш. Hо спит он похоже очень AY> мало. Вопрос: как увеличить паузу между отдельными запусками AY> incremental_cleaning_action()? С ходу это найти не удалось. Паузу между запусками incremental_cleaning_action() без существенной переделки архитектуры bind похоже не увеличить. Hа счет потоков я ошибся - во фре он без потоков собирается, только сути вопроса это не меняет. Оказывается это известная особенность bind9 - при запуске процесса очистки кеша не отвечать на запросы т. к. сам процесс очистки очень ресурсоемки. В рассылках по bind рекомендуют собирать его с ISC_MEM_USE_INTERNAL_MALLOC Пробовал - это практически не влияет на ресурсы cpu потребляемые в процессе очистки. В качестве workaround уменьшил DNS_CACHE_CLEANERINCREMENT с 1000 до 200, стало немного лучше, но все равно половина запросов в то время как идет чистка теряется - процесс очистки занимает примерно полторы минуты и все это время проц загружен на 100%. -- Anton Yuzhaninov, OSPF-RIPE, mail: citrin (at) citrin.ru --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/12317c7f1b1ba.html, оценка из 5, голосов 10
|