IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   PHP и FastCGI (https://www.imho.ws/showthread.php?t=89252)

AleXXXSoft 15.07.2005 09:17

PHP и FastCGI
 
поискал тут по форуму - ничего не нашел...
в общем-то интересует такая вещь, хочу запускать один из скриптов в режиме fastcgi - скрипт написан на пхп.
как узнать, будет ли пхп работать в таком режиме? уж слишком мало инфы по этому вопросу, версия пхп 4.3.11, сервак апач 1.3.33.

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

AleXXXSoft 15.07.2005 13:44

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

Код:

if(conection_aborted()) break;
здесь такое не катит, в доках не нашел что-нить умного, как узнать? может какая переменная окружения ставится? :confused:

RaZEr 16.07.2005 18:40

register_shutdown_function() пробовал?

AleXXXSoft 17.07.2005 19:40

В FastCGI процесс постоянно висит, и register_shutdown_function не пашет, т.е. пашет только при убийстве самого модуля FastCGI.
Есть мысль, читал в доке фастцги, что можно как-то перехватывать SIGPIPE который посылает апач модулю, а модуль проге, так вот интересно.... пхп отдаст его мне или схватит его и сам проглотит?

Raman 18.07.2005 15:30

Алекс, можно узнать, как ты поборол проблему с "подвисанием" процессов FastCGI? Мы пробовали перенести клиентов на него, но через непродолжительное время работы при средней загрузке - по самым посещаемым хостам переставали открываться страницы с Network error. В логах было нечто "process restarted" и т.п.

Настройки были:
FastCgiConfig -idle-timeout 30
FastCgiConfig -minProcesses 5
FastCgiConfig -maxProcesses 75
FastCgiConfig -maxClassProcesses 75
FastCgiConfig -updateInterval 150
FastCgiConfig -processSlack 25

Пробовал и с теми, что по-умолчанию:

FastCgiConfig -idle-timeout 30
FastCgiConfig -minProcesses 5
FastCgiConfig -maxProcesses 50
FastCgiConfig -maxClassProcesses 10
FastCgiConfig -updateInterval 300
FastCgiConfig -processSlack 5

Насчет твоей проблемы - разве не "FastCgiConfig -updateInterval 300" должен контролировать необходимость рестарта?

AleXXXSoft 18.07.2005 18:27

Цитата:

Raman:
Алекс, можно узнать, как ты поборол проблему с "подвисанием" процессов FastCGI? Мы пробовали перенести клиентов на него, но через непродолжительное время работы при средней загрузке - по самым посещаемым хостам переставали открываться страницы с Network error. В логах было нечто "process restarted" и т.п.
ну в общем у меня процессы спокойно висят месяцами, но сайт не столько посещаемый, сколько тяжелый, т.е. эти процессы отдают тяжелый контент (файлы по 650 мб :) ) бывает, что возникают лики в памяти, подкушивает, обычно раз в сутки делаю apache reload - с ним рестартит и фастцги. Кстати, пользуете внешний сервак, или стартуемый апачем как внутренний? У меня то он по сути используется только для ОДНОГО файла :) все остальное на мод_пхп.

Цитата:

Raman:
Насчет твоей проблемы - разве не "FastCgiConfig -updateInterval 300" должен контролировать необходимость рестарта?
он-то может и контролирует, но мне не совсем то нужно, мне нужно как-то отловить обрыв связи с клиентом во время скачки, чтобы сделать пометку в базу (по сути это что-то типа антилича такого с навороченными ограничениями, на количество коннектов, скоросоть и т.д.) - так вот в фаст-цги это не прокатило. Переписываю на перл, а пока переписывал, нашел глюк у себя в пхп-шке, и в итоге все работает без переписывания на перл, и без фастцги, на чистом мод_пхп и даже не грузит сервант :)

P.S. имел на хостинге печальный опыт с фастцги - это того не стоит, это выгодно когда таких процессов в памяти не много висеть будет, а уже 100+ клиентов, и все, оперативки станет нехватать, свапы будут жестокие, лучше модифицированный мод_пхп (чтобы процессы стартовали с правами юзера) - больше возможностей, меньше глюков.

Raman 20.07.2005 16:57

Цитата:

P.S. имел на хостинге печальный опыт с фастцги - это того не стоит, это выгодно когда таких процессов в памяти не много висеть будет, а уже 100+ клиентов, и все, оперативки станет нехватать, свапы будут жестокие, лучше модифицированный мод_пхп (чтобы процессы стартовали с правами юзера) - больше возможностей, меньше глюков.
К сожалению это так... Мы тоже пытались - и как не настраивали - при повышении посещаемости одного из _средних_ форумов, когда десятки процессов пачками поднимаются свопы были жуткими. Хотя думалось, что наоборот скорость повысится...

А вот модифицированный mod_php - это как? Разве кто-то серьезно смог его изменить без попыток запускать apache из-под рута и тому подобного?

Мы сейчас на cPanel'ном phpsuexec сидим. Конечно некоторое падение производительности имеем, но зато как гора с плеч насчет всяких гадостей, которые юзеры делают - все сразу как на ладони :)

AleXXXSoft 21.07.2005 00:09

Цитата:

Raman:
А вот модифицированный mod_php - это как? Разве кто-то серьезно смог его изменить без попыток запускать apache из-под рута и тому подобного?
в общем-то я нашел (кроме suphp) еще несколько решений, и одно еще держится моим бывшим хостером от меня в секрете :) насколько я знаю, они собирали апач с каким-то модулем, который каждый процесс создает для юзера отдельно с его правами, т.е. нет подготовленного пула процессов, чуть-чуть тормозно, зато безопасно.

Raman 21.07.2005 01:37

Ты не про eServer часом говоришь?..

А можно узнать чем ты пользуешься? Или это секрет?

AleXXXSoft 21.07.2005 09:33

нет, хостер бывший INFOBOX
сам сейчас на выделенном серваке, с кучей апачиков на разных айпишках, в будущем все через nginx планирую запустить...

Raman 21.07.2005 10:56

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

А у тебя уже опыт с ним есть?

AleXXXSoft 21.07.2005 11:04

в общем-то опыт кое-какой есть, пробовал для раздачи статики, ничего хорошего, как и плохого не скажу, я с тем же успехом делал это через апач (только с необх. модулями ~ 1.5мб в памяти) - и в принципе тоже самое, а планирую использовать в качестве фронтэда перед юзером.. тогда апачики будут быстрее отрабатывать, а сам nginx получается будет уже только статику разруливать.

Raman 21.07.2005 21:14

Спасибо за все ответы, что ты писал.

Можно общий вопрос один? Как легче всего настроить nginx в связке с cPanel'ным Апачем, чтобы раздавать через него статику?

Руками настраивать хосты в конфигах - невозможно. А cPanel'ные скрипты модифицировать - это несерьезно и будет требовать постоянного внимания.

AleXXXSoft 22.07.2005 09:47

ну в общем-то для цпанеля не делал, я все руками, ну и скриптиками изредка...

AleXXXSoft 22.07.2005 11:52

http://www.techinfo.net.ru/web/optim...n/glintwei.php - вот кое-что по настройке ... но мало.. так, советы для начинающих, а самое лучшее пособие на сайте нгинкса

Raman 23.07.2005 00:26

Спасибо, конечно. Только я так и не смог найти некого решения, чтобы упростить отдачу статики при установленной контрольной панели, чтобы не мешать ее работе...

Если, вдруг, найдешь какую-либо информацию - напиши в этой теме.

Спасибо еще раз.


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

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