Привет, %username%.
Сегодня подниму вопрос о использовании Zend компонентов на production в highload проектах.
Проблема в том, что Zend достаточно тяжелый продукт, он содержит море классов. При оценке производительности приложения выясняется, что львиную долю времени занимают "инклуды" классов Zend .
Есть соответствующий вопрос на stackoverflow.
Решение - удалить все инклуды и использовать механизма аутолодинга. Это поможет сделать следующий скрипт. Он взят с официального сайта .
После того, как сделал, стало чуть по легче.
Если всё-равно проблема остается, то весь Zend сливают в один файл. Кстати, некоторые аутолоадеры так и поступаю, при первом пробеге кешируют результат.
На этом всё. Спасибо за внимание.
Сегодня подниму вопрос о использовании Zend компонентов на production в highload проектах.
Проблема в том, что Zend достаточно тяжелый продукт, он содержит море классов. При оценке производительности приложения выясняется, что львиную долю времени занимают "инклуды" классов Zend .
Есть соответствующий вопрос на stackoverflow.
Решение - удалить все инклуды и использовать механизма аутолодинга. Это поможет сделать следующий скрипт. Он взят с официального сайта .
#!/bin/sh # see http://framework.zend.com/manual/en/performance.classloading.html#performance.classloading.striprequires.sed # see http://test.ical.ly/2011/02/24/using-zend-framework-components-in-a-symfony2-project/ # # symfony 2.0 vendors cd ./vendor/zf/library find . -name '*.php' -not -wholename '*/Loader/Autoloader.php' \ -not -wholename '*/Application.php' -print0 | \ xargs -0 sed --regexp-extended --in-place 's/(require_once)/\/\/ \1/g'
После того, как сделал, стало чуть по легче.
Если всё-равно проблема остается, то весь Zend сливают в один файл. Кстати, некоторые аутолоадеры так и поступаю, при первом пробеге кешируют результат.
На этом всё. Спасибо за внимание.
Комментариев нет:
Отправить комментарий