Какая интерпретация PHP быстрее на 32-битной Ubuntu Server 12.04, Apache или Nginx?

В настоящее время я установил Apache на свой 12.04 32-битный сервер Ubuntu, но мне интересно перейти на Nginx. Я прочитал ряд сравнений и обзоров, где Nginx работает быстрее, чем Apache, обслуживающий статический контент, но они не охватывают производительность PHP.

Вот мой вопрос: Как Nginx сравнивается с Apache в отношении производительности обработки PHP? Nginx также быстрее для PHP?

6
задан 16 February 2014 в 09:49

4 ответа

Обычно говорят, что nginx работает быстрее, когда много статического контента, а количество пользовательских запросов велико. Если у вас небольшой веб-сайт, вы можете выбрать свой веб-сервер. Но чтобы ответить на сам вопрос, разница в самой обработке PHP должна быть незначительной.

0
ответ дан 16 February 2014 в 09:49

Вы можете использовать nginx, он очень быстрый по сравнению с Apache2 со статическим и динамическим ботом, а время отклика также быстрее других

Он также отлично работает с php, rails и другими скриптовыми языками.

0
ответ дан 16 February 2014 в 09:49

Nginx с PHP-FPM, как правило, быстрее, чем Apache с mod_php, но в результате повышение производительности зависит от среды (сложность кода PHP, пользователи / нагрузка, оборудование и т. Д.), Где вы развертываете свое решение или веб-приложение. .

Нам нужно глубже вникнуть в веб-серверы, чтобы понять, почему нет простых сравнений производительности PHP для веб-серверов.

Поддержка PHP в Nginx

Apache использует mod_php для интерпретации кода PHP. Lighttpd , конкурент Nginx в первые дни, использовал свою собственную spawn_fcgi (еще одну реализацию FastCGI ) для повышения скорости и позволил обслуживать больше пользователей с такими же или меньше ресурсов как у Apache. Таким образом набирает популярность.

Nginx немного отличается от Lighttpd. На сегодняшний день Nginx поддерживает множество функций и может быть настроен на работу spawn_fcgi, но он никогда не был так тесно связан с ним, как Lighttpd. Это позволило переосмыслить поддержку PHP для веб-серверов и, вероятно, привело к проекту FastCGI Process Manager (PHP-FPM).

PHP-FPM доступен в Ubuntu через пакет php-fpm по состоянию на 12.04. Пакет Ubuntu поставляется с предварительно сконфигурированным, но стоит почитать о том, как точно настроить параметры пула для ваших нужд (особенности: сложность кода, доступная память и мощность процессора, время выполнения). Также доступны руководства, в которых объясняется, как настроить выделенные пулы для различных приложений, что повышает не только производительность, но и безопасность. Если вы заботитесь о производительности, вам нужно время, чтобы ознакомиться с основными компонентами вашего нового стека серверов.

Конфигурирование Nginx

Пожалуйста, прочтите документацию по Nginx в англоязычном вики-проекте . Я нашел, что это очень полезно для понимания того, как настроен Apache, почему Nginx делает вещи по-другому (например, if - зло ) и как вы достигаете улучшения скорости с Nginx.

Если вы замените Apache на Nginx и попытаетесь настроить его так же, как Apache, вы не получите большого улучшения скорости, иначе ваша конфигурация просто не будет работать.

Nginx в основном стремится уменьшить сложность, в то же время предоставляя широкий набор функций.

И кто сказал, что вы не можете запустить Apache за Nginx?

0
ответ дан 16 February 2014 в 09:49

Вот сравнение между Apache и Nginx, перечисляющее некоторые преимущества и недостатки.

Apache, напротив, подходит к большому количеству запросов, раскручивая больше процессов для их обработки, обычно занимая при этом много оперативной памяти. А иногда Apache начинает беспокоиться о размерах своего продукта. Apache доступен в репозиториях пакетов Ubuntu с быстрым sudo apt-get install apache2.

  • Apache, самый современный веб-сервер на сегодняшний день и поддерживает больше сайтов в сети, чем любой другой сервер.
  • Apache - это установленный, гибкий веб-сервер, на который полагаются многие клиенты уровня предприятия для предоставления как динамического, так и статического контента.
  • Apache может работать в различных операционных системах, поддерживается в хорошем состоянии, и его повсеместное распространение означает, что существует значительный объем пользовательской документации.
  • Apache потребляет больше памяти при высоких нагрузках на сервер, что может привести к снижению производительности.
  • Из-за того, насколько он надежен, Apache также имеет размер, что приводит к большему потреблению памяти.

Nginx (произносится «engine-ex») - это легкий веб-сервер с репутацией скорости, скорости, скорости. Он принципиально отличается от Apache - Apache является приложением, управляемым процессами и потоками, но Nginx управляется событиями. Практический эффект этого конструктивного различия состоит в том, что небольшое количество «рабочих» процессов Nginx может пахать через огромные стеки запросов, не ожидая друг друга и не синхронизируя; они просто «закрывают глаза» и едят слона пословиц так быстро, как они могут, один укус за раз.

  • Nginx разработан, чтобы быть простым и легким, и требовать меньше аппаратных ресурсов, чем другие веб-серверы. Это происходит частично благодаря использованию модели обработки на основе событий, которая, как правило, требует меньше памяти, чем использует сервер на основе процессов.
  • Nginx быстро обслуживает статические веб-страницы.
  • Nginx новее, документации и поддержки меньше по сравнению с более устоявшимися веб-серверами.
  • Облегченная конструкция также означает, что его может быть сложнее настроить, что может потребоваться для больших или сложных конфигураций.

Разница кратко суммируется в цитате Криса Ли о том, зачем использовать Nginx? страница: «Apache похож на Microsoft Word, у него миллион вариантов, но вам нужно только шесть. Nginx выполняет эти шесть задач, и пять из них в 50 раз быстрее, чем Apache». Apache, оба являются программным обеспечением с открытым исходным кодом, и в обоих лагерях есть сообщество активных сторонников. Nginx доступен в репозиториях пакетов Ubuntu с быстрым sudo apt-get install Nginx.

В конце концов, веб-серверы Nginx и Apache являются надежными решениями, хотя каждый из них имеет свои сильные стороны в определенных ситуациях. Основными преимуществами Nginx являются быстрое обслуживание статических веб-страниц и незначительное потребление памяти и аппаратных ресурсов. Apache - установленная и универсальная рабочая лошадка с обширной доступностью модулей и документацией. В зависимости от потребностей вашего бизнеса и технических требований, то одно или другое, или даже их комбинация, может быть правильным для вас.

Надеюсь, что это поможет.

Источник: Lee Hutchinson & amp; Лукаш Куджава

0
ответ дан 16 February 2014 в 09:49

Другие вопросы по тегам:

Похожие вопросы: