Я был увлеченным поклонником и пользователем CakePHP в течение приблизительно 2,5 лет теперь, но основная проблема, которая большая часть поддерживающего уровня разработчиков в платформе - то, что это медленно, и цикл отправки, занимает слишком много времени делать его эффективным решением для продуктивных сред.
Я надеюсь, что этот вопрос вдохновит людей совместно использовать свои подсказки, приемы и взломы для ускорения работы CakePHP.
Сообщением в блоге, к которому я чаще всего обращаюсь, являются 8 Способов псевдокодера Ускорить Производительность Приложений CakePHP, которая имеет большие подсказки, но должно быть больше там!
Поэтому не стесняйтесь совместно использовать свои мысли о создании этой превосходной платформы что намного более гибкий!
Думаю, это действительно хороший вопрос. Вот несколько вещей, которые я делаю, чтобы ускорить работу приложений для тортов.
Как упоминалось в комментариях к связанной статье, сокращение массива $ uses
немного помогает. Вы можете получить доступ к связанным моделям, пройдя их ассоциацию. Таким образом, если город и адрес связаны, вы можете получить доступ к адресу с помощью $ this-> City-> Address
вместо включения обоих в массив $ uses
В apache переместите введите код из вашего .htaccess
в главный сервер config / vhost / something и установите AllowOverride None
.
В среде с балансировкой нагрузки переместите сеансы из БД в кэш памяти. Memcache чертовски прост в настройке, а класс сеанса DB для тортов оставляет желать лучшего. В приложении с высокой нагрузкой сборщик мусора убьет вас, поскольку он запускается примерно каждую секунду. Кроме того, вот отличный небольшой скрипт, который дает вам статистику использования вашего кэша памяти (на основе apc.php) http://livebookmark.net/journal/2008/05/21/memcachephp-stats- like-apcphp /
Как отмечает Марк Стори в разделе комментариев к статье о 8 способах, сжатие ваших ресурсов - очень хорошая идея.Вот хороший скрипт, который минимизирует файлы js и css, который можно использовать для замены стандартного css.php, поставляемого вместе с cake. http://www.milesj.me/blog/ read / 32 / CSSJSAsset-Compression-In-CakePHP
Если по какой-то причине люди нажимают много изображений / 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]