使用memtier-benchmark工具对Redis和Memcached进行基准测试
这是什么?
使用名为memtier-benchmark的工具对redis和memcached进行了基准测试。以下是简要总结。
对memtier-benchmark和redis-benchmark的比较。
主要是memtier-benchmark的优点,以及redis-benchmark无法实现的功能。
-
- redis, memcache の両方のプロトコルを喋れる(redis-benchはredisのみ)
-
- SET/GETの重み付けができる(redis-benchはそれぞれ別に全力で投げる)
- keyとvalueサイズを変えられて(redis-benchはkeyサイズを変えるのが大変。valueサイズはどちらもオプションで変えられる。)
memtier-benchmark 安装
大体按照README的指示完成了。
安装的libevent-2.0在执行memtier-benchmark时找不到,所以我粗略地进行了链接,使其可见(可能不是最好的解决方案,但这是一个一次性负载测试环境,所以还算可以)。
sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
命令
memtier_benchmark -p 6379 -P redis --threads 4 -c 250 --test-time=10 --ratio=1:10 --data-size-list=1000:60,5000:30,100000:10 --key-prefix=memtier-memtier-memtier- --key-maximum=100000
以下是粗略的解释,虽然实际执行的命令与此不同,但为了示例而写出来了。
-
- -p port
-
- -P protocol
-
- –threads クライアントのスレッド数
-
- -c スレッド数あたりのコネクション数。トータル4*250=1000となる
-
- –test-time テスト時間
-
- –data-size-list. 今回はmemcachedからredisへの移行が目的。現行のmemcachedのデータに合うようにweightを決めた(別記事として書くかもしれない)
-
- –key-prefix key長を適当に調整するために使える
- –key-maximum キーのバリエーションになると思う