在rails应用程序启动时加载页面?

时间:2010-07-31 06:37:09

标签: ruby-on-rails ajax

我在共享服务器上有一个rails应用程序,它也有一个相当大的数据库,它仍在增长,仅次于它。该应用程序需要很长时间才能启动/加载主页,对我来说大约需要20-30秒,尽管有些人报告等待了几分钟。

有没有办法可以刷新通知,通知人们数据库在等待时可能需要几分钟才能加载?

1 个答案:

答案 0 :(得分:1)

根据您的问题很难说,因为我们并不确切知道您的主页显示的内容或显示内容的方式,但假设您指的是一个AJAX(基于标记)调用正在检索的内容从要在主页上显示的数据库中,您可以尝试以下几种方法:

  1. 将物品分开。是不是你要加载一长串物品?如果是这样,只能一次检索几个,并让用户决定是否要查看更多内容。

  2. 加载页面的其余部分(页眉,页脚,导航栏等),然后将加载的gif微调器放在要加载内容的区域中。如果您使用像jQuery这样的javascript库,这非常简单,并且有很多教程可供选择。这是一个免费加载指标的好网站:http://ajaxload.info/。您要做的是进行AJAX调用并使用您的javascript库来设置加载图像。然后,在ajax调用的成功回调中,隐藏微调器并显示内容。

  3. 一次加载一个项目。对你要加载的每个项目进行单独的ajax调用,以便用户看到它们进入。这可能最终需要更长的时间(你更经常地访问数据库),但视觉效果可能不错心理黑客。

  4. 查看数据库查询的设置方式。您是否在一次查找中获得了所需的一切?这是最好的方法,因为每次你必须再次访问数据库时,你会增加等待时间。

  5. 除此之外,你可以做的最好的事情是尽可能获得更好的硬件,或者看看像linode.com这样的VPS。