Heroku,Oink和R14错误。一行代码可以需要70MB的内存吗?

时间:2014-11-13 03:25:37

标签: ruby-on-rails ruby ruby-on-rails-4 heroku oink

我有点担心我最近在Heroku上遇到的R14错误的数量。

我不知道这与使用Unicorn有什么关系。或者最近安装了New Relic或Logentries。我真的无法解决这个问题。

我已经安装了" Oink刚收到以下分析,但没有读到如何完全理解它试图告诉我的内容。

---- MEMORY THRESHOLD ----
THRESHOLD: 0 MB

-- SUMMARY --
Worst Requests:
1. Nov 13 02:53:51, 70836 KB, messages#getmessagecount
2. Nov 13 02:03:04, 65836 KB, messages#getmessagecount
3. Nov 13 02:21:46, 60236 KB, messages#getmessagecount
4. Nov 13 01:32:47, 6328 KB, messages#deletemessage
5. Nov 13 01:33:43, 6328 KB, locations#sendprofiles
6. Nov 13 01:32:56, 6328 KB, messages#deletemessage
7. Nov 13 01:32:58, 6328 KB, messages#deletemessage
8. Nov 13 01:32:49, 6328 KB, messages#deletemessage
9. Nov 13 01:47:46, 5300 KB, messages#getmessagecount
10. Nov 13 03:09:56, 5300 KB, messages#getmessagecount

Worst Actions:
9, messages#deletemessage
7, messages#getmessagecount
1, locations#sendprofiles
1, photos#photodatarequest
1, messages#getmessages

Aggregated Totals:
Action                      Max Mean    Min Total   Number of requests
messages#getmessagecount    70836   29814   464 208700  7
messages#deletemessage      6328    3016    180 27144   9
locations#sendprofiles      6328    6328    6328    6328    1
photos#photodatarequest     460 460 460 460 1
messages#getmessages        300 300 300 300 1

作为一名外行人,我担心我的message#getmessagecount正在吃很多记忆。那是上述意思吗?

如果是这样......例程就是:

def getmessagecount

    @messagecount = Message.where(recipient: current_user, messageSysMessCode: 0, messageAdminMessage: false).count

  end

我不知道这是怎么回事?"泄漏"存储器中。

Heroku上一天的内存使用情况图表如下:

enter image description here

我使用Ruby 2.1.4Rails 4.1.7,如果有任何帮助的话。我使用了两个Web dynos和一个Worker。

哦......我的删除邮件例程是:

def deletemessage

@message = Message.where(recipient_id: current_user.id, id: params[:messageID]).first
if (@message)
  @message.delete
  @code = "OK"
else
  @code = "Couldn't delete message"
end

这每3小时左右就会扼杀我的表现(如果这是正确的话)。我不知道为什么每10分钟就会增加一次(我希望通过阅读图表来推断)。 10分钟可能很重要,因为我有一个iPhone应用程序,它使用一个测试应用程序每隔10分钟轮询getmessagecount例程。我只能想知道如果应用程序的10个副本(或1,000个)开始点击服务器会发生什么?

非常感谢任何帮助。

0 个答案:

没有答案