Назад | Перейти на главную страницу

Проблема с тайм-аутом famd / gamin с courier-imap

Я использую почтовый сервер для около 200 пользователей с courier-imap на Debian 7. Этот сервер работает под управлением ядра Linux 2.6.38 внутри гостевой системы Xen, имеющей 2 ядра процессора и 2 ГБ ОЗУ. Сервер принимает входящую почту через postfix, но ресурсоемкие проверки (amavis, spamassassin) делегируются другому серверу.

В последнее время я сталкиваюсь с проблемами производительности IMAP из-за случайного отключения клиентских подключений. Нагрузка на сервер не низкая, но и не такая высокая, даже в тех случаях, когда происходит разрыв соединения. В часы пик у меня одновременно работает около 120 клиентов imap, а 5-минутная нагрузка <1.

Я заметил, что разрывы подключения появляются одновременно со следующими строками журнала на моем сервере:

imapd: FAMPending: timeout

Я предполагаю, что, когда истекает время ожидания FAM, сервер imap возвращает какую-то ошибку, и, в зависимости от клиента, ошибка исправляется изящно или нет (некоторым клиентам веб-почты это не нравится).

Обычный Debian courier-imap пакет требует реализации fam, у меня есть выбор использовать famd или gamin. Я пробовал оба, и у обоих истекают таймауты. Мне кажется, что gamin снижает нагрузку на сервер, но все равно возникают таймауты.

Мне интересно, есть ли что-нибудь, что я могу настроить, чтобы улучшить производительность семьи / игры и избежать сообщений о тайм-ауте. В демонах особо нечего настраивать. Однако может ли быть так, что у меня заканчиваются файловые дескрипторы или ресурсы inotify? Как я мог это проверить?

Или вы думаете, что лучшим выбором было бы обновить мою гостевую Xen или отказаться от courier-imap?