- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
apache-worker действительно существенно шустрее будет, но для большинства пользователей он не подходит. Думаю понимаете почему.
Насколько я понимаю, создатель темы - существенно более опытный человек, чем большинство пользователей.
А вообще APC + php-fpm это прелесть!
Уточните, пожалуйста, правильно ли я понял, у Вас уже давно работает в "боевом" применении APC + php-fpm с несколькими пулами?
А server-status от nginx чем не устраивает? На мой взгляд если атакующие запросы добрались ВСЕ через nginx к апачу, то уже "поздно пить боржоми". Если вы действительно используете сервер-статус от ф5 то откройте для себя изучить limit_req zone от nginx и не тратить время на сервер-статус для тех случаев когда сервер способен качественно выполнить вашу работу сам, автоматически.
К сожалению, у nginx нет ничего даже отдаленно похожего на апачевский расширенный server-status. Или я что-то пропустил и появилось в последние несколько месяцев? У nginx есть nginx_status, информативность которого, увы, оставляет желать лучшего.
Естественно, limit-модули от nginx я использую. Но server-status - это не маханизм защиты от чего-либо, это - один из механизмов анализа того, что происходит в системе в критической ситуации. Причем, очень удобный маханизм.
У php-fpm тоже есть статус, но пользоваться им крайне неудобно и до информативности server-status ему далеко. Или я что упускаю?
---
Victor
Уточните, пожалуйста, правильно ли я понял, у Вас уже давно работает в "боевом" применении APC + php-fpm с несколькими пулами?
Совершенно верно.
К сожалению, у nginx нет ничего даже отдаленно похожего на апачевский расширенный server-status. Или я что-то пропустил и появилось в последние несколько месяцев? У nginx есть nginx_status, информативность которого, увы, оставляет желать лучшего.
Естественно, limit-модули от nginx я использую. Но server-status - это не маханизм защиты от чего-либо, это - один из механизмов анализа того, что происходит в системе в критической ситуации. Причем, очень удобный маханизм.
У php-fpm тоже есть статус, но пользоваться им крайне неудобно и до информативности server-status ему далеко. Или я что упускаю?
Каждый администрирует так как ему удобно. Но лично я не вижу в сервер-статус ничего того что действительно помогло бы отразить атаку. При использовании лимитов в nginx при большинстве атак статус не покажет реальной картинки, так как 90% будет отрезаться фронтедом. А если на сервере несколько высокопосещаемых сайтов (например баннерка), вы в статусе просто не сможете отделить ботов. Без использования ограничений картинка конечно будет интереснее, но это изначально неверный подход. Ну а вывести любую информацию по запросам всегда можно из логов. Для удобства написать 2-3 парсера логов, чтобы было под рукой готовое.
---------- Добавлено 13.09.2013 в 09:24 ----------
Насколько я понимаю, создатель темы - существенно более опытный человек, чем большинство пользователей.
Здесь проблема не в мастер-классе, а в особенностях работы апача при необходимости использовать несколько пользователей.
Уточните, пожалуйста, правильно ли я понял, у Вас уже давно работает в "боевом" применении APC + php-fpm с несколькими пулами?
Совершенно верно.
Так это ж отлично, насколько помню, раньше тут были проблемы. Это еще один плюс в пользу php-fpm.
Каждый администрирует так как ему удобно. Но лично я не вижу в сервер-статус ничего того что действительно помогло бы отразить атаку.
...
Я ж не спорю, не собираюсь Вас, или кого другого ни в чем переубеждать. Вы не видите пользы в server-status, для Вас этот механизм бесполезен. Но, раз эти вопросы ставятся и обсуждаются в админских рассылках, есть люди, для которых это полезный механизм, наличие которого нужно учитывать при принятии решения о смене способов запуска php.
Вы высказали свое мнение, я - свое, это именно то, о чем просил создатель ветки.
---
Victor
Jovian, Вы меня простите, ни в коим случае не хочу задеть Вас, но, по идее, перед человеком, "который явно умеет всё через SSH" не должен вообще ставать такой вопрос.
Верно говорите, однако есть ещё такие штуки, как лень и целесообразность. :)
Вот поэтому я и создал тему -- узнать/убедиться/решить, стоит ли вообще заморачиваться и уходить от привычной мне связки Nginx+Apache.
И, говоря, что я "умею всё через SSH", я ни в коем разе не имел в виду, что являюсь супер-пупер (и даже рядом) всезнайкой в серверном администрировании. ;) Я имел в виду, что ту ерунду, что настраивается через панельки, -- базовые конфиги -- я так же легко могу настроить и вручную.
- урверждение: "навляд ли одна prefork-технология запуска php может быть столь-либо существенно быстрее другой". Солласны? Нюанс: а потестировать для сравления apache-worker vs php-fpm? Apache-worker говорят, давно вполне стабильна, по некторым тестам, в частности, на Соляре, чуть ли не в два раза быстрее apache-prefwork. Я бы сам с удовольствием прочитал об опыте "боевого" использования apache-worker (мечтательно так).
А что с ресурсами? Моё желание уйти от Апача обусловлено именно хвалёной ресурсоэффективностью php-fpm и Nginx.
- вопрос раз: представить современный сколь-либо нагруженный проект без кеширования опт-кода уже сложно. php-fpm уже умеет использовать один пул какого php-опт-кешера для нескольких своих? Проблем с этим уже нет?
А вот в этих кэшах я НУБЪ. :)
Поставил на один серв PHP5.5, так там теперь, на сколько я понял, ZenderOptimizer+ внутри изначально. PHP-APC уходит в сторону...
- и вопрос номер два, лично для меня самый существенный. Не секрет, что серьезные проекты периодически ддосят, и что 98% таких "ддосов" (в кавычках) - школьники с залипшей клавишей F5. В этой ситуации апачевский server-status - самое то, что нужно. У php-fpm уже есть настолько простой и наглядный статус, как апечевский server-status?
Никогда с этим не сталкивался и ничего об этом не знаю... Брут какой-нить админки - да, как и все. Но там всё просто.
От апача отказался лет 6 назад.
Сначала перешёл на лайти, но потом перелез на nginx + php-fpm + xcache
24 гига mysql база, около 100млн страниц и около 200к уников в сутки. Плюс какое-то адово количество запросов от всяких гуглояхуяндексов.
И всё это крутится на 5-летнем серваке, даже не помню с какими 2мя ксеонами и 12 гигами памяти. Правда харды 15-шки сасовские. Загрузка около единички.
Скоро сервак менять буду, но только по причинам простой предосторожности. Гарантия на харды заканчивается, да и ещё туда сайтов подгрузить хочу :D
Skom, долгое время использовал xcache. Только недавно перешел на apc. Не жалею.
Skom, долгое время использовал xcache. Только недавно перешел на apc. Не жалею.
Ну, у меня причин искать альтернативы пока не было, посему и не дёргаюсь.
Но server-status - это не маханизм защиты от чего-либо, это - один из механизмов анализа того, что происходит в системе в критической ситуации. Причем, очень удобный маханизм.
У php-fpm тоже есть статус, но пользоваться им крайне неудобно и до информативности server-status ему далеко. Или я что упускаю?
---
Victor
Дак server-status обычный парсер логов. Такой функционал можно написать и самому.
Например можно придумать такое: tail -10000 /var/log/nginx/access.log | awk '{print $1}' | cut -d: -f1 | sort | uniq -c | sort -nr > /root/botnet.list
и дальше уже самых "живеньких" кидать в drop + в вайт лист можно поисковиков добавить 😂. Вообще с помощью grep, awk, sort можно делать всё что угодно, и тут функционала больше чем в сервер-статус.
А что с ресурсами? Моё желание уйти от Апача обусловлено именно хвалёной ресурсоэффективностью php-fpm и Nginx.
Давайте, для начала, так:
1) Что сравлниваем?
Скорее всгего, речь должна идти о сравнении "nginx + apache" и "nginx + php-fpm". Поскольку nginx есть в обоих случаях, сравнивать нужно, или корректно
- сравнивать способ работы php: mod_php и php-fpm.
И в первом, и во втором случае используется prrefork-модели запуска php, следовательно, оно и по скорости, и по ресурсам будет на практике, почти, один в один.
- сравнить Апач и php-fpm.
Если в апаче оставить необходимые и достаточные для работы большинства популярных CMS, 5 - 6 модулей, он, с большой долей вероятности, будет кушать незначительно, но больше памяти, чем php-fpm, при этом останется чуток более функцональным и чуть более быстрым.
2) По каким именно ресурсам сравнивать?
По использованию процессора? Думаю, php-fpm будет использовать CPU меньше - меньше функциональность, ниже скорость. Но, совсем незначительно, возможно, в приделах погрешности измерений.
Память? Апач с 5 -6 модулями - памяти будет кушать больше php-fpm, но несущественно.
В наши дни память стоит - недорого.
Дополнительно платить за память и проц облачному/виртуальному провайдеру или упустить несколько дополнительный клиентов и шанс получить несколько ниже позицию в выдаче ПС за счет хоть и незначительного, но снижения скорости работы сайтов - решает каждый за себя.
Есть еще и другие ресурсы: время настроки систем, время внесения изменений в настроки, безопастность, универсальность, однотипность и т.п. Привычность, в конце концов, и лень (в положительном понимании - как двигатель прогресса :) ).
В виде выводов:
1. по моему (субьективному) мнению, ни nginx+apache, ни nginx+php-fpm не обладают существенными преимуществами один относительно другого. Иначе, одна технология начала бы активно вытеснять другую, чего, вроди, не наблюдается.
2. Если для Вас очень важен один из парметров, тестируйте оба варианта именно на Вашем конкретном приложении и сравлнивайте результат, иначе будет сплошная теория.
Если для Вас параметры, на которые незначительно может повлиять то или иное решение, не очень важны - используйте то, что для Вас более привычно.
P.S. Что бы избежать холивара и в виде отказа от ответстенности: утрверждение о том, что mod_php быстрее php-fpm основано на серии личных тестов, примерно, годичной давности. Ни само утверждение, ни область его применения, на корректность этих тестов ОБСУЖДАТЬСЯ НЕ БУДУТ. То есть, Вы враве считать это моими заблуждениями, моей ограниченостью и тупостью. Ищите в и-нете результаты аналогичных публичных тестов, ставьте свои собственные, без каких либо аргументов утверждайте что "php-fpm быстрее, потому что все об этом так пишут" - это Ваше право. То есть, "каждый имеет право на свои заблуждения", и я - не исключение.
Если честно, я вообще не хотел об этом упоминать, в первую очередь, что бы избежать накала страстей.
---
Victor
VGrey, зарезал правду-матку. :)
Спасибо. ;)