为什么Codis比较慢,但我们还要用它呢?

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:
  1. 为什么 Codis 比 twemproxy 慢?

  • Codis 追求简洁的实现,我们没有针对内存进行优化,所以会比 twemproxy 还要多一倍拷贝。

  • Go 虽然使用 epoll,但是 IO 都不是直接完成的,而是通过 IO thread,所以需要更多的线程间通信和线程切换。

  • 所以单 CPU 情况下, Codis 吞吐能到 twemproxy 的 1/2,redis 的 1/4,说明我的实现还是可以的。

  • Codis 是 Go 开发的,底层 IO 本质也是通过 epoll 实现的。Go 为开发带来了方便,但是所有的便利都是以牺牲性能作为代价的。

那需要 Codis 有什么用?
  • 单 twemproxy:方便调整,性能不行

  • 多 twemproxy:调整需要技巧,可能需要停止服,看具体业务需求,无论如何都很痛苦。

  • Codis?

  • 适当的 CPU 就可以获得比 twemproxy 更好的性能和可靠性,同时具备横向扩展的能力

  • 可动态调整。这一点就足够了。

  • 对 redis 集群而言,CPU 和 内存,哪个更贵?而且通常 redis 集群 CPU 都是空闲的

  • 如果你的业务需要 10G:没必要用 twemproxy 或者 Codis,影响心情,给自己添麻烦。

  • 如果你的业务需要 400G:你可以选择 单/多 twemproxy + 多 redis,毕竟在相同吞吐下,twemproxy 比 codis 有更好地 CPU 利用率。

  • 但是一旦你的业务需要迁移数据,比如机器上下线,容量调整,怎么办?





本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/1900821,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 运维 监控
为什么我的 Redis 变慢了
为什么我的 Redis 变慢了
29 1
|
8月前
|
缓存 NoSQL 应用服务中间件
高性能软件负载OpenResty整合Reids集群配置
高性能软件负载OpenResty整合Reids集群配置
145 1
|
4月前
|
缓存 监控 NoSQL
Redis 突然变慢了如何排查并解决?
Redis 突然变慢了如何排查并解决?
67 2
|
5月前
|
NoSQL 测试技术 Redis
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
Redis【性能 02】Redis-5.0.14伪集群和Docker集群搭建及延迟和性能测试(均无法提升性能)
155 0
|
9月前
|
NoSQL Java Redis
redis单线程为什么慢
redis单线程为什么慢
57 0
|
10月前
|
存储 缓存 NoSQL
几分钟搞定redis存储session共享——设计实现
几分钟搞定redis存储session共享——设计实现
|
12月前
|
存储 弹性计算 缓存
你知道如何排查Redis变慢么?
作为Redis的使用者,你是否遇到过在Redis上执行相同命令,为什么有时候响应快,有时候却很慢?为什么Redis突然慢了一段时候之后又恢复正常了?为什么Redis执行SET、DEL命令会很耗时?为什么Redis一直运行稳定,突然从某个时段开始变慢?那么接下来就来分享一下。
167 1
|
12月前
|
监控 NoSQL 关系型数据库
Redis变慢了?
简要简述如何评测redis变慢了以及针对变慢问题的优化
Redis变慢了?
|
存储 缓存 运维
Redis变慢了,你会怎么排查
Redis变慢了,你会怎么排查
131 0
|
运维 监控 NoSQL
Redis变慢?深入浅出Redis性能诊断系列文章(一)
本文基于多年使用和运维管理Redis的经验,详细梳理了可能引起Redis性能问题的原因并剖析对应的解决方案,也希望这一系列的文章能帮助大家更加合理的使用 Redis ,快速的定位并解决问题。
Redis变慢?深入浅出Redis性能诊断系列文章(一)