Производительность Joomla на IIS

8

У нас есть веб-сайт, который размещен на сервере IIS 7.5.

У нас есть копия того же сайта на сервере Apache2.2 / Centos 6.x.

В IIS сайт работает медленнее (примерно в два раза дольше или даже больше), и до сих пор мы не смогли улучшить время отклика сервера и / или скорость сайта в целом (внешний и внутренний интерфейсы).

Я не знаю об IIS, поэтому было сложно узнать, что делать (для меня).

Пока что мы попробовали:

  • Некоторая настройка MySQL
  • Включение сжатия Gzip безуспешно.
  • Расширение Jotcache (работает, но сайт работает медленнее, чем на Apache)
  • Отключение или удаление ненужных расширений.
  • JCH Optimize Pro
  • Нет кеша PHP (есть идеи?)

Я предполагаю, что нам нужно / должно работать с конфигурацией server / php / mysql, однако я не знаю, есть ли что-то особенное, что мы должны сделать, чтобы улучшить производительность на IIS и сделать ее настолько быстрой, насколько это возможно на apache , Что мы можем сделать, чтобы улучшить производительность на IIS?

В настоящее время время отклика нашего сервера превышает 1,5 секунды на веб-сайте IIS и около 0,4 секунды на Apache.

Shaz
источник

Ответы:

3

Имейте в виду, что PHP обычно медленнее в Windows, чем в Unix-подобных операционных системах. Все стало лучше с новой версией (обновление!), Но разница все еще ощутима.

Тем не менее, есть два больших шага, которые нужно предпринять при оптимизации производительности PHP ваших серверов:

  1. Используйте FastCGI

    Хотя fpm работает только в Unix, FastCGI также работает с IIS под Windows. Вот руководство от самой Microsoft о том, как это сделать: http://www.iis.net/learn/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php

  2. Используйте кэш Opcode

    Снова Microsoft предлагает вам расширение WinCache .

Если после этих шагов у вас все еще есть проблемы с производительностью, я рекомендую профилировать версию для Windows и Linux. Вы можете использовать xhprof или Xdebug . Попробуйте выяснить, есть ли у вас проблемы с производительностью PHP или MySQL. Другой тест, который вы можете сделать, - это обслуживание обеих копий с одного и того же сервера базы данных (должен быть третий сервер). Это быстро скажет вам, есть ли у вас проблема с PHP или MySQL.

Рувен Веслинг
источник