Сегодня мы с Максимом пытались найти причину любопытного факта.
У него на Linux обычная страница нашего Корпоративного портала работает 0.05 секунды, а у меня на ноутбуке на Windows Vista 0.5-0.7 а то и больше.
Да, комп у него сильный, но вычислительно только в два раза примерно быстрее. Ну не в десять же раз должно быть отличие!
В чем отличие работы PHP под Windows? почему такие тормоза?
Опущу эксперименты и рассмотренные варианты.
В результате выяснилось, что в PHP есть параметр
realpath_cache_size=16k
Оказалось, что функции работы с файлами PHP для Windows работают настолько медленно, что приводят к заметному уменьшению производительности приложения. Причем при такой же настройке Linux похоже сам кеширует намного более эффективно и обеспечивает быструю работу PHP. Заглядывание в исходники PHP показало, что для UNIX и Windows совсем разные обработки реализованы.
В результате указав
realpath_cache_size=2048k
время исполнения страницы на моем ноутбуке уменьшилось с 0.5-0.7 до 0.14-0.2 секунды.
Вот так вот. Мы отразим это в настройках нашего Веб-окружения.
Если вы используете PHP на Windows, найдите работающий php.ini и поменяйте в нем параметр. В нашем Веб-окружении нужно поменять файл php.ini.nooci и перезапустить веб-окружение.
У него на Linux обычная страница нашего Корпоративного портала работает 0.05 секунды, а у меня на ноутбуке на Windows Vista 0.5-0.7 а то и больше.
Да, комп у него сильный, но вычислительно только в два раза примерно быстрее. Ну не в десять же раз должно быть отличие!
В чем отличие работы PHP под Windows? почему такие тормоза?
Опущу эксперименты и рассмотренные варианты.
В результате выяснилось, что в PHP есть параметр
realpath_cache_size=16k
Determines the size of the realpath cache to be used by PHP. This value should be increased on systems where PHP opens many files to reflect the quantity of the file operations performed. |
Оказалось, что функции работы с файлами PHP для Windows работают настолько медленно, что приводят к заметному уменьшению производительности приложения. Причем при такой же настройке Linux похоже сам кеширует намного более эффективно и обеспечивает быструю работу PHP. Заглядывание в исходники PHP показало, что для UNIX и Windows совсем разные обработки реализованы.
В результате указав
realpath_cache_size=2048k
время исполнения страницы на моем ноутбуке уменьшилось с 0.5-0.7 до 0.14-0.2 секунды.
Вот так вот. Мы отразим это в настройках нашего Веб-окружения.
Если вы используете PHP на Windows, найдите работающий php.ini и поменяйте в нем параметр. В нашем Веб-окружении нужно поменять файл php.ini.nooci и перезапустить веб-окружение.