imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 15.07.2005, 09:17     # 1
AleXXXSoft
Guest
 
Сообщения: n/a

PHP и FastCGI

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

кстати перл на fastcgi сейчас работает счетчик посещений, очень снижает нагрузку, то бишь мне помгло, а вот с пхп не знаю как поступить.
доки читал, написано, что надо компилить с какими-то опциями, а в новых версиях пхп такого и нету.... может все уже всунуто по умолчанию? все ставил из дебиановских пакетов...
 
Старый 15.07.2005, 13:44     # 2
AleXXXSoft
Guest
 
Сообщения: n/a

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

Код:
if(conection_aborted()) break;
здесь такое не катит, в доках не нашел что-нить умного, как узнать? может какая переменная окружения ставится?
 
Старый 16.07.2005, 18:40     # 3
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
register_shutdown_function() пробовал?
RaZEr вне форума  
Старый 17.07.2005, 19:40     # 4
AleXXXSoft
Guest
 
Сообщения: n/a

В FastCGI процесс постоянно висит, и register_shutdown_function не пашет, т.е. пашет только при убийстве самого модуля FastCGI.
Есть мысль, читал в доке фастцги, что можно как-то перехватывать SIGPIPE который посылает апач модулю, а модуль проге, так вот интересно.... пхп отдаст его мне или схватит его и сам проглотит?
 
Старый 18.07.2005, 15:30     # 5
Raman
Junior Member
 
Регистрация: 25.01.2002
Сообщения: 157

Raman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собой
Алекс, можно узнать, как ты поборол проблему с "подвисанием" процессов 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" должен контролировать необходимость рестарта?
Raman вне форума  
Старый 18.07.2005, 18:27     # 6
AleXXXSoft
Guest
 
Сообщения: n/a

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

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

P.S. имел на хостинге печальный опыт с фастцги - это того не стоит, это выгодно когда таких процессов в памяти не много висеть будет, а уже 100+ клиентов, и все, оперативки станет нехватать, свапы будут жестокие, лучше модифицированный мод_пхп (чтобы процессы стартовали с правами юзера) - больше возможностей, меньше глюков.
 
Старый 20.07.2005, 16:57     # 7
Raman
Junior Member
 
Регистрация: 25.01.2002
Сообщения: 157

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

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

Мы сейчас на cPanel'ном phpsuexec сидим. Конечно некоторое падение производительности имеем, но зато как гора с плеч насчет всяких гадостей, которые юзеры делают - все сразу как на ладони
Raman вне форума  
Старый 21.07.2005, 00:09     # 8
AleXXXSoft
Guest
 
Сообщения: n/a

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

Raman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собой
Ты не про eServer часом говоришь?..

А можно узнать чем ты пользуешься? Или это секрет?
Raman вне форума  
Старый 21.07.2005, 09:33     # 10
AleXXXSoft
Guest
 
Сообщения: n/a

нет, хостер бывший INFOBOX
сам сейчас на выделенном серваке, с кучей апачиков на разных айпишках, в будущем все через nginx планирую запустить...
 
Старый 21.07.2005, 10:56     # 11
Raman
Junior Member
 
Регистрация: 25.01.2002
Сообщения: 157

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

А у тебя уже опыт с ним есть?
Raman вне форума  
Старый 21.07.2005, 11:04     # 12
AleXXXSoft
Guest
 
Сообщения: n/a

в общем-то опыт кое-какой есть, пробовал для раздачи статики, ничего хорошего, как и плохого не скажу, я с тем же успехом делал это через апач (только с необх. модулями ~ 1.5мб в памяти) - и в принципе тоже самое, а планирую использовать в качестве фронтэда перед юзером.. тогда апачики будут быстрее отрабатывать, а сам nginx получается будет уже только статику разруливать.
 
Старый 21.07.2005, 21:14     # 13
Raman
Junior Member
 
Регистрация: 25.01.2002
Сообщения: 157

Raman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собойRaman Имеются все основания чтобы гордиться собой
Спасибо за все ответы, что ты писал.

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

Руками настраивать хосты в конфигах - невозможно. А cPanel'ные скрипты модифицировать - это несерьезно и будет требовать постоянного внимания.
Raman вне форума  
Старый 22.07.2005, 09:47     # 14
AleXXXSoft
Guest
 
Сообщения: n/a

ну в общем-то для цпанеля не делал, я все руками, ну и скриптиками изредка...
 
Старый 22.07.2005, 11:52     # 15
AleXXXSoft
Guest
 
Сообщения: n/a

http://www.techinfo.net.ru/web/optim...n/glintwei.php - вот кое-что по настройке ... но мало.. так, советы для начинающих, а самое лучшее пособие на сайте нгинкса
 
Старый 23.07.2005, 00:26     # 16
Raman
Junior Member
 
Регистрация: 25.01.2002
Сообщения: 157

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

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

Спасибо еще раз.
Raman вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


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




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