闲置数小时后,Active Record极慢

时间:2011-02-17 15:31:00

标签: ruby-on-rails sqlite activerecord

我有一个Rails 3应用程序,在SQLite数据库中有大约11,000行Podcast和大约600,000行Episodes。它目前正在开发中,我是访问服务器的唯一客户端。

当我在一天结束时下班回家并向播客的剧集视图发出第一个请求时,请求的时间比平常长10倍。但是,第二个请求需要正常的时间。

我并不十分关注这个具体问题,但我非常有信心,当我最终部署这个应用程序时,它可能会出现其他问题。

我应该切换到MySQL还是nosql数据库?还有什么我可以做的吗?

修改 我应该补充一点,我正在使用Passenger作为我的服务器运行Mac OS X Web共享。

谢谢,

哈里斯

1 个答案:

答案 0 :(得分:1)

如果您正在使用Passenger或某种应用程序启动器,您可能会发现Rails进程在长时间闲置时会被删除。整个应用程序必须在第一次请求时重新启动,但在此之后将正常执行。

这是典型的没有大量流量的网站。您当然可以使用cron作业和curl人为地刺激一些流量。

通常,您可以通过查看流程列表并查看Rails流程是否仍在运行来判断是否属于这种情况。

这甚至会影响没有数据库的应用程序。