Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[14]: Бэкэнд вместо апача
23.06.06, Andrew Sitnikov<sitnikov@xxxxxxxxxx> написал(а):
Hello Nazarov,
NP> PHP-шные скрипты абсолютно прозрачно для них переносятся на работу с
NP> FastCGI-ным php - ибо это суть демон php-шного интерпретатора, ждущий
NP> запросов на выполнение скрипта....Это вот для C-шных программ,
это вы так думаете. на вскидку
- не будет работать http auth которая производится из скрипта (исправить это
можно но надо модифицировать либо скрипты либо сам PHP).
"HTTP-Аутентификация в PHP возможна только в том случае, когда он
выполняется как модуль веб-сервера Apache" (c) php.net...Да, согласен,
тут теряется немного масштабируемости...
- не будет возможности использоваться php_value/php_flag из .htaccess (можно
использовать php.ini но его perdir не сделать)
- значения в $_SERVER/$_ENV для одинаковых переменных (SCRIPT_NAME,
PATH_TRANSLATED, ...) могут отличатся.
Могут.....
- не будут работать запросы www.host.com/index.php/foo/bar
Смотря что вам надо, пардон...
- не будут работать запросы www.host.com/index (MultiViews в апача)
А причем тут именно php?Это фича апача, разумеется, её не
будет...Можно попробовать обойти через rewrite+if в nginx, но не
уверен в возможности оного, не смотрел условия в if...
NP> А преимущество nginx + php|fastcgi - сокращение использования
NP> памяти.....+
я уже писал про это, в реальной ситуации будет скорее всего обратный
эффект (без использования
сторонних программ управления процессами fcgi)
Стороннюю программу можно и не юзать, если подобрать количество
необходимых процессов для постоянной нагрузки...У меня php-шные демоны
потребляют 11000 / 5000 памяти каждый, апач же надо постараться до
такого довести...=) Впрочем, разумеется, соглашусь, что эффект
невелик.....
NP> апач ничего не знает до сих пор об kqueue|epoll,
php-fcgi тоже про них ничего не знает да и не нужно ему про них знать, 1
процесс параллельно не
может выполнять >1 скрипта.
У апача зато может, как я помню mod_worker....:)
NP> довольствуясь блокирующими accept()-ами на одном сокете.....
тоже самое и с fcgi
мне кажется многие не разделяют тут 2 проблемы. еще раз попробую сформулировать
свою мысль:
разницы если использовать в качестве backend для выполнения php скриптов в
случаи apache+mod_php или
php-fcgi нету ни какой. это установлено мною опытным путем. да и неоткуда ей
особо взяться, потому
что очевидно что overhead на обработку http запроса апачем по сравнению с fcgi
ничтожен по сравнению
с тормозами самого php, обращения php к базе и т.д.
Тут не поспоришь....:) Впрочем, будет время - потестю....
про отдачу статики речь не идет совсем. понятно что ее отдавать надо при
помощи nginx, только вот
намного проще и дешевле при таком переходе оставить в качестве backend mod_php.
Согласен...
допускаю если проект создается в 0 и используется выделенное железо
есть смысл
подумать о fcgi но при этом надо понимать что вы получите (1-2% экономии CPU) и
чего потеряете.
И еще немного памяти....Впрочем, она дешевая.....
--
Best regards,
Andrew mailto:sitnikov@xxxxxxxxxx
--
---
Nazarov Paul, BMSTU
|