Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Apache съедает 100% CPU


Автор: Goliath 26.7.2008, 23:48
Столкнулся с большой проблемой производительности. Установил Apache2.2+PHP 5 под Windows 2003 Server на выделенном сервере (AMD Sempron 64 3200+, 1GB ОЗУ), настройки:
Код

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0


Но даже при небольшой нагрузки он съедает практически 100% CPU, что будет при увеличение даже боюсь представить. Можно ли как-то повысить производительность Apache под Windows?
По пробивал поставить nginx под Windows с fastCGI, CPU конечно гораздо меньше ест, но периодически ложиться выдает “Not found” (PHP_FCGI_MAX_REQUESTS=0 пробивал, не помогло).
Уже думою может IIS лучше использовать, как думаете?
P.S: от Windows не могу отказаться в сторону *nix+nginx

Автор: Exaktus 27.7.2008, 14:34
Цитата(Goliath @  26.7.2008,  23:48 Найти цитируемый пост)
Установил Apache2.2+PHP 

mpm точно мультитредовый?
Возможно, трабла в скриптах?

Автор: Goliath 27.7.2008, 20:22
mpm точно виндовый, вот список модулей:
Код

core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c

Скрипты тестировались, все соединения с БД закрываются, файлы после чтения тоже... Может где-то лапи и есть, но подвисание ни где выявлено не было...

Автор: Exaktus 27.7.2008, 23:45
Нагрузки и при отдаче статики, и при работе с пхп?

Автор: Goliath 28.7.2008, 09:05
Прости, но я незнаю как тебе дать такую статисту, если можешь подскажи, плз. Типа linux top? 
Я вижу просто, что даже при обходе Google bot в быстродействие показываться 100% использование CPU. И в этот момент пытаюсь открыть в своем браузере и после долгого ожидания 50% отказа. Но переношу на хостинг, тоже с Apache, у них такого не бывает. По этой причине я делаю вывод, что проблема в моей настройки Apache.

Автор: Exaktus 28.7.2008, 13:15
Статика - это статические файлы: html, jpg, js и т.д. Существует разница, как апач обрабатывает статику и скрипты. Для того, что бы локализировать проблему, надо убедится где именно она возникает. Во первых советую взять любой генератор трафика и в несколько потоков запрашивать статические файлы. После этого такую же процедуру провести со скриптами. Возможно проблема в компиляторах, БД, и еще кучи вещей.

Автор: Goliath 29.7.2008, 02:09
Что такое статика я понимаю smile. Я думал, что есть какие то логи или тулсы для введения такой статистики...
Спасибо за совет. Скачал трафика генерилку и нашел проблему в коде, производительность теперь поднялась, теперь при 1000 запросов съедает 15-30% CPU, nginx явно быстрее, даже под виндой, 5-10% CPU.
Еще раз спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)