Аутентификация MySQL Dovecot SlowDown

У меня есть IMAP/POP3/Webmail сервер с Dovecot1 2.2.10 с бэкендом MySQL, расположенным на другом сервере. Сервер работает с конфигурацией по умолчанию.

...
driver = mysql
default_pass_scheme = plain
...

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

Моя первая мысль - то, что нет достаточного выполнения процессов аутентификации голубятни.

Что я могу настроить и в какой порядок на эту систему смочь обработать больше запросов аутентификации клиента simoulteanously?

Мой сервер MySQL не перегружается, это - четырехъядерная машина со средним 25%-м использованием ЦП в течение дня.

Использование ЦП самого mailserver пронзает в течение этого периода. Использование памяти остается нормальным.

http://i58.tinypic.com/2q9gfpf.jpg

Это - производственная система так все, что я могу сделать, корректируют некоторые переменные, которые, конечно, не повредят ее.

Спасибо!

0
задан 4 July 2014 в 13:34
1 ответ

Не знаю, может ли случиться то же самое, что случилось с Cyrus IMAPd с Dovecot. Попробуем.

Ядро Linux собирает реальную случайность, энтропию, из множества источников и событий. Эти данные могут быть прочитаны любой программой из /dev/random. Иногда, если не генерируется достаточно "реальной" случайности (например, сервер не содержит аппаратно ускоренный генератор случайных чисел), этот энтропийный пул может быть пустым. И пока он пуст, любой процесс, который ждет этих случайных данных из /dev/random, останавливается, пока энтропийный пул голодает.

Всякий раз, когда такое останавливание происходит на вашем сервере Dovecot, вы можете проверить посмотреть -n1 'cat /proc/sys/kernel/random/entropy_avail' и посмотреть, останавливается ли значение на нуле или около него. Если это так, то ваш Dovecot нуждается в более быстрой генерации случайностей.

Одним из решений является установка rngd (например, в Ubuntu/Debian это в пакете rng-tools) и настройка его на использование /dev/urandom. rngd показывает случайные данные в /dev/random из источников, для использования которых вы его настроили. Да, в случае /dev/random используется полуслучайность, но, по крайней мере, это работает.

В Cyrus IMAPd это была строка приветствия POP3 со случайно сгенерированной строкой, которая потребляла /dev/random очень быстро и с большим количеством соединений приводила к полной остановке, которая длилась до нескольких минут.


Еще одним вариантом является то, что ваше почтовое веб-приложение не очень хорошо обрабатывает соединения MySQL, поэтому max_connect_errors в MySQL превышается, и MySQL начинает отвергать ваш сервер Dovecot. В этом случае FLUSH HOSTS; на сервере MySQL должна помочь командная строка MySQL.

Если это является основной причиной проблем с Dovecot, то вы должны поднять лимит MySQL max_connect_errors.

Я знаю, что мой ответ очень надуманный и полный выстрел в темноте, но вы никогда не знаете!

.
0
ответ дан 5 December 2019 в 13:43

Теги

Похожие вопросы