IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Проблема в работе 3 виртуальных хостов (http://www.imho.ws/showthread.php?t=137718)

rontommy 22.01.2009 15:48

Проблема в работе 3 виртуальных хостов
 
Знакомый "чайник" попросил помощь зала, то бишь знатоков Апача :

Дано:
Имеется сервер (настроенный одним админом год назад), на котором работают три сайта. Все сайты определены как виртуальные хосты в файле конфигурации Апача. Два сайта бегут под PHP4, третий под PHP5, все настроены как FastCGI.

Появилась необходимость запустить первый и второй сайты под PHP5. После изменения значения с
Код:

Action      application/x-httpd-fastphp4    /cgi-bin/php.fcgi
на
Код:

Action      application/x-httpd-fastphp4    /cgi-bin/php5.fcgi
и перезагрузки Апача в логе появилось сообщение :
Код:

[notice] Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.7i mod_fastcgi/2.4.2 configured -- resuming normal operations
[warn] FastCGI: (dynamic) server "server1/php5.fcgi" started
[warn] FastCGI: (dynamic) server "server2/php5.fcgi" started
[warn] FastCGI: scheduled the start of the last (dynamic) server "server1/php5.fcgi" process: reached dynamicMaxClassProcs (2)
[warn] FastCGI: (dynamic) server "server1/php5.fcgi" started
[error] server reached MaxClients setting, consider raising the MaxClients setting

После этого я поднял MaxClassProcs до 10 и все сайты заработали, но очень медленно и потом все они стали зависать.

Вопрос:
Что нужно настроить или поправить, чтобы все три сайта заработали на PHP5 ?

Если требуется дополнительная инфа, я могу спросить у "чайника".

Plague 22.01.2009 17:25

оно еще и на MaxClients ругается
http://httpd.apache.org/docs/2.2/mod...tml#maxclients
http://httpd.apache.org/docs/2.2/mod/prefork.html

и кстати,
Код:

Action      application/x-httpd-fastphp4    /cgi-bin/php5.fcgi
это нормально?

rontommy 22.01.2009 18:00

Цитата:

Сообщение от Plague (Сообщение 1627308)
оно еще и на MaxClients ругается

Подняли с 150 до 250, может быть поднять еще ?
Выглядит это так :
Цитата:

<IfModule mpm_worker_module>
StartServers 2
MaxClients 250
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Цитата:

Сообщение от Plague (Сообщение 1627308)
это нормально?

да, у 3-го сайта так и прописано, а админ знал что там писать

Plague 22.01.2009 18:09

Цитата:

Сообщение от rontommy (Сообщение 1627317)
может быть поднять еще ?

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

rontommy 22.01.2009 18:22

Цитата:

Сообщение от Plague (Сообщение 1627322)
результат-то хоть есть какой?

Не, подняли раньше, с 150 до 250. Проблема осталась.

Про память могу сказать, что вроде бы ее не мало, вот что говорит топ :
Код:

top -  up XXX days, 22:10,  1 user,  load average: 8.30, 8.85, 8.83
Tasks: 205 total,  8 running, 197 sleeping,  0 stopped,  0 zombie
Cpu0  : 26.9%us, 11.6%sy, 60.1%ni,  1.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  9.3%us,  6.0%sy, 37.1%ni, 46.7%id,  0.0%wa,  0.0%hi,  1.0%si,  0.0%st
Cpu2  :  2.0%us,  1.0%sy, 94.4%ni,  2.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  4.3%us,  6.6%sy, 89.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  6.0%us,  2.3%sy, 83.1%ni,  8.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  3.7%us,  5.6%sy, 83.7%ni,  7.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  1.0%us,  0.3%sy, 91.3%ni,  7.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  7.0%us,  9.7%sy, 83.0%ni,  0.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  7679332k total,  5763204k used,  1916128k free,  1522284k buffers
Swap:  4194296k total,        0k used,  4194296k free,  2660660k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                     
 4252 root      39  19  684  152  76 R  97  0.0  37150:53 dnetc                                                                                         
 4249 root      39  19  672  152  76 R  91  0.0  37148:37 dnetc                                                                                         
 4251 root      39  19  680  152  76 R  91  0.0  37152:58 dnetc                                                                                         
 4253 root      39  19  688  152  76 R  89  0.0  37152:34 dnetc                                                                                         
 4250 root      39  19  676  152  76 R  86  0.0  37147:40 dnetc                                                                                         
 4255 root      39  19  696  152  76 R  85  0.0  37150:36 dnetc                                                                                         
 2800 mysql    15  0  668m 235m 5616 S  83  3.1  31853:00 mysqld                                                                                       
 4254 root      39  19  692  152  76 R  83  0.0  37153:14 dnetc                                                                                         
24768 user123  15  0 55172 9.9m 6304 S    4  0.1  0:13.08 php                                                                                           
25044 user123  16  0 54680 9748 6440 S    2  0.1  0:12.57 php                                                                                           
24940 user123  15  0 54684 9220 5912 S    1  0.1  0:12.01 php                                                                                           
24978 user123  15  0 54744 9724 6352 S    1  0.1  0:11.92 php                                                                                           
25049 user123  15  0 54692 9572 6252 S    1  0.1  0:12.43 php                                                                                           
25064 user123  15  0 54696 9.8m 6676 S    1  0.1  0:12.09 php                                                                                           
23103 apache    18  0  244m 7660 1708 S    1  0.1  0:11.17 httpd                                                                                         
23482 apache    18  0  245m 7528 1684 S    1  0.1  0:10.43 httpd                                                                                         
24894 user123  15  0 54640 8844 5580 S    1  0.1  0:11.33 php                                                                                           
24906 user123  15  0 55028  10m 6648 S    1  0.1  0:12.60 php                                                                                           
24975 user123  15  0 54660 8956 5672 S    1  0.1  0:11.10 php                                                                                           
24979 user123  15  0 54704 9868 6536 S    1  0.1  0:12.11 php                                                                                           
25069 user123  15  0 55064 9.8m 6332 S    1  0.1  0:11.03 php                                                                                           
23161 apache    19  0  245m 8244 1728 S    0  0.1  0:11.37 httpd                                                                                         
23162 apache    20  0  245m 7636 1688 S    0  0.1  0:11.10 httpd                                                                                         
23225 apache    19  0  245m 7804 1684 S    0  0.1  0:11.27 httpd


Plague 22.01.2009 19:12

так оно ругается уже с этими параметрами на
Цитата:

[error] server reached MaxClients setting, consider raising the MaxClients setting
или сейчас уже не ругается? по идее 250 уже должно хватать, если речь идет не о сайте типа майкрософт или гугля.. :)
и думается мне что проблемы еще в настройках самого PHP-FastCGI
http://wiki.osuosl.org/display/howto...ec+fastcgi+php
http://snippets.dzone.com/posts/show/81

