Akuma
@Akuma
Веб-программист

Какое время генерации страницы простого сайта на Symfony2?

Понимаю, что вопрос про коня в вакууме, поэтому чуть наполним вакуум:



Допустим есть главная страница блога.

На ней выводятся последние 10 постов (картинка + анонс), менюшка из БД.



В качестве сервера — VDS на 800Mhz (чуть ли не самый простой)



Продакшн режим симфонии с настройками из документации.

Набор нестандартных бандлов:

new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),<br>
new FOS\RestBundle\FOSRestBundle(),<br>
new FOS\UserBundle\FOSUserBundle(),<br>
new JMS\SerializerBundle\JMSSerializerBundle(),<br>


На сервере стоит APC — кеши через него.

В качестве ORM — Doctrine



Страница генерируется за среднее время 400мс (0.4 секунды), при этому кушая аж 23Мб памяти



Нормальное ли это время и потребление памяти? Засекается так:



$t1 = microtime(true);<br>
.....<br>
echo '<!-- '.(microtime(true) - $t1).' -->';<br>




Просто начинаю уходить от своего велосипеда в сторону удобств фрейморков, и привык. что у меня страницы генерируются ровно в 10 раз быстрее и кушают около 5Мб на таком же железе (рядом лежит). Стало как то… не по себе от таких запросов
  • Вопрос задан
  • 4588 просмотров
Пригласить эксперта
Ответы на вопрос 8
hell0w0rd
@hell0w0rd
Просто разработчик
Мне кажется дело в FOS, но я могу ошибаться. Сам эксперементирую с симфони и ставя админки с FOS на борту — работа сильно замедляется. Вообще у симфони есть веб-профайлер в стандартной поставке, он вам о многом расскажет.
Например отразит все запросы + из логов построит красивый график
Ответ написан
Комментировать
batment
@batment
Что для вас дороже: техника, количество которой на планете стремится к бесконечности, или ваше время, которое очень даже ограничено?
Ответ написан
Assorium
@Assorium
Вообще есть xDebug и Вы спокойно можете узнать, какой модуль есть больше всего
Ответ написан
@kirksa
Если вы используете composer, попробуйте composer dump-autoload -o для ускорения автозагрузки.
Ответ написан
@karser
Многовато кушает памяти, Для блога не больше 5-10 мб. Скорей всего используется app_dev.php.
У вас включен кэш? Точно используется фронт контроллер app.php (env=prod, debug=false, AppCache вместо AppKernel)?
Ответ написан
@faost
Посмотрите раздел Performance в документации. У меня, например, кэширование autoloader в APC повисило performance на 20% почти.

Ну и если у вас много контнета для не авторизованных пользователей ставьте varnish и все будет летать.
Ответ написан
Комментировать
alekciy
@alekciy
Вёбных дел мастер
В проектах больше шансов упереться в скорость отрисовки DOM браузера, чем во время генерации страницы. 0.4 сек конечно долго, но вполне допустимо. Это приемлема плата за готовый функционал фрейворка.

Если нет особых требований по железу и нагрузочной устойчивости приложения, то стоит использовать не задумываясь.
Ответ написан
Комментировать
aaverichev
@aaverichev
У меня приблизительно те-же цифры без кеширования отдельных контроллеров. Использую doctrine cache
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы