Ограничение использования CPU/IO для сервисов Linux

Смотрите на mod_limitipconn2, это могло бы быть тем, что Вы после:

http://dominia.org/djao/limitipconn2.html

Это позволило бы Вам ограничивать его одним соединением на IP, эффективно превратив браузер пользователя в синхронное соединение вместо него открывающий обычные 4-6 (думающий Firefox) по умолчанию.

2
задан 17 September 2012 в 22:22
3 ответа

Есть несколько вещей, которые exim может сделать для уменьшения нагрузки:

  1. Обнаружение высокой нагрузки и постановка exim в очередь большого количества входящих сообщений, генерируемых сценарием, вместо попытки их доставки. Для этого актуальны следующие варианты:
    queue_only_load - немедленная доставка отсутствует, если нагрузка высока
    queue_only_load_latch не переоценивать нагрузку для каждого сообщения
    queue_only_override разрешить переопределение командной строки
    
  2. Скорее всего, вы привыкли к использованию grep или exigrep для извлечения информации из файла /var/log/exim/main.log (или как там он назван в честь вашего дистрибутива). Exim также по умолчанию поддерживает копию этого журнала для каждого сообщения, группируя журналы электронной почты каждого сообщения в один файл, удаляя его при доставке сообщения. Вы можете просмотреть их для одного сообщения с помощью 'exim -Mvl QUEUEID'. Или просто выключите:

    В сильно загруженной системе может быть желательно отключить использование журналы сообщений, чтобы уменьшить количество операций ввода-вывода на диск. Это можно сделать установка для параметра message_logs значения false.

  3. Протестируйте использование системного журнала для входа на удаленный сервер вместо локального. Это немного уменьшит дисковый ввод-вывод, хотя я думаю, что он будет бледным по сравнению с вводом-выводом, вызванным большим объемом создания электронной почты и т. П.
  4. Когда вы закончите вводить электронные письма на почтовый сервер, загрузка будет падение. В этот момент запустите кучу обработчиков очереди. Exim известен тем, что медленно доставляет сообщения из очереди, но если у вас низкая нагрузка, нет ничего плохого в запуске достаточного количества процессов доставки для запуска очереди и доставки почты быстрее ... до тех пор, пока ваша нагрузка не станет тормозящей ( обычно указывает на то, что использование дискового ввода-вывода достигает насыщения). Попробуйте создать 10 обработчиков очереди за раз. Я подозреваю, что вы могли бы сделать 100 или 150 без чрезмерной нагрузки. 'iostat -x -d 1' ваш друг, чтобы убедиться, что дисковый ввод-вывод является или не является узким местом.
  5. Проверьте DNS как в прямом, так и в обратном направлении для вашего сервера исходящей почты. Убедитесь, что IP-адрес, который видят серверы-получатели, такой же, как вы думаете, и он также должен быть разрешаемым в прямом и обратном направлениях, иначе у вас будут замедления, поскольку получатели будут выполнять поиск DNS на вашем IP (для своих журналов и т. Д.).
3
ответ дан 3 December 2019 в 10:10

Я предлагаю вам проверить инструменты "nice" и "ionice", чтобы уменьшить влияние требовательных процессов на использование ЦП, а другие - для уменьшения воздействия на задачи ввода-вывода. (Планировщик CFQ необходимо использовать, если вы не хотите использовать ionice для регулирования пропускной способности диска)

В качестве альтернативы вы можете проверить подсистему cgroups ядра. Cgroups поддерживают создание жестких и программных ограничений памяти, а также регулирование использования диска. (Планировщик CFQ должен использоваться для регулирования использования диска)

1
ответ дан 3 December 2019 в 10:10

Вы можете делать то, что вам нужно, с помощью PAM Limits ( /etc/security/limits.conf ) или ulimit.

0
ответ дан 3 December 2019 в 10:10

Теги

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