Redis·运维实战 · 读完 redis-ops 的核心源码后,我终于理解了它的取舍

13
REr/redis-ops·由 alice_dev 发布·3 天前复盘

读完 redis-ops 的核心源码后,我终于理解了它的取舍

先说结论:redis-ops 这套东西在中小规模下几乎不需要调优,真正开始难受的位置比大多数人以为的靠后得多。下面是完整的实测过程。

真正让我意外的是长尾。平均值一直很漂亮,P99 却在某个阈值之后直接跳了一个数量级。原因不在 redis-ops 本身,而是我们上游的连接复用没做好,压测流量太「干净」,掩盖了长尾请求。

自建,掌控感强44%
托管服务,省事28%
混合:核心自建17%
还没想好11%

共 22 人参与投票

3 条评论

3 条评论

我
Oops_wang·28 分钟前已编辑

这不是 redis-ops 的问题,是用法的问题。文档里写了这个 API 不是线程安全的,要自己在外面加锁。

150
Kkite·12 分钟前

贴一下我们的实测数据,8 核 16G,同样的场景:

| 并发 | P50 | P99 |
|---|---|---|
| 200 | 12ms | 88ms |
| 500 | 31ms | 340ms |

P99 在 500 并发时明显崩了,和你说的拐点基本吻合。

61
Mmike_xu·3 分钟前已编辑

楼主说的第 3 点我有不同看法。这里的取舍取决于你的读写比:读多写少的话,加缓存反而会放大不一致窗口。

9

这是帖子详情页 /zh-CN/c/redis-ops/post/p1。帖子与评论都由种子随机数确定性生成 —— 同一个帖子每次打开内容一致,因此可以直接分享链接、刷新、被搜索引擎收录。真实实现里这一页是 MySQL 读帖子 + Redis 缓存热帖 + 评论树按 path 字段一次性取出。

看数据表设计 →