51

本番環境に 20GB 以上の rdb ダンプがあります。特定のキーのセットが肥大化していると思われます。静的ダンプ分析から常に最初の 100 個の最大のオブジェクトを見つけるか、7M を超えるオブジェクトがあるサーバー自体にそれを要求する方法が必要です。

rdbtools のようなダンプ分析ツールは、この (私が思うに) 非常に一般的なユースケースでは役に立ちません!

スクリプトを作成し、「redis-cli デバッグ オブジェクト」でキーセット全体を反復処理することを考えていましたが、不足しているツールがあるに違いないと感じています。

4

5 に答える 5

4

redis-rdb-toolsには、まさに必要なことを行うメモリ レポートがあります。すべてのキーで使用されるメモリを含む CSV ファイルを生成します。次に、それを並べ替えて、上位 x キーを見つけることができます。

必要なことを実行し始めた実験的なメモリ プロファイラーもあります。まだ完全ではないため、文書化されていません。しかし、試すことができます - https://github.com/sripathikrishnan/redis-rdb-tools/tree/master/rdbtools/cli。もちろん、あなたにも貢献することをお勧めします!

免責事項: 私はこのツールの作成者です。

于 2012-12-03T10:44:24.583 に答える
0

redis-memory-analyzer を試してみてください。これは、Redis キー空間をリアルタイムでスキャンし、キー パターンごとにメモリ使用量の統計を集計するコンソール ツールです。このツールは、運用サーバーでメンテナンスなしで使用できます。Redis サーバーの各キー パターンに関する詳細な統計が表示されます。

また、「string」、「hash」、「list」、「set」、「zset」などのすべてまたは選択した Redis タイプで Redis db をスキャンできます。マッチングパターンにも対応。

RMA はまた、パターンによってキー名を識別しようとします。たとえば、「user:100」や「user:101」などのキーがある場合、アプリケーションは出力で共通パターン「user:*」を選択するため、ほとんどのメモリ不足データを分析できます。あなたのインスタンス。

于 2016-02-11T11:03:03.760 に答える