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

  • 时间:
  • 浏览:1

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

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

  一、为那先 ARM架构适合Redis?

  众所周知,Redis是一款风靡全球的高性能、高灵活性、数据行态类型富有的key-value内存数据库,拥有毫秒级的响应强度。如可让Redis对服务器内存、网络强度强度要求极高,即:Redis的高性能只有只有发挥出来取决于服务器内存、网络性能。

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

  可能性Redis在设计上就采用单应用进程架构,所有IO和数据除理一定会在同另1个应用进程中完成的,什么都单节点的Redis最多只有使用一颗CPU核心,单节点Redis的性能基本达到 10 万QPS的量级后就没人再向上扩展了。

  在现实的业务系统中,对Redis性能往往一定会求达到 5000 万QPS以上,甚至 50000 万以上,或多或少场景下还要通过Redis集群的法律最好的法律法律依据来扩展Redis性能,而集群性能的瓶颈成为了Redis架构性能优化关键的因素。

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

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

  在或多或少架构中,Redis集群由负载均衡器、Redis Proxy和Redis Server这三类节点组成。在此Redis集群架构中,Proxy节点和Redis Server都能只有水平扩展,通过增加节点数量就可不断提升Redis集群的整体性能。根据不同的业务诉求,集群性能可弹性扩展到 5000 万至 50000 万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依赖一阵一阵、性能要求很高,现网一同维护500+个Redis实例,疲于应付容量扩容、性能下降、链接无响应、持久化失败等各种现网问题报告 ,给研发团队带来巨大挑战。

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

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

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

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

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

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

本文由站长之家用户投稿,未经站长之家同意,严禁转载。如广大用户你们,发现稿件存在不实报道,欢迎读者反馈、纠正、举报问题报告 (反馈入口)。

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