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

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

2024-07-29腾讯王***
巧用CPU弹性扩容,轻松应对流量高峰

直击客户现场: CPU弹性扩容应用与实践 腾讯云数据库解决方案架构师李邦国 2024.07.25 常见的CPU痛点问题 数据库缓存命中率低 数据库查询语句复杂 索引失效 大量并发更新操作 常见的CPU痛点问题 突发流量,导致连接数过多 CPU打爆 数据库死锁 硬件配置不足 怎么办 赶紧升配 恢复后 发现CPU被打爆控制台申请升配等待升配ing控制台申请降配 方案不足之处 预期时间不定:现网变配时长受数据量的影响,等待时长不定; 存在闪断风险:升配过程中可能出现闪断情况,影响业务正常运行; 需要反应迅速:发现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.【自动扩容】生效验证 实例详情页–CPU弹性扩容文字说明已更新 3.【手动扩容】生效验证 实例详情页–CPU弹性扩容文字说明已更新 任务列表页–筛选实例-查询任务开启状态 功能是否生效 【事件告警】跟踪触发情况配置事件告警策略,可通过站内信、短信、微信等方式告知主 账号、子账号CPU弹性扩容状态 自动扩容 CPUExpansion CPUExpansionFailed 状态详情如下 CPU自动扩容成功CPU自动扩容失败CPU自动回缩成功 手动扩容 CPUExpansion CPUConstraction CPUExpansionFailed CPUConstraction CPU手动扩容成功CPU手动扩容失败CPU手动扩容关闭 如何弹回去 5.自动扩容的自动回缩6.关闭手动扩容 【自动扩容】可自动触发回缩,回缩成功则计费停止;【手动扩容】需手动关闭,计费停止; 完整的生命周期 贵不贵?怎么计费 弹多少,计多少,不弹不计费,无需为低峰付费。 客户应用与实践 常见问题 为什么我的控制台上没有CPU弹性扩容功能? 检查实例是否为单节点(云盘版)、独享型实例,该类型实例暂不支持CPU弹性扩容功能; 在压测时,开启扩容功能后,监控显示CPU利用率为何一直为100%? CPU利用率会根据实际CPU核数计算,当业务压力能够使用完所有CPU性能时,应该关注数据库系统的TPS、QPS、响应时间等性能相关指标; 为什么CPU弹性扩容功能没有开启成功? 腾讯云账户余额不足; 主机CPU资源不足(极小概率); 为什么扩容、缩容时没有事件通知? 检查是否开启CPU弹性扩容的相关事件; 检查通知人列表,可能未添加相关用户; 检查是否设置每日通知次数,默认为一次; 开启弹性扩容后,发生了HA切换怎么办? 双节点、三节点弹性扩容功能是主备同时扩容,一旦发生HA,备节点切换为主节点时同样是扩容后的规格; 注意:只读实例和灾备实例需单独开启功能,不同时扩容; 场景化解决方案 感谢观看! Thankyou CPU弹性扩容:全新升级 助力业务成本一降再降 目录 01背景介绍 传统部署模式 --以资源为中心 规划应用容量评估数据库资源购买匹配规格 调整规格 背景介绍 传统云数据库固定规格部署的影响 易造成资源浪费 调整规格需要用户评估资源用量,升级过程较长、可能导致闪断 人工调整规格工作繁重 运维压力上升,非标数据难以维护 背景介绍 传统云数据库Severless+Database FAAS+BAAS+弹性伸缩+按需计费 •无需运维 •事务ACID •一致性 •MVCC •… •实时弹性伸缩 •按量计费,不使用不计费 •高可用 云原生+Severless+Database 背景介绍 传统云数据库上的CPU弹性扩容 在有限的资源基础上实现CPU弹性伸缩 减少人工操作、减轻运维压力 提升资源利用率 减小用户使用成本 目录 02CPU弹性扩容 CPU弹性扩容 2023年自动扩容+手动扩容2024年即将发布自动扩容、自定义扩容 能力全新升级 分钟粒度,最高一倍扩容秒级粒度,支持多倍扩容,支持时间段扩容支持查看扩容记录,当前CPU核数 请求 云平台CloudAPI 主动扩缩容 计费回调 mq 管控平台OSS zk 自动扩缩容 drtm 同步请求和元数据 实例机Agent CPU弹性扩容 手动扩容 用户按需配置 适用于业务高峰期提前设置 CPU 资源 手动扩容 低峰期 高峰期 忽略负载 t1t2t3 高峰结束后 关闭扩容 时刻 CPU弹性扩容-自动扩容 自动扩容 自动检测实例cpu负载,负载高时自动增加一倍cpu规格,负载降低时cpu自动回缩 扩容时间 观测周期+1.5~2s扩容操作时长 请求 主动扩缩容 zk 云平台CloudApi 计费回调mq管控平台OSS 自动 扩容阈值 扩容70%、80%、90%缩容30%、20%、10% 观测周期 1min、3min、5min、10min、15min、30min drtm 同步请求和元数据 实例机Agent 扩缩容 CPU弹性扩容-自动扩容 持续监控采集 采集频率1s 精准决策 决策算法p95->p90 扩容速度更快 CPU 资源 低负载 自动扩容 CPU满载IO受限 负载降低后缩容 缩容观测周期 扩容观测周期 缩小扩容观测时间 15s、30s、45s、60s、180s、300s、 600s、900s、1800s 阶梯式扩容 扩容规格上限增加,弹性步数调大 t1t2t3 t4t5时刻 CPU弹性扩容-自动扩容 阶梯式扩容: 增加cpu资源上限增加扩容步数 资源 自动扩容后仍受限 负载降低后缩容 低负载 CPU满载IO受限 CPU 自动扩容 仅单次扩容,弹性能力受限 自动扩容-加强 资源阶梯式扩张,弹性能力进一步提高 CPU CPU满载IO受限 资源 低负载 再次扩容 自动扩容后仍受限 满足需求 t1t2t3t4 时刻t1t2t3t4时刻 CPU弹性扩容-自定义扩容 更灵活的扩容时间 用户决定生效时间、支持设置指定时间 CPU 指定时间段自定义扩容 段、指定时间周期 重点保障目标时间段内稳定的cpu性能 业务低峰期 多种扩容规则随意切换 资源自动扩容 手动扩容 自动扩容 手动扩容+自动扩容,随意切换 适用场景 频繁高峰、高峰时间窗口小 t1t2 t3t4t5时刻 业务高峰期 CPU弹性扩容-自定义扩容 在规则切换时间段内,如何平滑切换? 指定时间段自定义扩容 场景1:同时发起自动扩缩容请求与手动扩容请求 业务低峰期 场景2:同时发起自动扩缩容请求与手动扩容请求 CPU 资源 自动扩容 手动扩容 自动扩容 业务高峰期 1)记录边界时间段的cpu使用率 2)周期开始时选择手动扩容请求 3)周期结束时选择自动扩容请求 原则:重点保障目标时间段内cpu不下降 t1t2 t3t4t5时刻 扩容失败后如何处理? CPU弹性扩容 •建议配置事件总线,及时接收告警 •自定义扩容 •扩容历史 CPU弹性扩容 自动扩容 持续监控 + p95决策 场景: cpu资源上限要求一般,扩容速度要求一般, 可接受小概率扩容失败 自动扩容-加强版 阶梯式弹性 + 最大可用资源上限提升 场景: 对cpu资源上限要求高;扩容速度要求一般;扩容损耗时间适中; 可接受小概率扩容失败 自定义扩容 自动扩容 + 手动扩容 场景: 扩容速度要求极高;指定时间段内无扩容时间损耗,不容忍扩容失败 目录 03挑战与展望 挑战与展望 1.支持内存资源的弹性伸缩能力 2.AI负载预测提前扩容 3.更多产品架构支持(独享型、单节点等) 感谢观看! Thankyou 向着云原生进化 --集群新架构助力企业轻松应对高并发 目录Menu •为什么我们需要新架构 •集群版(基于新架构的全新形态) •RoadMap 导师介绍 腾讯云数据库高级产品经理 程昌明 腾讯云数据库MySQL产品线负责人,在高可 用解决方案、信息安全、系统规划、性能优化、灾难恢复与信息系统整合方面拥有丰富的实践经验。曾为网络运营商、银行、能源(国网、南网)及政府等各行业的关键业务系统,提供运维、升级、项目实施与管理、容灾建设等疑难问题咨询与技术实施服务。 为什么我们需要新架构 存算一体化架构 VIP1# 只) 读(在线 VIP0# 读写 VIP2# (全局读写分离) VIP3# 只读(离线) VIP5# TGW(R) TGW(W/R) proxy TGW(R) TGW(R) 上海二区 Master 异步、半同步、强同步 replication Slave0# 广州四区 灾备实例master 异步、半同步、强同步 replication 灾备实例slave replication RO0# RO1# RO2# RO3# RO0# RO1# RO2# RO3# 上