rontommy 22.01.2009 19:21

Цитата:

Сообщение от Plague (Сообщение 1627346)
или сейчас уже не ругается?

Нет не ругается, просто хосты зависают на тайм-ауте.

Я вот просто не понимаю, как совместная работа php4.fcgi и php5.fcgi вполне себе возможна, а вот когда на всех 3-х хостах php5.fcgi - зависание. При тех же остальных параметрах.

boor 23.01.2009 00:21

А покажи что у тебя в php.ini в этом блоке. только в той bybirt которая у тебя для php5
Код:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

ax_execution_time = 30    ;
max_input_time = 60        ;
max_input_nesting_level = 64
memory_limit = 128M


rontommy 23.01.2009 00:32

Цитата:

Сообщение от boor (Сообщение 1627425)
А покажи что у тебя в php.ini в этом блоке. только в той bybirt которая у тебя для php5

php.ini один и вообще лежит в другом месте, может быть есть где-то еще настройки ?

Plague 23.01.2009 00:47

ты уверен?
в любом случае, что там по памяти и прочему?

boor 23.01.2009 00:58

проверяй!!! php.ini должен быть и если ты имеешь полный доступ до серванта то найдёшь его.
и потом если я не ошибаюсь то для рзр4 свой конфиг а для php5 другой так что у тебя там 2 инишки должно быть

Makc666 23.01.2009 01:29

Я бы начал с обновления софта.
Потому что он явно старый и не понятно, что когда собиралось, одновременно ли или в разное время.
А версии разные по времени очень даже могут быть несовместими в плане производительности.

