Rails Rails API 性能优化

ping94 · 2019年08月01日 · 最后由 Choicelin 回复于 2019年08月02日 · 2872 次阅读

最近这段时间一直在做 API 性能的优化,查询 API 的 QPS 由原来的 50 左右 提升到了 140 左右 (单台服务器 1 核 2G,测试数据大概 20w 左右,使用 redis 作为 Rails.cache 的存储系统)

这里把大概的思路画了个图,相关功能的代码也抽出来写了个完整的例子 => 传送门

这里把读写 API Cache 的逻辑放到了 Controller 的 around_action 里面,如果需要进一步优化的话可以注册一个 rack 中间件,然后把读写 Cache 的逻辑放到里面

你这个方案如何处理 cache 更新问题呢,第一张图貌似有点那个意思,但我没看懂

Choicelin 回复

当数据更新后把对应的 api 的 cache 清除,然后下次 api 请求进来的时候会写入新的 cache

加服务器🤔

@ping94 更新操作清 cache,挺好

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册