Redisが使用しているメモリ量を調べるために使用できるツールはありますか?
[〜#〜] info [〜#〜] コマンドを見てみてください。 this Redisのメモリ使用量に関する記事を読むこともお勧めします。この記事では、特定のデータ構造を使用しているメモリ量に関する詳細情報を確認できます。
https://github.com/sripathikrishnan/redis-rdb-tools を参照してください
Rdbツールは、データベース内の各key = valueペアで使用されるメモリを報告します。 Redisダンプファイルを解析し、csvファイルを構築します。このCSVファイルの各行はキーであり、列にはそのキーによって消費されるメモリが含まれています。
キーまたはデータ型で結果をフィルタリングできます。ツールはダンプファイルで実行されるため、Redisサーバーのパフォーマンスには影響しません。
覚えておくべきポイント-報告されるメモリ使用量は概算です。私の実験に基づいて、実際のメモリ使用量は、ツールによって報告されるものよりも約15%高いことがわかりました。
loglevel
がverbose
またはdebug
に設定されている場合、Redisは5秒ごとにメモリ使用量を出力します。
たとえば、これはほとんど空のデータベースの出力です。
[49523] 07 Apr 00:38:58 - DB 0: 2 keys (0 volatile) in 4 slots HT.
[49523] 07 Apr 00:38:58 - 1 clients connected (0 slaves), 924416 bytes in use
データベースには2つのキーがあり、1つの接続されたクライアントがあることがわかります。 924416バイトがアクティブに使用されています。合計メモリ使用量(used_memory_rss
フィールドはINFO
コマンドによって返されます)詳細が少し高いかもしれません(詳細については [〜#〜] info [〜#〜] ドキュメントを参照してください)。
Redisに保存されたデータは明らかにメモリを必要としますが、メモリ使用量の唯一の制御可能な理由ではありません。より多くのデータベースを構成すると、メモリ使用量が増加します(システム上でデータベースごとに約450バイト増加します)。各接続もメモリを使用します(私のシステムでは、接続ごとに約8キロバイト)。
Redis 統合メモリアナライザーを取得しました バージョン4以降。
"MEMORY USAGE <key> [SAMPLES <count>] - Estimate memory usage of key"
"MEMORY STATS - Show memory usage details"
"MEMORY PURGE - Ask the allocator to release memory"
"MEMORY MALLOC-STATS - Show allocator internal stats"
https://github.com/gamenet/redis-memory-analyzer を参照してください
RMAは、Redisキースペースをリアルタイムでスキャンし、キーパターンごとにメモリ使用量の統計を集計するコンソールツールです。本番サーバーでは、メンテナンスなしでこのツールを使用できます。
「string」、「hash」、「list」、「set」、「zset」などのすべてまたは選択したRedisタイプでスキャンし、必要に応じて一致するパターンを使用できます。
また、RMAはパターンでキー名を識別しようとします。たとえば、「user:100」や「user:101」などのキーがある場合、出力で一般的なパターン「user:*」を選択するため、ほとんどのメモリ不足データを分析できますインスタンス。
このメモリがキー間でどのように分散されるかに興味がある場合は、 https://github.com/alexdicianu/redis_toolkit を試すことができます。キーがこのパターンA:B、A:B:CまたはA:B:*などに従う場合にのみ機能します。RedisをWordpressまたはDrupal。
これがサンプルです。
$ ./redis-toolkit report -type memory -name NAME
+----------------------------------------+----------+-----------+----------+
| KEY | NR KEYS | SIZE (MB) | SIZE (%) |
+----------------------------------------+----------+-----------+----------+
| posts:* | 500 | 0.56 | 2.79 |
| post_meta:* | 440 | 18.48 | 92.78 |
| terms:* | 192 | 0.12 | 0.63 |
| options:* | 109 | 0.52 | 2.59 |