技术解读:华为云鲲鹏Redis,成本降低30%

  • 时间:
  • 浏览:0

   2019 年 5 月,华为云发布全球首个自研ARM的分布式缓存鲲鹏Redis,搭载华为LibOS+华为编译器+安全容器引擎三项黑科技,在保证Redis强劲高性能外,还降低客户300%的使用成本,真正实现了好用不贵的普惠型分布式缓存Redis产品。

  本文从技术视角解读华为云鲲鹏Redis是怎样才能通过数据中心基础设施、芯片、硬件、软件等全栈创新优化,达成以上效果。

  一、为有哪些ARM架构适合Redis?

  众所周知,Redis是一款风靡全球的高性能、高灵活性、数据行态类型丰厚的key-value内存数据库,拥有毫秒级的响应速率单位。一些Redis对服务器内存、网络速率单位速率单位要求极高,即:Redis的高性还需要否发挥出来取决于服务器内存、网络性能。

   2019 年 3 月, Redis之父Salvatore Sanfilippo(网名:antirez)就Redis ARM架构发展趋势发表观点,他表示把ARM作为Redis运行架构,一些通过了所有测试与验证、性能稳定性非常好,Antirez列举了太满 测试数据,得到了广大女网友的支持。

  愿因 Redis在设计上就采用单系统线程架构,所有IO和数据外理全是在同另一有俩个 系统线程中完成的,太满 单节点的Redis最多只能使用一颗CPU核心,单节点Redis的性能基本达到 10 万QPS的量级后就那末再向上扩展了。

  在现实的业务系统中,对Redis性能往往全是求达到 3000 万QPS以上,甚至 30000 万以上,三种场景下需要通过Redis集群的法律法律依据 来扩展Redis性能,而集群性能的瓶颈成为了Redis架构性能优化关键的因素。

  1.RedisProxy集群架构性能关键点

  Proxy集群作为业界广为流行的Redis集群,其架构如下:

  在三种架构中,Redis集群由负载均衡器、Redis Proxy和Redis Server这三类节点组成。在此Redis集群架构中,Proxy节点和Redis Server都还需要水平扩展,通过增加节点数量就可不断提升Redis集群的整体性能。根据不同的业务诉求,集群性能可弹性扩展到 3000 万至 30000 万QPS。也正是愿因 可通过增加节点数来提升集群整体性能,太满 Redis单节点虽只用一颗CPU核心,CPU最高主频限制Redis单节点性能,但在集群水平扩展模式下cpu主频限制愿因 不太重要了。

  在整个集群架构中,业务系统发出的Redis请求需要经过负载均衡器和Redis Proxy的两次转发后,不能到达Redis Server被真正外理,端到端的链路性能才是整个集群的最大性能瓶颈。实测结果也表明,Redis集群的端到端链路速率单位每减少 1 毫秒,集群整体性能可提升10%+。

  2.RedisCluster集群架构性能关键点

  Cluster集群作为Redis官方标准的集群,逐步成为客户的集群首选架构,并实际应用到线上业务中。其架构如下:

  Cluster集群相比Proxy集群减少了网络跳数,性能更高、灵活性很强。该架构和Proxy集群一样,突破了Redis集群对于CPU单核性能的依赖性,而端到端的链路性能才是整个集群的最大性能瓶颈。

  从上述架构剖析还需要了解到,Redis单核性能的关键在于CPU的外理能力,但Redis真真是CPU中操作的时间在纳秒级别,不超过端到端速率单位的10%,一些Redis横向扩展核心靠链路性能优化。

  二、华为云鲲鹏Redis:三项黑科技助力Redis性能

  1.华为自研LibOS构建高性能云服务基础设施,助力Redis性能 2 倍提升

  LibOS兼顾资源利用率和隔离性,一并满足公有云资源利用率和多租户隔离的诉求,成为公有云runtime的重要发展方向。创新的LibOS技术将Redis的软件栈由 10 层压缩到 4 层,实现了超低延时。

  1) SOCKET标准接口,实现从内核态网络栈平滑切换到用户态。2) 轻量级协议栈,支持每个Redis实例有独立的协议栈,外理协议栈共享愿因 的锁竞争有哪些的问题图片。3) 业务系统线程和用户态协议栈共系统线程,零调度开销。4) 发挥网卡极限性能,外理了中断和调度愿因 速率单位增加。

  2.华为编译器通过智能动态编译优化,提升热点代码性能15+%

  华为自研编译器针对公有云业务应用场景行态,通过智能动态编译优化,提升热点代码性能15+%:

  1) 由部署在云服务环境内的轻量级性能行态架构设计 Agent,保存系统线程动态运行时的关键性能行态信息;

  2) 通过智能编译调优工具,以动态性能行态作为输入,结合静态代码分析,产生更优的编译策略;

  3) 自研ARM64 编译器使用新的编译策略重新编译生成优化后的应用系统线程,热点代码性能提升明显。

  3.华为iSula自研安全容器引擎技术,以更少的系统资源占用,实现秒级实例架构设计 与迁移

  iSulad是华为自主研发的高性能、低开销的容器引擎,通过镜像下载加速技术和最小化启动调用链条,实现容器的秒级启动和迁移。配合LibOS,可实现可媲美虚拟机级别的安全隔离性,确保租户只能使用它们可用的资源。

  三、强悍性能支撑客户业务成功

  在某电商大客户中,客户业务数据量大、读写请求量大、峰值明显且扩容频繁、需求变化快等特点,对Redis依赖有点硬、性能要求很高,现网一并维护3000+个Redis实例,疲于应付容量扩容、性能下降、链接无响应、持久化失败等各种现网有哪些的问题图片,给研发团队带来巨大挑战。

  为了应对业务增长带来的大数据并发,外理系统瓶颈有哪些的问题图片,客户决定考察华为云鲲鹏Redis。在多次的技术场景交流、PoC验证后,客户果断决策将自建的Redis实例删改迁移到鲲鹏Redis上,主要收益:

  1) 性能收益。华为云基于全栈整合后该单实例性能达到 10 万QPS以上,Cluster集群支持性能的线性扩展至千万级别,足够应付 2019 年的业务增长目标。

  2) 价格收益。鲲鹏Redis降低客户300%使用成本后,在做到同等规格实例比自建Redis更省钱的一并,资源使用率提升了20%。用花更少的钱,享受更大的容量。

  3) 技术收益。鲲鹏Redis提供专业的技术支持,具备从硬件链路到软件优化的能力,还需要提供更优的系统级优化方案。

  迁移是有开销的,包括割接的稳定性测试与保障等,都需要人力投入。但客户CTO表示,华为云提供了很好的迁移保障,大大提升迁移的速率单位减少了对现网业务的影响。相比长期相互相互合作所带来的收益,三种开销基本忽略不计。

  华为云鲲鹏Redis,业界首个基于自研ARM-Based全栈整合的Redis云服务,支持双机热备的HA架构,提供单机、主备、Proxy集群、Cluster集群实例类型,满足高读写性能场景及弹性变配的业务需求。

本文由站长之家用户投稿,未经站长之家同意,严禁转载。如广大用户亲戚朋友 ,发现稿件地处不实报道,欢迎读者反馈、纠正、举报有哪些的问题图片(反馈入口)。

免责声明:本文为用户投稿的文章,站长之家发布此文仅为传递信息,不代表站长之家赞同其观点,不对对内容真实性负责,仅供用户参考之用,不构成任何投资、使用建议。请读者自行核实真实性,以及愿因 地处的风险,任何后果均由读者自行承担。