Linux

Допустимая средняя нагрузка на сервер

Мы развернули наш новый почтовый сервер Linux/Exim/Spamassassin. Нагрузка держится на уровне 1,3 в среднем в течение 15 минут. Машина отзывчива, и почта доставляется в разумные сроки. Можем ли мы считать, что это приемлемо?

Когда определенный уровень нагрузки считается приемлемым или неприемлемым? Какие метрики используются?

Ответ 1

Основное правило: если система отзывчива, если она работает своевременно, то все в порядке.

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

Периодически проверяйте длину очереди почты и журналы на наличие проблем с недоставленной доставкой и прочих проблем такого рода. Если очередь доставки остается относительно низкой, это нормально. Вы можете получить средние значения дисковых и сетевых операций ввода-вывода, но если вы не видите проблем с доставкой (я отправил сообщение пятнадцать минут назад, а оно еще не пришло!) и можете работать с системой через консоль (или ssh) без больших задержек, то все должно быть в порядке.

Ответ 2

Среднее значение нагрузки это значение, которое дает представление о количестве процессоров, необходимых ядру для выполнения всех задач в нужный момент без ожидания.

В вашем случае, если у вас 2 или более процессора/ядра, проблем нет. Если у вас только 1 CPU с 1 ядром, это означает, что между временем, когда ваше приложение хочет запуститься, и временем, когда ядро запускает его, проходит «слишком много» времени. Нагрузка > «количество процессоров/ядер» не будет проблемой для почтовой системы, пока она не достигнет слишком высокого значения в течение слишком долгого времени.

Конечно, нет никаких правил и значений, и пока вы получаете почту за короткое время, все в порядке. Но вам, вероятно, нужно начать присматриваться к вашему серверу, когда нагрузка превышает 2*количество процессоров/ядер слишком часто в течение «долгого» периода времени (~1 час). Опять же, для почтового сервера это не будет большой проблемой, но это будет означать, что ваш сервер немного перегружен.

Ответ 3

Средняя нагрузка меньше, чем количество процессоров, означает, что процессоры находятся в простое. Равная означает, что все они работают в данный момент. Больше означает, что есть процессы, которые могли бы быть запущены, но находятся в очереди в ожидании.

Для очень чувствительных ко времени вещей, таких как voip-сервер или memcache, вам надо, чтобы средняя нагрузка была намного меньше количества ядер. Для асинхронных вещей, которые могут выполняться со случайным резервным копированием (например, электронная почта), вы можете легко использовать 4x количество ядер.

Самое большое предостережение помнить, что процессы, которые ожидают дискового или сетевого ввода-вывода, но в остальном могут выполняться, все равно отображаются в среднем значении нагрузки. Так что если у вас есть сервер apache, отправляющий jpg-файлы пользователям до 56k, вы можете получить гораздо более высокую среднюю нагрузку, чем если бы он отправлял ответы php/whatever-script на прокси/loadbalancer через гигабитную локальную сеть. В вашем случае smtp-соединение с медленным почтовым сервером, которому требуется целая вечность для передачи вложения, будет отображаться как 1 процесс в run-queue, но может быть прервано двадцать раз, чтобы отправить быстрое однострочное письмо на gmail без проблем.

Можно использовать DOW. На самом деле, он никак не измеряет «экономику», люди просто используют его как очень слабо коррелирующую метрику, потому что о ней легко говорить. Сосредоточьтесь на показателях мониторинга, о которых вы действительно заботитесь, таких как глубина очереди доставки и количество сообщений в секунду.

Ответ 4

Да, это вполне приемлемо, и, в общем, это то, чего следует ожидать от почтового фильтра.

Наша установка немного отличается. У нас есть отдельный сервер для SpamAssassin, а на нашем POP-сервере работает ClamAV для проверки на вирусы. POP-сервер обычно работает с нагрузкой 2, но иногда нагрузка возрастает до 10 и более. Наш сервер SpamAssassin, с другой стороны, раньше работал с нагрузкой около 2, пока мы не установили фильтры Openprotect.com, тогда он удвоил использование процессора и теперь работает с нагрузкой около 5 со скачками выше 15. Это все еще приемлемо, поскольку у нас нет задержек в почте, которые приводят к росту почтовой очереди (мы используем gmail для входящего SMTP), и все еще есть место для резервирования процессора/памяти.

Кстати, я очень рекомендую Munin для мониторинга ваших серверов. Он отлично справляется с визуальной демонстрацией хронологических данных и показывает, какие ресурсы у вас есть в запасе. Мониторинг в реальном времени с помощью Top(1) не сильно вам поможет :).

Ответ 5

Как обстоят дела с потреблением памяти? Оно стабильно или растет?

Нагрузка не кажется выходящей за рамки нормы. Если почтовый сервер отзывчив и почта проходит через него, я бы сказал, что единственным признаком сбоя, помимо потребления памяти, может быть получение неправильных писем (спама).

Схожие статьи

Linux

Решения для удаленного резервного копирования только для записи для предотвращения удаления резервной копии хакерами

Linux

Как завершить дочерний процесс по истечении заданного времени ожидания в Bash

Linux

Есть ли способ для некорневых процессов привязаться к «привилегированным» портам в Linux?

Linux

Как я могу профилировать код, работающий в Linux?

×