| Summary: | [!] nscd would cache resolved hosts out-of box | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
| Component: | nscd | Assignee: | Gleb F-Malinovskiy <glebfm> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | critical | ||
| Priority: | P2 | CC: | eostapets, glebfm, ldv, sr |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
| Bug Depends on: | |||
| Bug Blocks: | 9199, 14167 | ||
ping У меня сейчас нет установок с nscd, не могли бы посмотреть в чём дело? Кстати, nss_ldap не используется? См. тж. http://sourceware.org/bugzilla/show_bug.cgi?id=2114 Используется. На момент фиксации проблемы -- вроде уже наш последний. Всё-таки кажется мне, что не барское это дело -- вместо кэширующего DNS напрягаться, если пупок не тянет... Так ведь max-db-size 33554432. Оно ещё падает, мне вникать или нет? В общем, мне продолжает казаться, что на серверах с существенным трафиком DNS-запросов это лишнее тонкое место. Даже при 32M кэша он неправилен (лучше и понятнее caching nameserver) и неочевиден в случае проблем. Отключи его по умолчанию, или мне посмотреть по конфигурациям в других дистрах сначала? nscd можно положить с любым количеством памяти из коробки... Лучше бы ему из коробки вообще таблицу hosts не трогать, я честно не встречал тех, ктобы раздавал ее через ldap... (In reply to comment #7) > nscd можно положить с любым количеством памяти из коробки... Лучше бы ему из > коробки вообще таблицу hosts не трогать, я честно не встречал тех, ктобы > раздавал ее через ldap... OK, в 2.5.1-alt2-2-gc9428f7 по умолчанию выключил enable-cache hosts. Спасибо :-) В бранч положишь? |
С /etc/nscd.conf по умолчанию, содержащим enable-cache hosts yes (и далее) -- /var/db/nscd/hosts разрастается до существенных размеров (~200k), что приводит к сегфолтам nscd примерно после десяти секунд работы: epoll_ctl(14, EPOLL_CTL_ADD, 15, {EPOLLRDNORM, {u32=15, u64=15}}) = 0 epoll_wait(14, {{EPOLLRDNORM, {u32=15, u64=15}}}, 100, 29976) = 1 time(NULL) = 1137569051 epoll_ctl(14, EPOLL_CTL_DEL, 15, {0, {u32=0, u64=0}}) = 0 kill(30300, SIGRTMIN) = 0 epoll_wait(14, {{EPOLLRDNORM, {u32=11, u64=11}}}, 100, 29988) = 1 time(NULL) = 1137569058 accept(11, 0, NULL) = 15 epoll_ctl(14, EPOLL_CTL_ADD, 15, {EPOLLRDNORM, {u32=15, u64=15}}) = 0 epoll_wait(14, {{EPOLLRDNORM, {u32=15, u64=15}}}, 100, 29976) = 1 time(NULL) = 1137569058 epoll_ctl(14, EPOLL_CTL_DEL, 15, {0, {u32=0, u64=0}}) = 0 kill(30301, SIGRTMIN) = 0 epoll_wait(14, bfb36c30, 100, 29988) = -1 EINTR (Interrupted system call) --- SIGSEGV (Segmentation fault) @ 0 (0) --- Process 30291 detached Если поднять debug до 3, то в /var/log/messages при этом: Jan 18 12:40:30 router nscd: 30397 no more memory for database 'hosts'