圧力テストredis redis-benchmark最適化実践
3189 ワード
redisが開発し、メンテナンスで提供した
は、戻る の情報を返す.では、 を毎秒処理することができる.印刷プロセス を見たくない場合はシングル
ps:もう一つのいい圧力測定ツールabを見て、興味があれば見てもいいです.単一の 分析原因 redisにはデフォルトのリクエストバイト数があり、指定した単一の が必要である.まずクライアント自身でkey に詰め込む.
が加わる.
前に操作した単一keyのテスト結果を比較してみましょう.
応答時間が各クライアント(ベンチマークテストシミュレーション50クライアント、-cが別途指定されていない場合)は、前のコマンドの返信を受信したときにのみ次のコマンドを送信します.これは、サーバが各クライアントから各コマンドクライアント を読み出すためにコールを読み出す必要があることを意味します.
redisクライアント実行コマンドフロー 送信コマンド コマンドキュー コマンド実行 は結果 を返す.
ps:スロークエリはステップ3の統計時間のみを行い、統計応答時間が長くないためredisliveで監視する必要がある さっきの を見てみましょう.
対応する構成項目 を設定する.
ps:ここでは、ドキュメントの中で次のような構成の問題に注意する必要があります. プロファイル の変更 に設定する.
事故現場、プロファイルをロードした後、遅い照会条件 をトリガーしなかった. linuxプロファイルのロードを表示するには、 は有効ではありません.生産環境でredisを使用するコマンド は、次の の遅いログを返します.
スロー・ログの各レコードの意味は次のとおりです. 各スロー・ログ・エントリの一意の漸進識別子. は、記録されたコマンドのUNIXタイムスタンプを処理する. 実行に要する時間量は、マイクロ秒単位である. は、コマンドパラメータの配列を構成する.
テストを始める前に、観測する指標を見てみましょう. redisの健康指標 生存状況 接続数 ブロッククライアント数 メモリピーク を使用メモリフラグメント率 キャッシュヒット率 OPS 持続化 失効KEy スローログ このとき我々はredisの を観測すべきである.手動mock単一データ、ログの表示速度が遅いので、 ロット
Continue..QwQ
redis-benchmark
のmock
テストに従って、圧力テストのシーンを記録します.redis-benchmark基準試験redis-benchmark-h 127.0.0.1-p 6379-c 50-n 10000
get
のタイプを例に、次の10000
回のget操作が実行する、0.27
秒で完了し、各要求データ量は3
サブセクションであり、79.44%
の命令実行時間は1 ms未満であり、redis
は、37037.04
回のget
要求redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t get -q
get
を操作してみましたkey
ps:もう一つのいい圧力測定ツールabを見て、興味があれば見てもいいです.
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t get -q script load "redis.call('get','key1')"
命令の操作を操作する応答時間は、key
を単独で操作する場合よりも遅いことがわかりました.get
は、メモリ向けの操作が0.07s
単位で計算される理由については、毎秒リフレッシュ率を参照してください.us
を自分でテストするには手動key
mock
は16個のサブセクションとして表すため、要求パラメータkey1
前に操作した単一keyのテスト結果を比較してみましょう.
応答時間が
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t get -d 16
より遅くなり,自分で計算ミスを犯したのではないかと疑い,0.01s
と同じコマンドを試みた.mock
自体のクエリーロジックの問題のように見えますが、redisドキュメントが表示されるまで、前の操作と次の操作の間の応答時間を許容できると考えられています.遅いクエリー分析(以下redis開発とメンテナンスの考え方)
ps:スロークエリはステップ3の統計時間のみを行い、統計応答時間が長くないためredisliveで監視する必要がある
redis
はデフォルトのバルブ値を表し、各コマンドが遅いクエリーログ記録をトリガーする時間(ms単位)を意味します.slowlog-log-slower-than
slowlog-max-len
データmock
redis-benchmark -c 50 -n 10000 -r 10000
のデータと照らし合わせて、現在のデータ量ps:ここでは、ドキュメントの中で次のような構成の問題に注意する必要があります.
mock
には、2つの構成を変更する方法があります.redis
コマンドを使用して、config set
を構成するトリガ時間slowlog-log-slower-than
を環境変数として登録していたため、テストを始める前に、観測する指標を見てみましょう.
redis.conf
の占有が大きすぎることを避けるために,used_memory
で心拍包を遠隔で受けるとともに,redislive
でsar
の性能linux
のredis
操作コマンドを使用してみてください.pipline
Continue..QwQ