Настройки Prefork

A
На сайте с 18.01.2011
Offline
32
3652

Всем привет. Стоит Apache, он немного странно себя вел, подстроили его, стало нормально, но к вечеру у некоторых клиентов опять появились проблемы в виде долгих ответов от сервера (у меня в том числе). У всех знакомых все нормально, в общем всегда были проблемы в настройках апача, не могли бы шарющие люди глянуть конфиги prefork (подключен именно он, не воркер)?

О нагрузке: 100к+ просмотров в сутки. Это не сайт, а игра, которая общается с БД через php. Привожу конфиги, всем кто ответит заранее спасибо! :)

apache2.conf:

KeepAlive On

MaxKeepAliveRequests 0
MaxClients 4096
MaxRequestsPerChild 1000
<IfModule mpm_prefork_module>
StartServers 1
MinSpareServers 1
MaxSpareServers 3
MaxClients 4096
MaxRequestsPerChild 4096
</IfModule>
KeepAliveTimeout 10

mpm_prefork.conf:

<IfModule mpm_prefork_module>

ServerLimit 4096
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 4096
MaxConnectionsPerChild 0
</IfModule>
domen4you
На сайте с 08.03.2013
Offline
53
#1

возможно оперативки не хватает, апач очень любит её)

[umka]
На сайте с 25.05.2008
Offline
456
#2

Посмотрите сначала "httpd -M", тогда станет ясно как он работает.

Секции для mpm_prefork_module нужно объединить. Оставить одну или в основном конфиге, или в дополнительном (предварительно убедившись, что он инклудится в основном).

А почему вы решили, что проблема именно в апаче, а не в пхп или БД?

Хотя, с такими настройками

MaxClients 4096
MaxRequestWorkers 4096

даже если у вас работают штук 500 воркеров одновременно, должен быть довольно мощный сервер с большим количеством памяти.

Смотрите top в момент тормозов и логи.

Лог в помощь!
A
На сайте с 18.01.2011
Offline
32
#3
'[umka:
;13518935']Посмотрите сначала "httpd -M", тогда станет ясно как он работает.
Секции для mpm_prefork_module нужно объединить. Оставить одну или в основном конфиге, или в дополнительном (предварительно убедившись, что он инклудится в основном).

А почему вы решили, что проблема именно в апаче, а не в пхп или БД?
Хотя, с такими настройками
MaxClients 4096
MaxRequestWorkers 4096
даже если у вас работают штук 500 воркеров одновременно, должен быть довольно мощный сервер с большим количеством памяти.
Смотрите top в момент тормозов и логи.

Была уже когда-то проблема, всё очень долго грузилось, и сис. админ сторонний решил её. Сказал, что апач просто не дает многому количеству клиентов подключится, и в общем все в очереди стоят ждут, он поменял настройки и все действительно хорошо заработало. Потом сервер поменяли, я сделал все заново как было, но днем нагрузка увеличилась, и всё опять тупило. Я увеличил количество клиентов, и всё наладилось. Вечером, как я уже говорил, у меня опять очень плохо работало, зато у всех знакомых всё отлично. Признаки те же, index файл грузится через 10-30 секунд после запроса, зато сам выделенный сервер работает замечательно. В top смотрю, ничего такого, 5% нагрузки на cpu.

Серверу вроде мощности должно хватать, Intel Dual-Core G2020 2.9Ghz/8Gb RAM/320Gb HDD/100.

httpd -M не работает, но я так понял в моем случае нужно писать apache2 -M, он ругается:

Config variable ${APACHE_LOCK_DIR} is not defined
K5
На сайте с 21.07.2010
Offline
209
#4

MaxSpareServers 20

MaxClients 500

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
A
На сайте с 18.01.2011
Offline
32
#5
kgtu5:
MaxSpareServers 20
MaxClients 500

MaxClients уменьшать точно есть смысл? Так как оперативы ещё запас есть, значит наверное дело не в этом.

Эти настройки должны помочь, или это как бы просто поправка для более красивой настройки?)

K5
На сайте с 21.07.2010
Offline
209
#6

Вы боитесь попробовать или просто хотите потеоризировать???

P.S. оптимизация параметров mysql тоже не менее важна.

A
На сайте с 18.01.2011
Offline
32
#7
kgtu5:
Вы боитесь попробовать или просто хотите потеоризировать???

P.S. оптимизация параметров mysql тоже не менее важна.

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

mysql тоже настраивал как мог, и с ним насколько я знаю проблем не должно быть.

K5
На сайте с 21.07.2010
Offline
209
#8
500 клиентов это мало

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий