Задать вопрос
Fesor
@Fesor
Full-stack developer (Symfony, Angular)

Скорость работы PHP в Windows. Отчего так медленно?

Собственно пару месяцев назад случилось так, что пришлось развернуть Apache непосредственно под Windows (Windows 8). Раньше работал под виртуальной машиной с Debian и все было более менее нормально.


Работая с проектами на Symfony2 столкнулся с приличным прогибом производительности. Профайлер показал что дольше всего отрабатывали функции preg_match, file_exists и PDO. Проблемы с PDO удалось решить указав в качестве хоста непосредственно IP адрес, но вот с file_exists и preg_match проблемы остались. Выполнение этих функций занимает порядка 40%-50% отработки скриптов.


Причем на машине с ubuntu/debian профайлер никаких аномалий не показывает да и вообще код отрабатывает в десятки раз быстрее (0,3 секунды против 3-4 секунд на Windows).


В порядке эксперимента сегодня установил Debian под виртуальной машиной на том же разделе, где находится код проекта. Сделал замеры производительности и оказалось что под управлением Debian, даже в виртуальной машине, прирост производительности в PHP достигает 300% а для MySQL запросы выполняются в 2 раза быстрее.


Система чистая, ничего особо не изменялось в настройках. Все (от Windows до виртуальной машины) размещено на SSD. Меня лично удивляет настолько низкие показатели производительности. Возможно что-то не так именно у меня, посему интересует сталкивался ли кто с таким и как лечится.
  • Вопрос задан
  • 5433 просмотра
Подписаться 6 Оценить 4 комментария
Ответ пользователя BoneFletcher К ответам на вопрос (6)
BoneFletcher
@BoneFletcher
Мне помогла покупка SSD-диска. С использованием APC, в prod окружении запрос идет 200ms, в dev — 1000ms.
До замены стоял ноутбучный 2.5" 5400 об/мин — запрос в dev окружении (с использованием APC) выполнялся 5-8 секунд.
Ответ написан
Комментировать