Оптимальные значения для ServerLimit, MaxClients, директив MaxRequestsPerChild

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

Если у Вас есть диск, который не повторно отображает сбойные блоки или так или иначе выставляет их ОС, то у Вас есть диск, который перестал работать и должен быть заменен. Продолжение использовать его приведет к потере данных.

29
задан 26 August 2009 в 10:17
3 ответа

Ваш MaxClients является ПУТЕМ ПУТЬ Слишком высоко. Каков текущий размер Вашего апачского процесса? Умножьте это x 900. Это больше, чем 4 ГБ? Если так, машина, вероятно, входит в подкачку. Я обычно запускаю с MaxClients = 2x vCPUs в поле (grep-c процессор,/proc/cpuinfo). Который в этом случае был бы приблизительно 8. Затем удостоверьтесь, что апачский размер процесса MaxClients x не составляет более чем 4 ГБ.

Вы можете свой MaxClients оттуда, в зависимости от типа соединения, которое имеют Ваши клиенты. (Абоненты автоматической телефонной сети должны кормиться с ложечки, и т.д.), Но удостоверьтесь, что Вы никогда не вовлекаете себя в ситуацию со свопингом.

Затем установите свою Минуту, Max, и Запустите серверы к MaxClients. Нет никакой реальной потребности сделать, чтобы они отличались по среде выделенного сервера.

Затем сделайте некоторое тестирование с ab (как примечания гуся.)

24
ответ дан 28 November 2019 в 20:01
  • 1
    По некоторым причинам кажется, что я определил размер процесса, неправильно... теперь я вижу в главной команде, что РЕЗИДЕНТНЫЙ апач РАЗМЕРА обрабатывает диапазон от 10 - 15 МБ. Я считал где-нибудь это, так как совместно использованные библиотеки включены в это число, " real" размер является половиной того размера. Рассмотрение этого, я должен вычислить, что могу разместить 570 процессов 7 МБ размером каждый, Вы думаете, что это корректно? –  andreszs 25 August 2009 в 15:50
  • 2
    Я предлагаю, чтобы Вы использовали 15 МБ для вычислений и затем начали проверять метрики: процесс HTTP # по сравнению с использованием памяти. Это даст Вам лучшее представление к числу MaxClients –  hdanniel 25 August 2009 в 17:19
  • 3
    Я понизил его к 400 и даже перед часом пик, результат имел противоположный эффект, чем желаемый: Любое значение ниже, чем оригинал создает тайм-ауты и длительные задержки. На самом деле теперь я увеличил его до 1 500 клиентов, и использование памяти находится теперь на 3 ГБ, в то время как среднее использование ЦП составляет 8%. Конечно, существует больше нагрузки на SQL-сервер теперь и I' ll должны работать в этом. –  andreszs 26 August 2009 в 03:09
  • 4
    Here' s мой htop управляют теперь, 1 500 апачских процессов и почти 100 системных процессов. Это с 75% Использования оперативной памяти. a.imagehost.org/0011/htop.png необходимо ли пересмотреть формулу?;) –  andreszs 26 August 2009 в 03:31
  • 5
    Поэтому необходимо сделать тестирование в собственной среде. У нас есть http акселераторы перед нашим apache' s, таким образом, они - not' t кормящий мобильных пользователей с ложечки. Ваше приложение также, кажется, очень легко. Если you' ve переместил загрузку в Ваш DB, который говорит мне, что больше тех апачских процессов на самом деле обслуживает данные по сравнению с тем, чтобы сидеть и жданием подключения mysql. Который затем приводит меня спрашивать, сколько соединений Вы позволяете своему DB? То число превышает Ваш MaxClients? У Вас есть 5 000 одновременных соединений? Если так, Вы могли бы хотеть изучить что-то как perlbal впереди. –  toppledwagon 26 August 2009 в 04:57

Необходимо получить средний размер апачского процесса. С этим числом и общим размером Вашей RAM можно вычислить директиву MaxClients. Помните это: "Веб-серверу никогда не придется подкачивать" (Настройка Производительности Apache)

