Ответы пользователя по тегу CakePHP
  • Какова производительность CakePHP?

    eox425
    @eox425
    Как уже писал комрад opium, xprof — отличная тулза для профилирования РНР приложений.
    Если вас интересует субъективное мнение и особенности архитектуры…
    В принципе самым слабым местом существующих РНР фреймворков является реализация ORM, кэширования и шаблонизации.
    По личному субъективному опыту могу сказать что Yii и Symfony2 имеют самые эффективные реализации этого стафа.
    Но у Symfony2 намного более развита инфраструктура, комьюнити… и в целом он для меня намного удобней.
    По поводу того что Symfony медленее Yii могу лишь сказать что только в dev mode, в продакшене разницы особо не чувствуется. CakePHP по производительности почти догоняет kohana. В большинстве случаев на производительность самого фреймворка влияет использование Dependency Injection и других паттернов, а также немного паттерн самого ORMа — Active Record или Object Mapping.

    APC не тортъ. Лучше если вы возьмете xcache и будете кэшировать в нем байткод приложения и запросы к базе.
    memcached не тортъ для кэширования запросов БД если у вас только одна машина. Т.е. memcached хорошо использовать в кластере. В остальных случаях xcache быстрее так как он реализован в виде плагина к РНР.

    Не раз был свидетелем мем. лика memcached… не забывайте задавать ttl объектов в кэше! Это довольно распространенная ошибка. Реализовуйте поддержку etags и if-modified-since хеддеров для http кэширования каждой страницы по mark-tagged принципу. И тогда за nginx'ом вам вообще не придется беспокоится о производительности фреймворков…
    Некоторые Yii извращенцы на офф. форуме фреймворка писали что если использовать с xcache параллельно eaccelerator, то можно добиться довольно впечатляющих результатов. Не знаю правда ли это… но советую вам проверить.

    Вообще я перелез с РНР фреймворков (перепробовал почти все актуальные) на Grails чем вполне доволен.
    Сейчас практикую связку angular.js на node.js < — json-rpc/rest --> grails/play2.
    Смысл в том что бы шаблоны на сервере и клиенте были одинаковыми… хочу написать об этом статью.
    Позволяет сэкономить кучу времени и самое главное — привет клиентская шаблонизация без гемороя и вреда для SEO.
    Ответ написан
    1 комментарий