Ускорение CakePHP

Я был увлеченным поклонником и пользователем CakePHP в течение приблизительно 2,5 лет теперь, но основная проблема, которая большая часть поддерживающего уровня разработчиков в платформе - то, что это медленно, и цикл отправки, занимает слишком много времени делать его эффективным решением для продуктивных сред.

Я надеюсь, что этот вопрос вдохновит людей совместно использовать свои подсказки, приемы и взломы для ускорения работы CakePHP.

Сообщением в блоге, к которому я чаще всего обращаюсь, являются 8 Способов псевдокодера Ускорить Производительность Приложений CakePHP, которая имеет большие подсказки, но должно быть больше там!

Поэтому не стесняйтесь совместно использовать свои мысли о создании этой превосходной платформы что намного более гибкий!

38
задан icc97 29 May 2018 в 23:11
поделиться

1 ответ

Думаю, это действительно хороший вопрос. Вот несколько вещей, которые я делаю, чтобы ускорить работу приложений для тортов.

  1. Как упоминалось в комментариях к связанной статье, сокращение массива $ uses немного помогает. Вы можете получить доступ к связанным моделям, пройдя их ассоциацию. Таким образом, если город и адрес связаны, вы можете получить доступ к адресу с помощью $ this-> City-> Address вместо включения обоих в массив $ uses

  2. В apache переместите введите код из вашего .htaccess в главный сервер config / vhost / something и установите AllowOverride None .

  3. В среде с балансировкой нагрузки переместите сеансы из БД в кэш памяти. Memcache чертовски прост в настройке, а класс сеанса DB для тортов оставляет желать лучшего. В приложении с высокой нагрузкой сборщик мусора убьет вас, поскольку он запускается примерно каждую секунду. Кроме того, вот отличный небольшой скрипт, который дает вам статистику использования вашего кэша памяти (на основе apc.php) http://livebookmark.net/journal/2008/05/21/memcachephp-stats- like-apcphp /

  4. Как отмечает Марк Стори в разделе комментариев к статье о 8 способах, сжатие ваших ресурсов - очень хорошая идея.Вот хороший скрипт, который минимизирует файлы js и css, который можно использовать для замены стандартного css.php, поставляемого вместе с cake. http://www.milesj.me/blog/ read / 32 / CSSJSAsset-Compression-In-CakePHP

  5. Если по какой-то причине люди нажимают много изображений / css / js, которые больше не существуют, может быть полезно убедиться, что эти страницы не генерируют ошибку 404 торт , поскольку он должен пройти весь процесс отправки торта, создать сеанс и т. д. Это так же просто, как изменить это:

     RewriteCond% {REQUEST_FILENAME}! -d 
    RewriteCond% {REQUEST_FILENAME}! -f { {1}} RewriteRule ^ (. *) $ /Index.php?url=$1 [QSA, L] 
     

    на это:

     RewriteCond% {REQUEST_FILENAME}! -D {{1} } RewriteCond% {REQUEST_FILENAME}! -F 
    RewriteCond% {REQUEST_URI}! ^ / (Img | css | js) / (. *) $ 
    RewriteRule ^ (. *) $ / Index. php? url = $ 1 [QSA, L] 
     
31
ответ дан 27 November 2019 в 03:52
поделиться
Другие вопросы по тегам:

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