Контроль с вершиной или htop в порядке, но Вам нужно лучшее представление всей статистики Ваших серверов (CPU, поршень, диск i/o, апачские запросы, mysql медленные запросы, и т.д....) с некоторым контрольным инструментом как ганглии или munin для нахождения возможных узких мест.

5
ответ дан 28 November 2019 в 20:01
  • 1
    В настоящий момент у меня только есть вершина и команды htop и я can' t добираются для понимания всей его информации так или иначе. Это вчера - действие по часу пик, кажется, что нет никакого свопинга; скажите мне если I' m неправильно: Задачи: 1 043 общих количества, 2 выполнения, 1 041 сон, 0 остановились, 0 CPU (CPU) зомби: 13.8%us, 1.8%sy, 0.0%ni, 82.1%id, 0.8%wa, 0.0%hi, 1.5%si, 0.0%st Мадам: общее количество 4138360k, 3961276k используемый, 177084k свободный, 75016k буферизует Подкачку: общее количество 2031608k, 1484k используемый, 2030124k свободный, 1836600k кэшируемый –  andreszs 25 August 2009 в 15:54
  • 2
    Да, Ваш сервер не подкачивает. Я предпочитаю реальные метрики, но если Вы хотите Вас, может использовать инструмент выделения как ab или httperf для проверки, сколько может обработать сервер. Поскольку тесты заботятся о MaxClients и запускаются с небольшого числа (на основе предположения 15 МБ). –  hdanniel 25 August 2009 в 17:23

Я рекомендую играть вокруг со сравнительным тестом апача (ab) инструмент. Можно играть вокруг со значениями, чтобы соответствовать им к потоку трафика и видеть, какие ответы Вы получаете до среднего времени загрузки и подобного. В той точке можно играть вокруг с настройками, что Вы говорите собирающийся попытаться оптимизировать их. Необходимо смочь с ab разобраться с optimial производительностью для каждой тонкой настройки производительности.

Это действительно не было бы благоразумно, чтобы я говорил о Ваших настройках, однако также необходимо принять RAM во внимание также, потому что это кажется на съедение большого количества RAM с теми настройками. Хотя это - просто предположение без любых данных. htop дает Вам хорошее визуальное чтение Ваших ресурсов.

Также Ваше среднее число загрузки могло сказать много. Я сомневаюсь, что Ваше использование намного выше, чем Ваша общая сумма ядер от 20-30% CPU, но это - другой индикатор того, как трудно Ваш сервер на самом деле работает.

4
ответ дан 28 November 2019 в 20:01
  • 1
    Проблемой является I' m не опытный достаточно в администрировании сервера так начинают играть вокруг с настройками и контролируют результаты.. Я никогда не использовал ab инструмент, чтобы быть честным. Также изменение значений требует перезапуска HTTDP, который вызывает неудобства моим пользователям, таким образом, я предпочитаю избегать этого. Предположите, что Вы отправляете сообщение другому пользователю и после нажатия на " Send" Вы получаете проблему Серверного соединения. На использовании ЦП посмотрите информацию из моего предыдущего комментария: это DOS не идет вне 15% на часе пик. Я думаю that' s довольно приемлемое рассмотрение у меня вчера было 6 000 подключенных пользователей. –  andreszs 25 August 2009 в 16:14
  • 2
    Хорошо я определенно wouldn' t хотят, чтобы Вы сделали это в продуктивной среде. Я рекомендую делать это в Ваше самое низкое транспортное время если другой сервер (с очень похожим если не идентичное оборудование) для тестирования. ab довольно прост в использовании, но я определенно думаю, что toppledwagon дал хорошую инструкцию относительно вычисления Вашего MaxClients. После того как Вы прекращаете использовать область подкачки, you' ll видят определенное улучшение. проверьте httpd.apache.org/docs/2.0/programs/ab.html и cyberciti.biz/tips/… для AB –  goose 25 August 2009 в 20:23

Теги

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