4

パイプラインを使用して、プログラムと redis サーバー間のやり取りの数を減らしたいと考えています。
パイプラインで多くのコマンドを設定できますが、パイプラインで設定できるコマンドの最大数を説明するドキュメントが見つかりませんでした。

何かアドバイスはありますか?前もって感謝します。

4

1 に答える 1

10

最大値があるかどうかはわかりませんが、ある場合にそれに到達したいとは思いません。

ほとんどの場合、パイプラインのサイズを 100 ~ 1000 操作に制限すると、最良の結果が得られます。ただし、送信する典型的なリクエストを含む、ちょっとしたベンチマーク調査を行うことはできます。リクエストのパイプライン処理は一般的に適切ですが、すべてのパイプライン リクエストが処理されるまでレスポンスが Redis メモリに保持され、クライアントがすべてのリクエストの長い応答を待機することに注意してください。

同時接続、パイプライン化されたリクエスト、および Redis メモリのスイート スポットを見つけるようにしてください。

パイプラインの最後のクエリが Redis に送信されるまで、クライアントは応答の読み取りを開始しません。パイプラインが長すぎると、物事をブロックする可能性があります。

redis-benchmarkまたはmemtier_benchmarkを使用できます。memtier_benchmarkの詳細な説明と手順は次のとおりです。

パイプライン化されたリクエストの数と接続の数がわかったら、アプリの redis-py クライアントでそれを実装する必要があります。

于 2014-11-19T09:07:12.350 に答える