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.4
,Rails 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 个)开始访问服务器会发生什么?
任何帮助将不胜感激。