У меня есть сайт, развернутый как на Windows Server 2012, так и на ubuntu 14.04, и есть значительная разница в производительности. База кода и данные БД абсолютно одинаковы.
Среда Windows
Linux
На обоих сайтах включен OpCache.
Время выполнения (единственное время выполнения PHP, исключая весь сетевой трафик)
Что мы замечаем в Windows, так это почти 100% пик загрузки ЦП и пик чтения ввода-вывода 3-4 МБ при загрузке одной страницы.
Я уже сталкивался с различными сообщениями в Stackoverflow о производительности php в Windows, но мы уже применили / протестировали предложения из этого сообщения, чтобы не было avil
Любой совет будет принят во внимание!
Наконец получил ответ на это
Разница в производительности связана с тем, что функция php is_dir () ужасно работает в Window
Test1: запустите простой скрипт, чтобы выполнить цикл 1000 раз, чтобы вызвать is_dir ()
Test2: профилируйте код с помощью xdebug, а is_dir () занимает первое место в списке для максимального времени выполнения
Некоторые другие ссылки также указывают на ту же проблему https://github.com/facebook/hhvm/issues/4431
Надеюсь, этот пост поможет другим столкнуться с той же проблемой.