Dav*_*ell 38 php performance cakephp
我已经成为CakePHP的忠实粉丝和用户已有2.5年了,但是大多数开发人员在框架中处理的主要问题是它的速度很慢,而且调度周期太长,无法使其成为生产环境的可行解决方案.
我希望这个问题能激发人们分享他们提高CakePHP性能的技巧,窍门和技巧.
我经常提到的博客文章是伪编码器提高CakePHP应用程序性能的8种方法,它有很多提示,但必须有更多的提示!
所以请随意分享您对这个更灵活的优秀框架的想法!
Joe*_*eyP 31
我认为这是一个非常好的问题.以下是我为加快蛋糕应用程序所做的一些事情.
正如链接文章的评论中所提到的,减少$uses
阵列有点帮助.您可以通过他们的associationg访问相关模型.因此,如果City和Address相关联,则可以通过$this->City->Address
而不是在$uses
数组中包含两者来访问地址
在apache中,将代码从您.htaccess
的主服务器config/vhost /中移动并设置AllowOverride None
.
在负载平衡环境中,将会话从DB移动到内存缓存.Memcache很容易设置,而蛋糕的DB会话类还有很多不足之处.在高负载应用程序中,垃圾收集会杀死你,因为它每秒钟都会运行一次.此外,这是一个很棒的小脚本,可以为您提供有关内存使用情况的统计信息(基于apc.php) http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/
正如Mark Story在8篇文章的评论部分中提到的那样,压缩资产是一个非常好的主意.这是一个很好的脚本,可以缩小js和css文件,可以用来替换与cake捆绑在一起的默认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]
Run Code Online (Sandbox Code Playgroud)
对此:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(img|css|js)/(.*)$
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)我刚刚写了一些关于大幅加速cakephp应用程序的技巧,附带一些实用代码:http: //www.dereuromark.de/2012/02/13/what-really-speeds-up-your-cakephp-app/
归档时间: |
|
查看次数: |
9215 次 |
最近记录: |