-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
codis,redis,twemproxy三者对比 #309
Comments
codis的版本是? |
有几个问题。
建议找一个大一点的机器,重新测试一下。 PS1,建议指定一下默认 data 长度,因为默认情况下是 -d 2,即数据只有2个字节。应该没有人线上业务的数据只有2字节。所以 README.md 里用的是256。 PS2,对于 Pipeline=disabled 的情况,高并发不要使用 redis-benchmark,因为这种情况下 redis-benchmark 已经满了,不能压出更高的请求来,建议使用 memtierbenchmark,参见 bench2中第1、4两个图。第1张结果,redis benchmark 结果 twemproxy 和 codis 性能相近;但是第 4 张结果,codis 明显优于 twemproxy,因为 codis 是 multi-threaded 的。 |
另外,两张图是一样的?是不是有一个图贴错了? Codis2.0 的 Pipeline 性能远远好于 Codis1.9的,你可以分别对比一下。 |
版本之前有误,现重新从github上取最新的进行测试(加上-r 1048576),结果已更新到原帖。 PS:这次测试的目的主要是在同一环境下做一个对比,所以对于机器性能好坏对每一个都是一样的 |
我有两个疑问:
"_这次测试的目的主要是在同一环境下做一个对比,所以对于机器性能好坏对每一个都是一样的_" 这句话我很不认同。我稍后给你解释,比较长。 |
|
非常感谢你的详细解释,赞同第3点。 |
环境:
%uname -a
Linux rh64.fanxj 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
%go version
go version go1.4.2 linux/amd64
%gcc --version
gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)
Copyright © 2010 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
Tasks: 273 total, 1 running, 272 sleeping, 0 stopped, 0 zombie
Cpu0 : 0.1%us, 0.2%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.2%us, 0.2%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1907932k total, 1704448k used, 203484k free, 4584k buffers
Swap: 4095992k total, 178968k used, 3917024k free, 94920k cached
test 65154 1 1 21:27 pts/4 00:00:52 ../bin/codis-config -c config.ini -L ./log/dashboard.log dashboard --addr=:18087 --http-log=./log/requests.log
test 65319 1 2 21:29 pts/5 00:02:14 ../bin/codis-server *:6381
test 65320 1 0 21:29 pts/5 00:00:21 ../bin/codis-server *:6382
test 72295 1 4 22:18 pts/6 00:01:32 ../bin/codis-proxy --log-level info -c config.ini -L ./log/proxy.log --cpu=8 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000
测试命令:
redis-benchmark -t set -n 100000000 -P 500 -c 100 -r 1048576
redis-benchmark -t get -n 100000000 -P 500 -c 100 -r 1048576
redis-benchmark -t set -n 100000000 -c 100 -r 1048576
redis-benchmark -t get -n 100000000 -c 100 -r 1048576
测试1:100 client 未做CPU绑定
# 测试2:100 client 做CPU绑定,只允许codis-proxy用cpu 1
The text was updated successfully, but these errors were encountered: