[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что нужно для nginx+php-fpm?
kirik
Дорос я до nginx (апач совсем на шею сел) smile.gif
Читал кучу обзоров, сравнений, статей, и просто холиворов на тему что лучше apache+mod_php или nginx+apache+mod_php или таки nginx+php-fpm. Пришел к выводу что последняя связка смотрится немного удобнее и выгоднее.
Отсюда вопрос, так как я с php-fcgi близко дела не имел - нужно ли как-то специально писать код для него? В статьях, которые я читал, попадались обрывки фраз что "ничего менять не нужно", но хотелось бы услышать четко smile.gif

Спасибо!



Спустя 12 дней, 12 часов, 54 минуты, 39 секунд (27.04.2011 - 19:07) liw написал(а):
Я конечно понимаю что тема уже наверное не актуальна, но всё же оставлю тут запись, вдруг кто прийдёт из поиска.

Да действительно менять ничего не нужно.
Единственное по умолчанию ошибки валятся в лог а не в браузер. И nginx любит выдавать 502 при косяках FPM.

Не думаю что будет ощутимое увеличение производительности - если достаточно ресурсов было апачу.

Встречный вопрос: на сколько увеличилась производительность, - если уже перешёл, и если вообще замерял конечно?

Спустя 3 часа, 11 минут, 25 секунд (27.04.2011 - 22:19) kirik написал(а):
Цитата (liw @ 27.04.2011 - 12:07)
на сколько увеличилась производительность, - если уже перешёл, и если вообще замерял конечно?

На продакшене ещё апач стоит, а локально проводил синтетические тесты с помощью ab (apache benchmark). При небольшом количестве запросов (100, при 10 конкурентных) разницы никакой нет. Чем больше запросов, тем больше начинает выигрывать fpm; как по скорости так и по памяти. Там где apache создает под 50 воркеров (если поставить ограничение в конфиге, то он тупо не сможет обслужить всех) и при этом отдает страницу с 2х секундной задержкой, php-fpm работает при 10 воркерах и отдаёт страницу как будто бы и нет никакой нагрузки. Вобщем по тестам fpm круче. Как запущу на основном сервере, отпишу сюда результаты.

Спустя 1 час, 9 минут, 32 секунды (27.04.2011 - 23:28) Arni написал(а):
На тестовый сервер поставил и то и другое. Связка nginx+php-fpm чувствительна к утечкам памяти из за незакрытых соединений с базой данных , или просто банальное нежелание уничтожать переменные или объекты, которые жрут память по взрослому. Проще говоря, то на что можна забить в пхп как модуль апаче, нельзя игнорировать в php-fpm. Также, бяка с ЧПУ. Ибо .htaccess упс, нету. Можна сделать, если всетаки запустить апача через прокси, nginx как на передовую. Выиграш будет ли? Еще какой! Но, это все еще в тесте, и торопиться не стоит. И я уверен что апача списывать тоже не стоит. Ну не дураки же они. И не зря они приутихли. Я уверен они ощутили дыхание конкурентов в затылок, (а в целом то ктоего знает, может в затылок уже дышит и сам апаче великий.), потому, есть вероятность что разработчики апаче ответят nginx не хуже. В любом случае привязка к формату .htaccess в данный момент настолько сильна, что рискнуть не предоставить такую возможность клиенту, врятли позволит себе хоть один хостер провайдер. И вам спешить не советую.

Спустя 6 часов, 23 минуты, 25 секунд (28.04.2011 - 05:52) liw написал(а):
Arni

Спешить? Да уже море серверов под nginx крутится.
Привязка к .htaccess нужна только для shared хостинга. Nginx для других целей, и тем кто им пользуется нафиг не нужен .htaccess.
С ЧПУ - проблемы? - да с чего бы. - Ниразу не слышал о невозможности перенести .htaccess apache в конфиг nginx.
Правда обычно как раз из за нежелания с ним возиться apache остаётся на backend - тут конечно действительно удобно, практически ничего не меняя ставить nginx впереди.

Исключение составляют сервера, где что то жёстко привязано к модулям апача конечно.

kirik
Хорошо спасибо буду знать, ибо nginx то стоит давно, а вот тестов не проводил, ибо сейчас всего с запасом, и я думаю тут и apache бы легко тянул.
Встречал где то тест, в котором сравнивались apache 1.x, 2.x mod_apache,fastcgi nginx + fpm
так вот там, всё шло примерно поровну (про расход памяти при этом не скажу, не помню) (жаль сейчас ссылку уже не найду)

Спустя 1 час, 2 минуты, 36 секунд (28.04.2011 - 06:54) kirik написал(а):
Цитата (liw @ 27.04.2011 - 22:52)
про расход памяти при этом не скажу

Расход для одного процесса не сильно разнится, но количество воркеров у апача больше, при более медленном обслуживании. Я не знаю в чем именно разница, может быть fpm более грамотно распределяет задачи между воркерами.
Но опять, синтетический тест это не есть настоящая нагрузка..

Arni
htaccess это одновременно и плюс и минус: плюс - есть возможность realtime настройки, минус - скорость работы конфигурации, прописанной в htaccess гораздо ниже чем тоже, но прописанное напрямую в конфиг апача.
Как уже сказал liw для шаред хостинга прокатит, а для своего сервера держать апач только ради htaccess - роскошь. Тем паче конфиг nginx намного более гибкий чем апачевский (и еще есть куча полезных плюшек типа ресайза картинок и кэширования оных на определённое время).

Цитата (Arni @ 27.04.2011 - 16:28)
Связка nginx+php-fpm чувствительна к утечкам памяти из за незакрытых соединений с базой данных , или просто банальное нежелание уничтожать переменные или объекты, которые жрут память по взрослому.

Можно в конфиге прописать чтобы воркер перезапускался после n операций, тогда память будет возвращаться. Но конечно, всегда стоит следить за расходом памяти (unset, *_free_result).
Цитата (Arni @ 27.04.2011 - 16:28)
есть вероятность что разработчики апаче ответят nginx не хуже

Будет ответ, будем тестить его smile.gif Кстати lighttpd тоже шустрый, но у nginx больше фишек на борту.

Спустя 3 часа, 2 минуты, 30 секунд (28.04.2011 - 09:57) Arni написал(а):
Цитата (liw @ 28.04.2011 - 02:52)
Спешить? Да уже море серверов под nginx крутится.
Привязка к .htaccess нужна только для shared хостинга.

Да верно, и на наших серверах тоже стоит nginx, но в связке с апаче, ибо не могу еще отказаться от его присутствия. И многие еще очень многие не смогут себе это позволить. Причину я уже озвучил выше. Аналог мод реврайт в nginx конечно же есть. Но правила эти пишутся в конфиге хостов. Вы дадите всем кому не лень там поковыряться? Вот именно что нет. Если сервер ваш, и вы хотите что-то заточить под свои нужды то вам никто в этом не помешает. А вот на хостинге, такого вам сделать не дадут. Ибо нефиг.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.