Open welliamcao opened 1 year ago
你这个qps大概多少,cpu利用了多少。 另外,配置可以参考:http://tendis.cn/#/Tendisplus/运维/conf_templ
你这个qps大概多少,cpu利用了多少。 另外,配置可以参考:http://tendis.cn/#/Tendisplus/运维/conf_templ
QPS在52万左右,三个节点,set/get比例1:1
memtier_benchmark -t 10 -c 50 -s xxx -p 6100 -a xxxxx --cluster-mode --ratio=1:1 --key-minimum=1 --key-maximum=500000000 --random-data --data-size=128 --test-time=1800 --out-file=cluster_mode_1_1.log
Writing results to cluster_mode_1_1.log...
[RUN #1] Preparing benchmark client...
[RUN #1] Launching threads now...
^CUN #1 21%, 370 secs] 10 threads: 202823585 ops, 530019 (avg: 547994) ops/sec, 88.60MB/sec (avg: 91.60MB/sec), 2.83 (avg: 2.74) msec latencyy
CPU利用率在50%左右
配置文件
port 6100
daemon no
cluster-enabled yes
loglevel notice
bind 0.0.0.0
logdir /disk/ssd/tendis/cluster-tendis_sre/6100/log
dumpdir /disk/ssd/tendis/cluster-tendis_sre/6100/dump
dir /disk/ssd/tendis/cluster-tendis_sre/6100/db
pidfile /disk/ssd/tendis/cluster-tendis_sre/6100/tendisplus.pid
slowlog /disk/ssd/tendis/cluster-tendis_sre/6100/log/slowlog
#rocksdb的blockcache大小,建议每个节点使用30%系统内存
rocks.blockcachemb 42922
# rocksdb相关配置
rocks.cache_index_and_filter_blocks 0
rocks.max_open_files -1
rocks.compress_type lz4
rocks.level_compaction_dynamic_level_bytes 1
# [n >= 4, n <= 64, n ~= cpu_cores]
rocks.max_background_compactions 64
rocks.write_buffer_size 67108864
rocks.target_file_size_base 67108864
rocks.max_bytes_for_level_base 536870912
# 网络线程池数量,建议cpu数量/4,
netiothreadnum 7
# 工作线程池数量,建议略多于cpu数量
executorThreadNum 56
# binlog清理相关参数
truncateBinlogIntervalMs 100
truncateBinlogNum 500000
binlogDelRange 500000
maxbinlogkeepnum 100
binlogFileSizeMB 128
slowlog-log-slower-than 500000
slowlog-flush-interval 1000
masterauth xxx
requirepass xxx
一定要用memtier_benchmark这个工具吗?
用了源码自带的redis-benchmark
有从网上下载新的redis-benchmark --cluster
效果都很一般, qps才几万, 配置也都差不多。 40core 30%的mem
get: throughput summary: 44424.70 requests per second latency summary (msec): avg min p50 p95 p99 max 0.961 0.088 0.967 1.111 1.255 10.231
set: throughput summary: 44424.70 requests per second latency summary (msec): avg min p50 p95 p99 max 0.999 0.304 0.967 1.127 1.959 27.967
hset: Summary: throughput summary: 36218.76 requests per second latency summary (msec): avg min p50 p95 p99 max 1.297 0.288 0.991 2.039 2.983 6.535
@MollyBa 40核单节点的qps应该在50万的级别哦,你这个应该是配置不好,或者压测命令不对。
@MollyBa 40核qps应该在50万的级别哦,你这个应该是配置不好,或者压测命令不对。
50万是整个集群,还是单个节点的?如果是整个集群的,增加节点QPS会不会也是线性增加?
好问题, 同问。另外 每个节点应该存储多少的业务数据为合适呢? 或者说我拿我的业务数据 怎么确定用3主3从 还是N主N从 效果最好
确实如此
源码自带的redis-benchmark(不支持--cluster,应该是单点) 和 下载redis新版本的redis-benchmark(支持--cluster) 都不及官网提供的压测奏效
/memtier_benchmark -t 12 -c 50 -s xxxx -p yyyy --cluster-mode --key-minimum=1 --key-maximum=500000000 --random-data --data-size=128 --test-time=1800
ops:44w+
期间tendis集群节点的cpu idle在75%左右 io性能也不是瓶颈, 感觉还能调整下参数。往上压
40核单节点一般在50万以上,调整好参数可以更高,不过具体多少还得要看使用场景。 节点数越多,qps越高,一般来说是线性关系。但节点数不宜太多,比如100个以内。 另外,腾讯内部一般都是采用docker隔离小机型,比如8核16g内存500GB磁盘,这样的好处是资源利用率更高,备份,回档等运维起来更方便。当然使用32核128GB这样的大机型也是支持的,具体要看业务情况和运维情况。
40核单节点一般在50万以上,调整好参数可以更高,不过具体多少还得要看使用场景。 节点数越多,qps越高,一般来说是线性关系。但节点数不宜太多,比如100个以内。 另外,腾讯内部一般都是采用docker隔离小机型,比如8核16g内存500GB磁盘,这样的好处是资源利用率更高,备份,回档等运维起来更方便。当然使用32核128GB这样的大机型也是支持的,具体要看业务情况和运维情况。
能帮忙分析一下我的那个问题,3个节点的集群,memtier_benchmark -t 10 -c 50 压测set/get比例1:1,整个集群QPS在52万左右,算下来单机只有20万左右,CPU利用率在50%左右(其中sys占了25%,io不存在瓶颈)。调大并发线程数能到80万,但是CPU利用率也会达到80%,不知道到还有啥优化空间没有。
40核单节点一般在50万以上,调整好参数可以更高,不过具体多少还得要看使用场景。 节点数越多,qps越高,一般来说是线性关系。但节点数不宜太多,比如100个以内。 另外,腾讯内部一般都是采用docker隔离小机型,比如8核16g内存500GB磁盘,这样的好处是资源利用率更高,备份,回档等运维起来更方便。当然使用32核128GB这样的大机型也是支持的,具体要看业务情况和运维情况。
能帮忙分析一下我的那个问题,3个节点的集群,memtier_benchmark -t 10 -c 50 压测set/get比例1:1,整个集群QPS在52万左右,算下来单机只有20万左右,CPU利用率在50%左右(其中sys占了25%,io不存在瓶颈)。调大并发线程数能到80万,但是CPU利用率也会达到80%,不知道到还有啥优化空间没有。
数据差不多,我也存在这个点,单点在十几w 参数里有个maxclient 压的并发太多 直接就timeout reset peer了。 无法把cpu跑满
背景描述
使用10个线程,50个并发压测的时候,通过监控发现cpu的sys值很高,导致qps上不去。
监控结果
top命令结果
strace捕获结果
info Dataset结果
perf top结果
版本环境信息
节点版本: redis_version:2.4.3-rocksdb-v5.13.4 压测命令: memtier_benchmark -t 10 -c 50 -s xxxx -p 6100 -a xxxx --cluster-mode --ratio=1:1 --key-minimum=1 --key-maximum=500000000 --random-data --data-size=128 --test-time=1800 机器配置: CPU: Intel(R) Xeon(R) Gold 6266C CPU @ 3.00GHz. 32核 MEM:128G DISK:500G SYytem: CentOS Linux release 7.9.2009 (Core)