Назад | Перейти на главную страницу

PHP в Windows как Fast-CGI (IIS против Apache)?

В настоящее время у нас есть веб-сервер Windows. Он запускает Apache и PHP как модуль. Сам сервер - чудовище, но PHP плохо работает в среде Windows при установке в качестве модуля Apache, и мы сталкиваемся с этим на собственном опыте.

В любом случае, в эти выходные я планирую перенастроить сервер для установки FastCGI вместо этого, и я собирался использовать IIS7 вместо Apache. Проблема в том, что у нас есть много сайтов, настроенных с файлами .htaccess, и мы не были заинтересованы в их очистке, чтобы сайты работали правильно в IIS.

Мой вопрос: кто-нибудь знает, имеет ли PHP, установленный как FastCGI на Apache, скорость, сопоставимую с IIS? Вы можете прочитать в Интернете, насколько быстрым является PHP на IIS, но теперь мы рассматриваем возможность использования Apache для облегчения перехода.

Если Apache не будет хорошим вариантом, я думаю, мы сделаем маршрут IIS и просто исправим неисправные сайты, но мы как бы хотим избежать этого, если Apache даст нам сопоставимую производительность с использованием Fast-CGI.

Что вы думаете?

После тестирования mod_php был безусловно самым быстрым, а mod_fcgid - вторым.

IIS был медленнее Apache с заметной разницей.

Если кто-то и нажимает на это из поиска Google, наша проблема с медлительностью связана с нашим подключением к базе данных с использованием localhost, а не 127.0.0.1. Начиная с Windows Server 2008, localhost больше не находится в файле hosts (закомментировано) и вместо этого разрешается через преобразователь DNS, который, по-видимому, довольно медленный.

IIS намного безопаснее, чем Apache в Windows. Узнайте, от имени какого пользователя Apache будет запускать PHP, и насколько он изолирован. А затем проверьте это с помощью IIS. Также вы можете скомпилировать этот код с помощью Phalanger, что очень удобно для тестов.