@Konboi memo

主に技術に関してつらつらと。

redis-cli monitor のログをプロファイルするツールを作った

TL;DR

rmlp という redis-cli monitor で出力されたログのプロファイラを作りました

redis-cli monitor のログを調べる必要がある時は、使ってみて下さい。

はじめに

  • 時間帯によってはredis serverのcpu使用率が高くなるときがあった
  • アプリのコードレベルでは cachesession をそれぞれ個別に指定できるようになっている

それでも分けて負荷が下がる確証もなかったため、 コマンド、keyの利用比率を確認するためredis-cli monitor を実行して調べる事にしました

keys ではだめなのか

echo keys * | redis-cli > keys.log

でkeyがどの程度あるかは調べられますが、実行される頻度が分からないので負荷を見ながら redis-cli monitor で実際に使われているkeyやコマンドを調べる必要がありました

終わりに

  • もし使ってみて便利であればstarの方をポチッとお願いします 🙏
  • Perlでいう hash にして hash value で sort するのが Go だと sort package があるので Array でやったのがいいのかどうかいまいちどうしたらベストなのか分かってない
hoge = {
    ‘some key1’ => {
       ‘count’ => 10,
       ‘max’   => 0.012,
       ‘avg’   => 0.008,
    } ,
    ‘some key2’ => {
       ‘count’ => 20,
       ‘max’   => 0.023,
       ‘avg’   => 0.012,
    } ,
}