Необходимо ли вносить какие-то изменения в php скрипт для запуска его под fastcgi + Apache?
С PHP практически не знаком, но мне необходимо увеличить производительность одного сервиса, написанного на php под Апачом.На Perl писал скрипт работающий под fastcgi, он компилился единожды и жил "вечно", в цикле ожидал запрос и обрабатывал его: while(my $req=new CGI::Fast) { process_request(); }. Но что-то подобного в PHP не могу найти.
>Необходимо ли вносить какие-то изменения в php скрипт для запуска его под
>fastcgi + Apache?
>С PHP практически не знаком, но мне необходимо увеличить производительность одного сервиса,
>написанного на php под Апачом.
>
>На Perl писал скрипт работающий под fastcgi, он компилился единожды и жил
>"вечно", в цикле ожидал запрос и обрабатывал его: while(my $req=new CGI::Fast)
>{ process_request(); }. Но что-то подобного в PHP не могу найти.
>Нет, в коде ничего менять не нужно.
>[оверквотинг удален]
>>fastcgi + Apache?
>>С PHP практически не знаком, но мне необходимо увеличить производительность одного сервиса,
>>написанного на php под Апачом.
>>
>>На Perl писал скрипт работающий под fastcgi, он компилился единожды и жил
>>"вечно", в цикле ожидал запрос и обрабатывал его: while(my $req=new CGI::Fast)
>>{ process_request(); }. Но что-то подобного в PHP не могу найти.
>>
>
>Нет, в коде ничего менять не нужно.Тогда в чём отличие от использования eacelerator'a, кроме большей безопасности?
>>>
>>
>>Нет, в коде ничего менять не нужно.
>
>Тогда в чём отличие от использования eacelerator'a, кроме большей безопасности?Ваш вопрос прямо ставит меня в тупик =) Это совершенно разные технологии... В чем отличие между файерволлом и mod_access ?
Кстати, php через fcgi вполне может работать с eaccelerator'ом...
>>>Нет, в коде ничего менять не нужно.
>>
>>Тогда в чём отличие от использования eacelerator'a, кроме большей безопасности?
>
>Ваш вопрос прямо ставит меня в тупик =) Это совершенно разные технологии...
>В чем отличие между файерволлом и mod_access ?
>
>Кстати, php через fcgi вполне может работать с eaccelerator'ом...Ну, в perl под fastcgi я мог инициализировать глобальные переменные, соединения с базой и другими сервисами единожды и использовать для все всех запросов без переопределения. Получал значительный выигрыш в производительности. Но для достижения этого вносились изменения в обычный cgi-script. А как php + fastcgi это разруливыает, как узнаёт что я хочу использовать повторно при следующем соединения, а что нет?
?
>[оверквотинг удален]
>>В чем отличие между файерволлом и mod_access ?
>>
>>Кстати, php через fcgi вполне может работать с eaccelerator'ом...
>
>Ну, в perl под fastcgi я мог инициализировать глобальные переменные, соединения с
>базой и другими сервисами единожды и использовать для все всех запросов
>без переопределения. Получал значительный выигрыш в производительности. Но для достижения этого
>вносились изменения в обычный cgi-script. А как php + fastcgi это
>разруливыает, как узнаёт что я хочу использовать повторно при следующем соединения,
>а что нет?
>http://ru2.php.net/manual/ru/function.mysql-pconnect.phpЧем поможет, скажем, при инициализации шаблонов из текстовых файлов? pconnect не из этой оперы и предназначен скорее для mod_php, чем для fcgi
>http://ru2.php.net/manual/ru/function.mysql-pconnect.phpВо первых, это уже изменение кода, а выше утверждалось что в этом нет необходимости.
Во вторых, это частный случай. Допустим у меня есть соединения (socket) с другими сервисами или использование внешних фидов (xml, txt), которые можно б было единожды инициализировать (загрузить) и больше не тратится на это.На перле это б выглядело так:
#!/usr/bin/perl
use strict;
use warnings;
use perl 5.8.8;use CGI::Fast;
my $data = Load_Big_Hash();
while(my $req=new CGI::Fast) { main(); }
sub main {
print "OK" if(exists($data->{$ENV{QUERY_STRING}}));
}А на PHP?
>Ваш вопрос прямо ставит меня в тупик =) Это совершенно разные технологии...
>В чем отличие между файерволлом и mod_access ?С помощью файерволла и mod_access можно управлять доступом к системе/сайту, но на разном уровне. Имеют как общие возможности (ограничить доступ по IP), так и разные (mod_access - доступ по логин/пароль, файерволла - шейп, ограничение количества конектов, размер и тип пакета ....).
А если сравнивать fcgi и eaccelerator для PHP, то принципиальной разницы не вижу: оба оптимизируют/ускоряют работу скриптов, в обоих случаях не нужно модифицировать код, а значит не возможности тонкого управления процессом оптимизации.