imap_client_buffer
Директива `imap_client_buffer` задаёт размер буфера для IMAP-клиентских подключений в NGINX Mail. — NGINX Mail Core
Описание
Директива `imap_client_buffer` в модуле NGINX Mail позволяет задать размер буфера, выделяемого для каждого IMAP-клиентского подключения. Этот буфер используется для хранения данных, полученных от клиента, перед их обработкой. Указав больший буфер, вы можете учесть клиентов, отправляющих более крупные команды или ответы, что может повысить производительность за счёт уменьшения количества операций чтения. Директива принимает один аргумент — размер буфера, который можно задавать в байтах или с суффиксами вроде `k` для килобайт и `m` для мегабайт. При настройке этой директивы важно сбалансировать использование памяти и требования к производительности, особенно на серверах, обрабатывающих много одновременных IMAP-подключений. Адекватно подобранный размер буфера может помочь предотвратить замедления, вызванные частыми операциями выделения памяти в периоды высокого трафика. Эту директиву следует использовать внутри контекстов `mail` или `mail server`, чтобы она применялась к нужной конфигурации почтового сервиса. Если она не задана, это может привести к неэффективности, особенно в средах, где несколько IMAP-клиентов активно взаимодействуют с сервером.
Пример конфига
mail {
imap_client_buffer 512k;
}Использование слишком малого буфера может привести к увеличению задержки, так как серверу приходится читать данные из сокета несколько раз.
Чрезмерно большие буферы могут приводить к лишнему расходу памяти, особенно при большом количестве одновременных соединений, когда не всем требуется такая ёмкость.