加速蛋糕PHP
我一直是CakePHP的忠实粉丝和用户大约2.5年了,但是大多数开发人员在框架上遇到的主要错误是它很慢,调度周期太长,无法使其成为生产环境的可行解决方案。
我希望这个问题能激励人们分享他们的技巧,窍门和技巧,以加快CakePHP的性能。
我最常提到的博客文章是伪编码器的8种加速CakePHP应用程序性能的方法,它有很好的提示,但肯定还有更多!
因此,请随时分享您对使这个出色的框架更加灵活的想法!
我一直是CakePHP的忠实粉丝和用户大约2.5年了,但是大多数开发人员在框架上遇到的主要错误是它很慢,调度周期太长,无法使其成为生产环境的可行解决方案。
我希望这个问题能激励人们分享他们的技巧,窍门和技巧,以加快CakePHP的性能。
我最常提到的博客文章是伪编码器的8种加速CakePHP应用程序性能的方法,它有很好的提示,但肯定还有更多!
因此,请随时分享您对使这个出色的框架更加灵活的想法!
我认为这是一个非常好的问题。以下是我为加速蛋糕应用程序所做的几件事。
正如链接文章的评论中提到的,减少数组会有所帮助。您可以通过关联模型来访问关联的模型。因此,如果城市和地址相关联,则可以通过以下方式访问地址,而不是将两者都包含在数组中$uses
$this->City->Address
$uses
在apache中,将代码从您的代码移动到主服务器config / vhost / whatever并设置..htaccess
AllowOverride None
在负载平衡环境中,将会话从数据库移动到 memcache。Memcache很容易设置,蛋糕的DB会话类还有很多不足之处。在高负载应用程序中,垃圾回收会杀死你,因为它最终会每秒运行一次。另外,这里有一个很棒的小脚本,可以为您提供有关memcache使用情况(基于apc.php)的统计信息 http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/
正如Mark Story在8 ways文章的评论部分提到的,压缩你的资产是一个非常好的主意。这是一个很好的脚本,可以缩小js和css文件,它可以用来替换与蛋糕捆绑在一起的默认css.php。http://www.milesj.me/blog/read/32/CSSJSAsset-Compression-In-CakePHP
如果由于某种原因,人们点击了很多不再存在的图像/ css / js,那么确保这些页面不会生成蛋糕404错误可能是有益的,因为它必须经历整个蛋糕调度过程,生成会话等。这就像改变这个一样简单:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
对此:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(img|css|js)/(.*)$
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
我刚刚写了一些更多的技巧,以大大加快cakphp应用程序的速度,并附加了一些实用的代码:http://www.dereuromark.de/2012/02/13/what-really-speeds-up-your-cakephp-app/