您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:巧用CPU弹性扩容,轻松应对流量高峰 - 发现报告

巧用CPU弹性扩容,轻松应对流量高峰

2024-07-29腾讯王***
AI智能总结
查看更多
巧用CPU弹性扩容,轻松应对流量高峰

CPU弹性扩容应用与实践 腾讯云数据库解决方案架构师李邦国2024.07.25 常见的CPU痛点问题 怎么办 方案不足之处 预期时间不定:现网变配时长受数据量的影响,等待时长不定;存在闪断风险:升配过程中可能出现闪断情况,影响业务正常运行;需要反应迅速:发现CPU被打爆,到进入控制台申请升配需要快速响应;后续工作较多:人工登录控制台申请降配; CPU弹性扩容 CPU弹性扩容是腾讯云云数据库MySQL最新推出的能力项,已于2023年6月全地域发布 让CPU弹起来,主打一个快速响应 当数据库访问量增加或CPU资源占用率上升时,可以自动添加更多的CPU资源,并在高峰期结束后自动缩减。 云上动态分配资源,确保高可用 该功能基于云环境优势,实现动态分配CPU资源。用户可在控制台上选择是否开启CPU弹性扩容功能,根据业务的需求和业务量动态地配置数据库的CPU资源,从而完成弹性扩展,应对高峰压力,确保数据库实例的高性能,高可用性和高稳定性。 业务存在高峰低峰,无需为低峰付费,一天成本最高降低98.9% 例如:北京地域32C256G通用型三节点,每天高峰期合计1h,其余23h为低峰期计算:升配需额外付费(207.4-108.8)*24=2366.4;自动CPU弹性扩容:32*0.81*1=25.92元;一天最高可省2340元; CPU弹性扩容功能介绍 什么是CPU弹性扩容? CPU弹性扩容指的是基于云环境通过动态分配CPU资源,可实现CPU资源的手动/自动调整和弹性扩展,主打一个快速响应和变更。 当数据库访问量增加或CPU资源占用率上升时,可以自动添加更多的CPU资源,并在高峰期结束后自动缩减。这种弹性扩容的方式,能够使用户根据业务的需求和业务量动态地配置数据库的CPU资源,从而确保更好的数据库性能、可用性和稳定性,提高平台的弹性和可靠性。 怎么弹 CPU弹性扩容功能分为【自动扩容】与【手动扩容】两种类型 客户自行设置扩容阈值和观测周期,当实例CPU达到阈值超过观测周期时,扩容功能生效;相同地,当实例CPU达到缩容阈值超过观测周期时,缩容功能生效;期间无需客户自行调配; 自动扩容: 手动扩容: 当客户开启手动扩容成功时,实例按照扩容后的CPU核数运行。当业务无需更多CPU资源时,需手动关闭CPU弹性扩容,否则收费会持续进行。 开启自动扩容 1.控制台【实例详情】页,找到【CPU弹性扩容】功能项,点击开启 2.CPU弹性扩容设置 设置自动扩容:CPU弹性扩容类型选择【自动扩容】; 扩容核数大小:默认为当前CPU核数大小,例如上图购买的2核,默认扩容2核,扩容后为4核;自动扩容阈值&观测周期:当前实例cpu利用率达到某个阈值超过观测周期时,触发自动扩容;自动缩容阈值&观测周期*:扩容后的实例cpu利用率达到某个阈值超过观测周期时,触发自动缩容;CPU扩容费用:采用按扩容量计费,按分钟计费,每小时扣费一次;*为避免出现持续间歇高峰的影响,在自动扩容时存在最短保护时间,为10min; 开启手动扩容 1.控制台【实例详情】页,找到【CPU弹性扩容】功能项,点击开启 2.CPU弹性扩容设置 设置手动扩容:CPU弹性扩容类型选择【手动扩容】;额外增加CPU核数:每1核为一个增长单位,最高值为购买核数;例如上图购买的2核,可扩容1核,最高扩容2核;额外增加IOPS:每提升1核,IOPS同步增加1000;CPU扩容费用:采用按扩容量计费,按分钟计费,每小时扣费一次;注意:开启成功即计费,直至关闭功能才停止计费;生效时间:点击立即扩容后生效; 功能是否生效 3.【手动扩容】生效验证 3.【自动扩容】生效验证 实例详情页–CPU弹性扩容文字说明已更新 实例详情页–CPU弹性扩容文字说明已更新 任务列表页–筛选实例-查询任务开启状态 功能是否生效 配置事件告警策略,可通过站内信、短信、微信等方式告知主账号、子账号CPU弹性扩容状态 【事件告警】跟踪触发情况 状态详情如下 自动扩容 手动扩容 如何弹回去 5.自动扩容的自动回缩 6.关闭手动扩容 【自动扩容】可自动触发回缩,回缩成功则计费停止; 【手动扩容】需手动关闭,计费停止; 完整的生命周期 贵不贵?怎么计费 弹多少,计多少,不弹不计费,无需为低峰付费。 客户应用与实践 常见问题 为什么我的控制台上没有CPU弹性扩容功能? 检查实例是否为单节点(云盘版)、独享型实例,该类型实例暂不支持CPU弹性扩容功能; 在压测时,开启扩容功能后,监控显示CPU利用率为何一直为100%? CPU利用率会根据实际CPU核数计算,当业务压力能够使用完所有CPU性能时,应该关注数据库系统的TPS、QPS、响应时间等性能相关指标; 开启弹性扩容后,发生了HA切换怎么办? 为什么CPU弹性扩容功能没有开启成功? 腾讯云账户余额不足;主机CPU资源不足(极小概率); 双节点、三节点弹性扩容功能是主备同时扩容,一旦发生HA,备节点切换为主节点时同样是扩容后的规格;注意:只读实例和灾备实例需单独开启功能,不同时扩容; 为什么扩容、缩容时没有事件通知? 检查是否开启CPU弹性扩容的相关事件;检查通知人列表,可能未添加相关用户;检查是否设置每日通知次数,默认为一次; 场景化解决方案 Thank you感谢观看! CPU弹性扩容:全新升级助力业务成本一降再降 目录 背景介绍01 背景介绍 传统云数据库固定规格部署的影响 调整规格需要用户评估资源用量,升级过程较长、可能导致闪断 背景介绍 Severless+Database 传统云数据库 FAAS+BAAS+弹性伸缩+按需计费 •无需运维•实时弹性伸缩•按量计费,不使用不计费•高可用 云原生+Severless+Database 背景介绍 传统云数据库上的CPU弹性扩容 在有限的资源基础上实现CPU弹性伸缩 目录 CPU弹性扩容02 CPU弹性扩容 2024年即将发布 2023年 自动扩容、自定义扩容 自动扩容+手动扩容 分钟粒度,最高一倍扩容 CPU弹性扩容 手动扩容 CPU弹性扩容-自动扩容 自动扩容 CPU弹性扩容-自动扩容 持续监控采集缩小扩容观测时间15s、30s、45s、60s、180s、300s、600s、900s、1800s阶梯式扩容扩容规格上限增加,弹性步数调大扩容速度更快采集频率1s精准决策决策算法p95->p90 CPU弹性扩容-自动扩容 阶梯式扩容:增加cpu资源上限增加扩容步数 CPU弹性扩容-自定义扩容 更灵活的扩容时间 用户决定生效时间、支持设置指定时间段、指定时间周期 重点保障目标时间段内稳定的cpu性能 CPU弹性扩容-自定义扩容 在规则切换时间段内,如何平滑切换? 场景1:同时发起自动扩缩容请求与手动扩容请求 1)记录边界时间段的cpu使用率2)周期开始时选择手动扩容请求3)周期结束时选择自动扩容请求 原则:重点保障目标时间段内cpu不下降 CPU弹性扩容 扩容失败后如何处理? •建议配置事件总线,及时接收告警 CPU弹性扩容 目录 挑战与展望03 挑战与展望 1.支持内存资源的弹性伸缩能力 2.AI负载预测提前扩容 3.更多产品架构支持(独享型、单节点等) Thank you感谢观看! 向着云原生进化 --集群新架构助力企业轻松应对高并发 目录Menu •为什么我们需要新架构•集群版(基于新架构的全新形态)•RoadMap 导师介绍 程昌明 腾讯云数据库MySQL产品线负责人,在高可用解决方案、信息安全、系统规划、性能优化、灾难恢复与信息系统整合方面拥有丰富的实践经验。曾为网络运营商、银行、能源(国网、南网)及政府等各行业的关键业务系统,提供运维、升级、项目实施与管理、容灾建设等疑难问题咨询与技术实施服务。 为什么我们需要新架构 存算一体化架构 优势: •本地磁盘极低IO响应时间•本地资源无损弹性(CPU弹性)•网络架构易扩展 劣势: •备份恢复时长随数据量增长•磁盘规格受限•计算资源上限受代次限制•需要不可读备机提供可用性保障•底层内核特性更新缓慢 集群版架构 特点: •计算资源与磁盘规格无需绑定•支持全部性能级别磁盘类型•计算资源按照算力定期迭代•备份使用云盘快照•适用于新架构的内核优化•快速增删节点•支持高频快照(15分钟间隔) 场景: •业务变化较大,频繁扩缩容或增加只读实例提升读性能•经常需要快速回档的游戏项目•数据量较大的在线业务系统 横向&纵向扩容 纵向上限高: •CPU最大支持512核•内存最大支持2TB•存储最大支持32TB(预计年底支持64TB) 横向扩容快: •5分钟快速扩展•支持独立只读•支持自动读写分离•支持自动故障转移 集群版 内核特性–BP预热 背景及问题 •节点重建或常态化的实例迁移,新节点BufferPool需要长时间预热,而预热期间影响业务运行,QPS长达数十分钟恢复正常。•主从缓存不同:读写节点业务与只读节点业务缓存数据存在差异。 解决方案-主从缓存同步优化 •主库异步dumpbufferpool信息,获取Btree热点数据范围,生成逻辑快照。•从库加载快照信息,通过直接扫描Btree异步预热备库bufferpool。•主从bufferpool热数据逻辑保持一致。 内核特性–原子写 背景及问题 •MySQLInnoDB的page size一般为16KB,数据校验也是按16KB页面来计算的。但操作系统写入磁盘是以4KB页进行的,为了保证InnoDB的16KB页的原子写入,MySQL采用Double Write的方式完成数据写入,数据页面存在双倍的写入。 解决方案-16k原子写 •16k原子写是通过文件系统COW异地更新的机制,确保MySQL 16k页面原子写入,优化MySQL的写入性能和数据写入量,解决Double Write带来的额外IO带宽占用问题。 内核优化–提升15%性能 性能提升明显 •从实际测试数据观察,对比优化前,在读写混合场景下有30%~50%的性能提升。 测试方案 •使用sysbench工具,在读写混合场景下设定并发度为CPU核数8倍进行测试。 新架构特性 支持从机只读 •从节点支持配置只读地址,无需额外创建隐藏从机。•多个从节点支持自动负载均衡能力。 提供读写以及只读地址 快速增加节点 多节点监控指标 •从快照进行节点添加,无需等待数据恢复完成即可使用。•更简单易懂的扩展拓扑操作。 节点监控 •每个节点均有自己的监控指标,可以更直观的了解集群维度下实例运行状态。 RoadMap Thank you感谢观看! 扫码添加“小助手”获数字化升级资料及1v1咨询服务