kenken0807_DBメモ

つば九郎が好きなDBAです。Oracle Standard Editionでの運用やツールとかとかの備忘録。特に記載がない場合はoracle11gR2です。時々MySQL

redis-fainaでよく使用されるコマンドを確認する

redis-faina使おうとするときすぐ使えるようにするメモ。

github.com

RedisのMonitorコマンドを使って出力した情報をsummaryしてくれるすごいツール。 Monitorしてると負荷上がるからなにかある時に使う。

ダウンロード

git clone https://github.com/facebookarchive/redis-faina.git

準備

redis-benchmarkを使用してそのワークロード実行しておく

# redis-benchmark
====== PING_INLINE ======
  100000 requests completed in 0.83 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
120192.30 requests per second

====== PING_BULK ======
  100000 requests completed in 1.01 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
98522.17 requests per second

====== SET ======
  100000 requests completed in 0.91 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.95% <= 1 milliseconds
99.95% <= 15 milliseconds
99.98% <= 16 milliseconds
100.00% <= 16 milliseconds
110375.27 requests per second

====== GET ======
  100000 requests completed in 0.89 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
112612.61 requests per second
・
・
====== MSET (10 keys) ======
  100000 requests completed in 3.39 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.01% <= 1 milliseconds
98.14% <= 2 milliseconds
100.00% <= 3 milliseconds
100.00% <= 3 milliseconds
29455.08 requests per second

redis-benchmark実行中にmonitorコマンド使用して、ファイルにリダイレクトさせておく。 CTRL+Cとかで終了もできる。

# redis-cli monitor > monitor.txt

redis-faina実行して確認する

# cat monitor.txt | ./redis-faina/redis-faina.py
Overall Stats
========================================
Lines Processed         1500001
Commands/Sec            43812.98

Top Prefixes
========================================
key             300000  (20.00%)
counter         100000  (6.67%)

Top Keys
========================================
mylist                  700000  (46.67%)
key:__rand_int__        300000  (20.00%)
myset                   200000  (13.33%)
counter:__rand_int__    100000  (6.67%)

Top Commands
========================================
LRANGE          400000  (26.67%)
PING            200000  (13.33%)
LPUSH           200000  (13.33%)
INCR            100000  (6.67%)
SET             100000  (6.67%)
SADD            100000  (6.67%)
GET             100000  (6.67%)
SPOP            100000  (6.67%)

Command Time (microsecs)
========================================
Median          6.0
75%             33.5
90%             63.0
99%             132.0

Heaviest Commands (microsecs)
========================================
LRANGE          20988495.0
MSET            3393906.75
LPUSH           2054070.75
PING            1696820.0
SET             1180424.75
SADD            1095502.5
INCR            1053511.25
LPOP            944271.25

Slowest Calls
========================================
13712.0         "LRANGE" "mylist" "0" "599"
13146.0         "PING"
13027.0         "LRANGE" "mylist" "0" "299"
12669.0         "LRANGE" "mylist" "0" "449"
12163.0         "PING"
11780.0         "LRANGE" "mylist" "0" "99"
11622.0         "LPUSH" "mylist" "xxx"
11323.0         "SET" "key:__rand_int__" "xxx"