使用cakephp制作的Facebook应用程序非常慢

时间:2009-07-29 11:13:36

标签: cakephp facebook

我在cakephp中创建了一个facebook应用程序。与其他应用程序相比,此应用程序非常慢。

我该怎么做才能提高它的速度?请提出建议,因为这个问题让我疯了。

由于

5 个答案:

答案 0 :(得分:3)

我们使用(很快使用)cakephp以及fb apps

cakephp似乎很慢。

无论如何这可能有帮助:

我的Facebook特定提示和学习内容:

  • 将所有api调用减少到所需的最小值
    • 尽可能使用fbml
  • 批量所有可以进行的api调用
    • 批量所有fql api调用
  • 在下一页缓存您需要的每个api调用的输出
    • 将其缓存在memcache或为cache :: file
    • 执行ramdisk

通用必须做的

  • 使用memcache
  • 如果不是100%需要,请不要点击数据库
  • 不要点击文件系统
  • 尽你所能做异步(crondispatcher)
  • 使用javascript效果模拟快速回复

答案 1 :(得分:2)

你是否在core.php中将调试设置为'0'?如果没有,这将给你一个巨大的速度提升。

答案 2 :(得分:1)

服务器端代码通常不是很慢。我怀疑CakePHP正在减慢你的速度。这是数据库访问,Facebook API调用和HTML呈现(Use YSlow!),占加载应用程序花费的时间的80-90%。

答案 3 :(得分:1)

Matt Curry的这本书可能会有所帮助:

http://www.pseudocoder.com/Super_Awesome_Advanced_CakePHP_Tips.pdf

@ Page 54 - > “让你的蛋糕应用程序快速”

正如您之前提到的那样:

  

“但我认为cakephp很慢,因为当我将调试模式设置为”on“时,我很震惊地看到它运行的查询数量只是为了显示来自单个表的记录。”

尝试将此设置为每个型号:

var $recursive = -1;

然后仅在需要时使用递归查询。您在使用debug> 0时看到的一些查询是因为Cake正在更新模型缓存。 (就像卡雷尔已经提到的那样。)

答案 4 :(得分:0)

(这里为了搜索结果而回复此处)

如果您看到大量的数据库查询已完成,您可能已关闭缓存,因此CakePHP会在每次页面运行时尝试获取数据库表的完整描述。打开它,确保您的缓存实际写入磁盘(或memcache或您使用的任何内容)。

限制API调用Facebook的数量应该会使你的应用程序加速很多。