У меня Apache 2 бегает в корне вот так:
Код:

Timeout 180
KeepAlive On
MaxKeepAliveRequests 120
KeepAliveTimeout 15
 
MinSpareServers 10
MaxSpareServers 15
StartServers 10
MaxClients 200
MaxRequestsPerChild 10000

На достаточно сильно нагруженном сервере, правда 1.3 вот так:
Код:

Timeout 120
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 5
MinSpareServers 5
MaxSpareServers 12
StartServers 5
ThreadsPerChild 50
MaxClients 200
MaxRequestsPerChild 10000

У Apache есть /server-status/ и /server-info/
Первый может наглядно показать, что долго висит и сколько жрёт.

Так же нельзя исключать несовместимость каких-либо функция из php4 c php5.
Не каждая вещь вот так просто с 4 на 5 переходит.

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

Цитата:

Сообщение от rontommy (Сообщение 1627317)
Подняли с 150 до 250, может быть поднять еще ?

http://httpd.apache.org/docs/2.2/mod...tml#maxclients

Ставить больше 256 точно смысла не имеет.

rontommy 23.01.2009 13:40

Цитата:

Сообщение от boor (Сообщение 1627438)
проверяй!!! php.ini должен быть и если ты имеешь полный доступ до серванта то найдёшь его.
и потом если я не ошибаюсь то для рзр4 свой конфиг а для php5 другой так что у тебя там 2 инишки должно быть

Да, ты прав, но оба файла практически идентичны.
Цитата:

Сообщение от Makc666 (Сообщение 1627443)
Я бы начал с обновления софта.
Потому что он явно старый и не понятно, что когда собиралось, одновременно ли или в разное время.
А версии разные по времени очень даже могут быть несовместими в плане производительности.

Уточню - третий хост с php5 собирался позже двух первых, но бинарные файлы php5 и там и там одинаковы, настройки похожи. Правда, третий хост (php5) почти непосещаем, а первые два (php4) - ОЧЕНЬ посещамы (30000 уников).

Обновление софта - вещь серьезная и для "чайника" пока не по зубам, не хотелось бы утопить столь посещаемый ресурс :) .

boor 23.01.2009 18:35

Цитата:

Сообщение от rontommy (Сообщение 1627529)
Да, ты прав, но оба файла практически идентичны.

именно практически. покажи то что я тебя просил. :)

rontommy 23.01.2009 19:20

Цитата:

Сообщение от boor (Сообщение 1627610)
покажи то что я тебя просил

Хорошо, в обоих файлах данные одинаковые.

Plague 23.01.2009 19:29

memory_limit в php.ini попробуй увеличить....

rontommy 23.01.2009 19:47

Цитата:

Сообщение от Plague (Сообщение 1627629)
memory_limit в php.ini попробуй увеличить....

Я могу увеличить, только как объяснить, что тот же скрипт в php4 работает вполне резво, а в php5 требует больше памяти ?

Plague 23.01.2009 19:58

а как объяснить то что Виста требует памяти в 2 раза больше чем XP? :biggrin:
и потом, ведь в пхп тоже модульная структура. в php4 можт быть одно количество модулей пришито, а в php5 - другое

rontommy 23.01.2009 20:41

Поднял до 128, результат тот же - полный висяк :( .

boor 23.01.2009 21:51

это конечно почти гадание на кофейной гуще
попробуй поставь так
Код:

max_execution_time = 30   
max_input_time = 60

щас чутка позже гляну что у меня на серваке.
Ибо там машинка послабее а сайтов по более крутится
у меня все работает при таких значениях
Код:

max_execution_time = 30
max_input_time = 30
memory_limit = 32M

попробуй реально занизь и посмотри что будет

Hubbitus 06.02.2009 01:48

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

Какой MPM используется?

Приведите как описаны виртуальные хосты.

Как запускается fastcgi-php (скриптом, [x]initd, вручную, с какими параметрами)?

Далее, если разбираться в причинах, что значит "тормозит"? Всегда, или при болшом количестве конкурентных запросов? Тормозит один какой-то скрипт или все (любой)? Профилировали, тормоза в разных местах, конструкциях, функциях?


Часовой пояс GMT +4, время: 23:28.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.