Redis到底能扛多高QPS(看这篇就够了)

Redis是大厂必备技能,下面我详解Redis到底能扛多高QPS@mikechen

Redis 到底能扛多高的 QPS?

Redis 到底能扛多高的 QPS,要分两个层面看:

单节点单线程极限:在合适的硬件和简单操作(如 GET/SET、小 key)下,通常可以做到 10万~数十万 QPS;

Redis到底能扛多高QPS(看这篇就够了)-mikechen

集群/分片/多线程模式:在高配机器、多线程 IO、多实例或云集群版本下。

可以做到 百万级甚至千万级 QPS,比如腾讯云 Redis 4.0 标准版实测最高 50 万 QPS,集群版可支持“千万级 QPS”。

 

单节点 Redis 一般能扛多少 QPS?

在这类场景下,假设你用的是普通云主机或物理机,Redis 用默认配置或简单调优,常见 QPS 范围如下:

Redis到底能扛多高QPS(看这篇就够了)-mikechen

场景(Redis 6.x / 7.x) 典型 QPS 范围
单线程,GET/SET 简单字符串,小 key 10 万~20 万 QPS
用多线程 IO(io-threads 4~8)+ 客户端多连接 20 万~50 万 QPS,有的压测能达到 70 万以上
操作更复杂的数据结构(ZSET/LIST/HASH) 通常 6 万~10 万 QPS 区间

也就是说:

普通单节点 Redis 在“简单 GET/SET + 小 key + 10 万左右并发”的场景,10 万~20 万 QPS 是一个比较现实的天花板;

用多线程 IO、多线程压测客户端、小 key 场景。

实验可以做到 几十万甚至接近百万 QPS,但这属于“极限压测场景”,不是持续生产的典型值。

 

 

Redis Cluster / 分片集群能扛多少?

当单机 10万 QPS 无法满足需求时(如双 11、热点新闻)。

架构上通常采用以下方案:横向扩展 (Redis Cluster)。

Redis到底能扛多高QPS(看这篇就够了)-mikechen

通过分片(Sharding)将数据分布到 N个节点。

比如:10 节点集群: 理论支撑 100万 QPS。100 节点集群: 理论支撑 1000万 QPS。

Cluster 模式下,整体集群 QPS 可近线性增长。

但需考虑分片不均衡、跨槽请求和重分片成本。负载均衡与客户端分片策略也会影响实际吞吐。

评论交流
    说说你的看法