1

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

我不知道这是否与使用独角兽有关。或者最近安装了 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 上的内存使用图如下所示:

在此处输入图像描述

我正在使用Ruby 2.1.4Rails 4.1.7如果有任何帮助。我正在使用两个 Web dynos 和一个 Worker。

哦......我的删除消息例程是:

定义删除消息

@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 应用程序,它getmessagecount每 10 分钟使用一个测试应用程序轮询一次例程。我只能想知道如果应用程序的 10 个副本(或 1,000 个)开始访问服务器会发生什么?

任何帮助将不胜感激。

4

0 回答 0