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

そして、これがどのようにしてメモリを「リーク」するのかわかりません。

過去 1 日の Heroku のメモリ使用量のグラフは次のようになります。

ここに画像の説明を入力

私は使用してRuby 2.1.4おりRails 4.1.7、それが助けになる場合。2 つの Web dyno と 1 つの 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 分ごとに増加している理由がわかりません (これは、グラフを読んで推測できます)。getmessagecount1 つのテスト アプリで 10 分ごとにルーチンをポーリングする iPhone アプリがあるので、10 分は重要かもしれません。アプリの 10 個のコピー (または 1,000 個のコピー) がサーバーにアクセスし始めたらどうなるのだろうか?

どんな助けでも非常に深く感謝します。

4

0 に答える 0