1

行。我知道我没有很多信息。这基本上就是我提出问题的原因。我正在后端使用 Flash/Flex 和 Rails 构建游戏。两者之间的通信是通过 WebORB。

这是正在发生的事情。当我启动客户端时,一个操作每 60 秒调用一次服务器(不多,对吗?),这会导致两个数据库 SELECTS 和一个 UPDATE 以及对客户端的响应。

这每 60 秒重复一次。我在 heroku 上部署了一个测试版本,NewRelic 的 RPM 告诉我响应时间会随着时间的推移而下降。一位客户每 60 秒执行一项任务。在几个小时内,响应时间从 150 毫秒漂移到超过 900 毫秒。

我已经能够在我的开发环境(我的 Macbook Pro)中重现这一点,所以这对 Heroku 来说不是问题。

我没有在服务器应用程序中做任何复杂的(按设计)。一个动作被调用,从数据库中获取一些数据,执行一个 AR 更新,然后返回一个响应。没有缓存等。

有什么想法吗?任何人?我真的很感激。

4

2 回答 2

0

对于这些请求,开发日志说什么是缓慢的?视图还是数据库?如果是数据库,请检查数据库中有多少条记录,并查看如何优化查询。也许您需要索引一些字段。

于 2010-01-24T22:29:12.300 回答
0

您是在本地以开发模式还是生产模式运行?我已经看到 Rails 应用程序在开发模式下随着时间的推移性能下降得更快(内存使用)。我不确定是否可以在开发模式下在 Heroku 上运行应用程序,但如果我是你,我会检查一下。

于 2010-01-24T22:32:36.900 回答