実際には、これは、デフォルトで実際のコマンド実行時間よりも多くのI/Oを測定する効果にすぎません。ベンチマークでパイプラインを有効にし始めると、それは実際のコマンドパフォーマンスの尺度になり、数値が変化します。
$ redis-benchmark -q -n 1000000 -P 32 set foo bar
set foo bar: 338964.03
$ redis-benchmark -q -n 1000000 -P 32 get foo
get foo: 432713.09 requests per second
GETが高速になりました:-)
ベンチマークドキュメントページにパイプラインを含める必要があります。
編集: これはここでさらに明白です:
redis 127.0.0.1:6379> info commandstats
# Commandstats
cmdstat_get:calls=1001568,usec=221845,usec_per_call=0.22
cmdstat_set:calls=831104,usec=498235,usec_per_call=0.60
このコマンドは、I / Oを考慮せずに、要求を内部的に処理するためのCPU時間を提供します。 SETの処理は3倍遅くなります。