热门实践丨如何结合实际业务进行 ECS 规格选型与容量验证

news2024/11/23 16:42:33

作者:赵佳佳

随着云原生技术的蓬勃发展以及云产品价格愈发低廉,越来越多 Geek 开发者、技术爱好者选择 OSS 对象存储、ECS 云服务器等基础产品构建自己的网站、网盘等应用。但对于企业而言,面对种类与规格的丰富的 ECS 云服务器,如何了解实例规格的关键特点,在库存不足、产品下线、使用抢占式实例等场景中,保障业务的稳定运行成为关键。

那么接下来,我们一起了解 ECS 云服务器如何选型并通过 PTS 进行容量规划,接下来我们将介绍三种不同的 ECS 选型方式。

01 结合实例规格参数进行选型

启动 ECS 实例前,我们会结合性能、价格、工作负载等因素进行配置选择。根据不同配置参数,ECS 提供包含多种不同实例规格的实例规格族。在实际使用过程中,我们可通过以下两种方式找到参数最合适的实例规格。

  • 实例规格族 [ 1] :查阅文档了解实例规格族的产品详情。
  • DescribeInstanceTypes [ 2] :调用 ECS API 接口,获取最新的性能规格参数。

针对这种方式,我们需要了解实例规格的命名方式,以便我们能够快速了解并找到所需的实例规格。实例规格族名称格式为 ecs.<规格族> ,实例规格名称为 ecs.<规格族>.large。具体命名规则说明如下所示:

  • ecs:云服务器 ECS 产品代号。
  • <规格族> :由规格族主体+规格族后缀组成。
  • x86 计算规格族和 ARM 计算规格族

在这里插入图片描述

  • 异构计算规格族、弹性裸金属服务器、超级计算集群(SCC)实例规格族异构计算规格族、弹性裸金属服务器和超级计算集群(SCC)实例规格族一般采用自主命名方式,由小写字母和数字混合组成。

在这里插入图片描述

  • large large 表示 vCPU 核数, 中的 n 越大,表示 vCPU 核数越多。其中,xlarge 代表 4 核,2xlarge 代表 8 核,3xlarge 代表 12 核等等,以此类推。

02 根据自建服务与应用进行选型

当企业选择服务上云的过程中,在采买各种云产品的同时,也会进行各种服务或应用自建,以便满足实际的业务需求。为了方便选型,我们总结罗列了常见自建服务与应用对应的 ECS 实例规格,可以根据企业所使用的应用,并参考选型原则,选择对应的实例规格族。

在这里插入图片描述

在这里插入图片描述

03 根据应用场景进行选型

除了根据直接参数以及自建应用与服务两种方式之外。在实际生产过程中,我们会发现很多业务场景不只是单一个服务或者应用就能满足的。同时,相关业务场景的附加要求也会相对复杂。

通用应用、游戏服务、视频直播场景

在通用场景中,性能需求表现为 CPU 计算密集型,需要相对均衡的处理器与内存资源配比,通常选用 CPU 与内存配比 1 : 2、系统盘选用高效云盘、数据盘选用 SSD 云盘或者 ESSD 云盘。如果业务需要更强的网络性能,如视频弹幕等,可选用同系列中更高规格的实例规格,提高网络收发包能力(PPS)。

在这里插入图片描述

Hadoop、Spark、Kafka 大数据场景

在 Hadoop、Spark、Kafka 大数据等场景中,由于涉及不同节点,性能需求表现较为复杂,需要均衡各个节点的性能表现,包括计算、存储吞吐、网络性能等。其中,管理节点、计算节点可当作通用场景处理。根据集群规模不同,需要选择不同实例规格。如 100 个节点以下可选用 ecs.g6e.4xlage,100 个节点以上可选用ecs.g6e.8xlage。同时,数据节点需要高存储吞吐、高网络吞吐、均衡的处理器与内存配比,可使用大数据型d系列规格族。如 MapReduce/Hive 可选择 ecs.d2s.5xlarge,Spark/Mlib 可选择 ecs.d2s.10xlarge。

在这里插入图片描述

数据库、缓存、搜索场景

在该类场景中,实例规格的处理器与内存配比一般要求高于 1 : 4,部分软件对存储 I/O 读写能力及时延性能较为敏感,可选用单位内存性价比较高的规格族。

在这里插入图片描述

以数据库为例,在传统方式中业务系统直接对接 OLTP 数据库,数据冗余大多通过 RAID 磁盘阵列实现。选择云服务器 ECS,轻载、重载数据库都能实现灵活部署。

在这里插入图片描述

  • 轻载数据库:采用企业级实例规格搭配云盘使用,性价比更高。
  • 重载数据库:需要高存储 IOPS 和低读写延时,推荐使用本地 SSD 型 i 系列实例规格族(搭配了高 I/O 型本地 NVMeSSD 本地盘),满足大型重载数据库要求。

深度学习、图像处理场景

在深度学习、图像处理等场景中,应用需要高性能 GPU 加速器,在 GPU 和 CPU 配比方面有如下建议。

  • 深度学习训练:GPU 与 CPU 比例推荐为 1 : 8 到 1 : 12 之间。
  • 通用深度学习:GPU 与CP U比例推荐为 1 : 4 到 1 : 48 之间。
  • 图像识别推理:GPU 与 CPU 比例推荐为 1 : 4 到 1 : 12 之间。
  • 语音识别与合成推理:GPU 与 CPU 比例推荐为 1 : 16 到 1 : 48 之间。

在这里插入图片描述

在以上场景之外,我们针对异构计算、通用计算总结了常见场景以及对应的规格实例,以便大家选择。

在这里插入图片描述
在这里插入图片描述

04 规格验证与容量规划

当完成选型并开始使用 ECS 云服务器实例后,对于实际业务而言这仅仅是开始。在实际业务中,在资源未成为瓶颈时,并发量、TPS、CPU 趋势呈线性关系,当资源利用饱和时,随业务并发量增长,TPS 趋势保持平稳状态, CPU 开始飙升。当资源利用饱和且并发量突破极限容量点时,TPS 趋势及 CPU 都出现波动,甚至容量开始雪崩,此时服务开始出现不可用现象。

在这里插入图片描述

因此,在选择合适的规格之后,服务稳定性、资源利用率、业务吞吐量成为新的考量与关注重点。不同团队角色关注重点不尽相同:

  • 业务团队应关注:重要业务活动期间,容量是否可以平稳支撑业务量;
  • 研发团队应关注:手动扩容、自动扩容、发布/回滚不被资源限制;
  • 运维团队应关注:资源使用率、部门资源水位、资源用量及成本。

但传统基于人工经验的资源规格配置模式存在局限性,为了保障线上业务的稳定性,通常会预留相当数量的资源与量来应对负载波动,造成大量资源浪费。

因此,需要借助压测工具性能测试 PTS [ 3] 验证 ECS 云服务器的规格选择是否正确,根据实际业务需求,通过容量分析、全链路追踪等方式探测云上系统的最佳安全容量点、极限容量点和破坏容量点并进行限流降级保护,达到系统容量和云上资源成本的最佳平衡点。

在这里插入图片描述

常见业务场景压测策略

在模拟类生产环境或引流生产环境运行的业务压力和应用场景组合的过程中,我们会选择如突变、并发、负载、稳定性、极限等不同的压测策略,去评估系统各项指标是否满足业务量、可用性、稳定性等要求。这里,我们总结了常见的业务场景、与之对应的压测策略以及策略优点。

在这里插入图片描述

最佳实践:基于性能测试 PTS 创建一个压测任务

在演示最佳实践的同时,我们提供了基于阿里云免费试用的 ECS + PTS 的场景体验,我们在阅读的同时进行体验。

URL:https://developer.aliyun.com/adc/scenario/f37fb4d355684e189b7d87c9b6c8d10b

(一)实验开始前准备

  • 如果您的阿里云主账号符合开通免费试用的资格,建议您开通免费试用性能测试 PTS、ECS 云服务器,性能测试 PTS 提供首月 5000VUM 免费压测资源,超出部分将按后付费专家版计费,具体计费详情,请参见性能测试 PTS 计费规则 [ 4]
  • 如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
  1. 在实验开始前,请您选择开通免费试用

在这里插入图片描述

  1. 开通性能测试 PTS 免费试用:在实验室页面下方,选择性能测试 PTS,单击立即试用。在性能测试 PTS 面板,选中服务协议,然后单击立即试用。此时系统会跳转至提交成功页面,表示试用申请成功,即可免费试用性能测试 PTS 服务。

说明:性能测试 PTS 专家版开通过程不会产生任何费用,在实际过程中性能测试(按量付费)提供 5000VUM+免费压测额度,超出部分将按后付费专家版计费,具体计费详情,请参见性能测试 PTS 计费规则。

  1. 开通云服务器 ECS 免费试用:在实验室页面下方,选择云服务器 ECS,单击立即试用。在云服务器 ECS 面板,根据如下说明完成参数配置,选中协议,单击立即试用,如弹出新的页面,您可先忽略。本试用教程以下列的配置信息为例,实际操作时,建议根据您的实际业务体量和需求选择。

在这里插入图片描述

  1. 前往 ECS 控制台 [ 5] ,在左侧导航栏,选择实例与镜像 > 实例。在顶部菜单栏左上角处,选择和试用实例相同的地域(本教程示例华东 1(杭州))。设置该实例登录密码。找到您创建的试用实例,在其右侧操作列单击在这里插入图片描述

实例属性 > 重置实例密码,按照界面提示设置 ECS 实例的登录密码。单击试用实例的 ID,选择安全组页签,单击安全组操作列的配置规则,在入方向添加需要放行的端口。本教程中,在安全组入方向放行 80、443、22、3389、8080 端口。

说明:实例创建完成大约 3~5 分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。

(二)一键配置并部署 ECS 应用

准备好资源后,可以通过一键配置快速完成资源配置或应用搭建。一键配置基于阿里云资源编排服务 ROS 实现,旨在帮助开发者通过 IaC 方式体验资源的自动化配置。模板完成的内容包括:

  • 为 ECS 实例创建安全组。
  • 部署 LAMP 环境。
  • 基于 LAMP 环境使用 PbootCMS 源码搭建网站。
  1. 打开一键配置模板链接 [ 6] 前往 ROS 控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示 YAML 文件的详细信息。

  2. 选择模板页面,ROS 控制台默认处于您上一次访问控制台时的地域,在本实验中地域应该处于华北 2(北京),保持页面所有选项不变,单击下一步进入配置模板参数页面。

在这里插入图片描述

  1. 配置模板参数页面,修改资源栈名称,选择您申请免费试用时创建的 ECS 实例,并通过设置 MySQL 数据库密码来修改数据库 root 用户的默认密码。填写完所有必选信息并确认后单击创建开始一键配置。

说明:

  • 安装 Apache、MySQL 和 PHP 需要通过互联网下载应用,配置时间可能由于网络稳定性等原因而不同。等待期间,您可以通过刷新资源栈信息页面来查看配置是否完成或通过单击事件页签查看配置详细进展。
  • 如果在同一台 ECS 实例上重复执行本教程的一键配置模板,请确保 MySQL 数据库密码和第一次执行模板时设置的密码完全一致。否则一键配置结果不可用。

在这里插入图片描述

  1. 资源栈信息页面,请您耐心等待大概 8~10 分钟,状态显示为创建成功时表示一键配置完成。

在这里插入图片描述

  1. 资源栈信息页面,单击输出

在这里插入图片描述

  1. 在输出页签,单击的 WebUrl 的值(http:///admin.php).

在这里插入图片描述

  1. 出现 PbootCMS 登录页面表示一键配置成功。您可以在 PbootCMS 中根据公司的需求自定义网站的内容,包括全局配置、基础内容、文章内容、扩展内容、会员中心等。本步骤的后续控制台操作为可选操作,可跳过。

在这里插入图片描述

(三) 开通性能测试 PTS 并创建场景进行压测及查看报告

  1. 前往性能测试 PTS 控制台 [ 7]

  2. 在左侧导航栏中,选择性能测试>创建场景

在这里插入图片描述

  1. 创建场景页面,单击 PTS 压测

在这里插入图片描述

  1. 创建 PTS 场景页面,设置场景名,然后在场景配置页签,输入压测 API 名称,例如 demo,单击右侧]
    图标。在压测URL区域中输入 http://:80。

说明 :ECS 公网 IP 地址可在云服务器管理控制台 [ 8] 的实例页面查看。

在这里插入图片描述

  1. 施压配置页签,配置相关压测参数,递增模式选择自动递增最大并发输入 50,递增百分比输入 10,单量级持续时长输入 1,压测总时长输入 5。确认参数后,单击保存去压测

说明:请严格按照指引配置参数进行配置,避免因超出免费试用额度而造成意外出费。

在这里插入图片描述

  1. 温馨提示对话框中,确认任务预估的预估消耗,未超过免费额度。确认后单击确定启动压测

在这里插入图片描述

  1. 请您耐心等待大约 3 分钟,您即可在压测中页面查看当前应用实时的压测数据。在压测中页面,您可以看到成功率、RT 和 TPS 等概览数据。

在这里插入图片描述

在这里插入图片描述

  1. 在压测完成之后,会自动跳转到编辑场景页面,然后单击压测报告

在这里插入图片描述

  1. 压测报告页签,找到您的压测报告,单击右侧操作列下的查看。在压测报告了解详细的压测报告内容。

在这里插入图片描述

在这里插入图片描述

容量规划与性能瓶颈分析

在拿到测试结果数据之后需要对系统中存在的瓶颈点进行分析为调优做准备,系统的性能瓶颈点主要分布在安全防护、负载均衡、后端应用、中间件、数据库、操作系统、硬件规格等方面,具体瓶颈点和调优细节,敬请期待《容量规划与调优》系列文章。

在这里插入图片描述

36.png

相关链接:

[1] 实例规格族

https://help.aliyun.com/document_detail/25378.htm#concept-sx4-lxv-tdb

[2] DescribeInstanceTypes

https://help.aliyun.com/document_detail/25620.htm#doc-api-Ecs-DescribeInstanceTypes

[3] 性能测试 PTS

https://www.aliyun.com/product/pts

[4] 性能测试 PTS 计费规则

https://help.aliyun.com/document_detail/433167.html?spm=a2c4g.29269.0.0.67fa7f32p02i2O

[5] ECS 控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fecs.console.aliyun.com%2F

[6] 一键配置模板链接

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fros.console.aliyun.com%2Fregion%2Fstacks%2Fcreate%3Fspm%3Da2c4g.611918.0.0.3aec628amGQK9n%26templateUrl%3Dhttps%3A%2F%2Fstatic-aliyun-doc.oss-cn-hangzhou.aliyuncs.com%2Ffile-manage-files%2Fzh-CN%2F20230320%2Fonyv%2F%25E5%25BF%25AB%25E9%2580%259F%25E6%2590%25AD%25E5%25BB%25BA%25E7%25BD%2591%25E7%25AB%2599.yml&lang=zh

[7] 性能测试 PTS 控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fpts.console.aliyun.com%2F&lang=zh

[8] 云服务器管理控制台

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fecs.console.aliyun.com%2Fserver%2Fregion%2Fcn-beijing

点击此处,立即进行 ECS 规格选型与容量验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/725593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络原理之三】应用层协议HTTP和HTTPS

HTTP什么是HTTP工作过程协议格式协议内容HTTP请求MethodURLURL的encode和decode Version请求报头请求正文 HTTP响应状态码响应报头 HTTPSHTTPS执行过程加密对称加密非对称加密 证书 HTTP 什么是HTTP HTTP&#xff1a;超文本传输协议。是一种应用非常广泛的应该层协议。 所谓 “…

Mybatis应用(3)——mybatis框架使用 mybatis项目应用初步 mybatis使用报错集锦

目录 引出mybatis框架使用1.导包&#xff1a;mybatis包分页的包pom.xml文件【war包】1.导包&#xff1a;mybatis包分页的包pom.xml文件【jar包】2.resources下配置mybatis-config.xml文件&#xff0c;以及log4j.properties文件3.在resources下建文件4.在UserMapper中写SQL myba…

若依v3.2问题解决:菜单路由不匹配 / 跳转路由页面空白

问题1解决方法 问题2解决方法 问题1 菜单路由不匹配 &#xff0c;在菜单管理中匹配代码中的相应组件&#xff0c;可是在页面上总是报匹配错误&#xff0c;下面是报错情况和相关数据库 解决方法 因为店铺管理是一个目录&#xff0c;而店铺详情和店铺列表是菜单&#xff0c;路…

UC伯克利LLM排行榜(Chatbot Arena Leaderboard)再更新!GPT-4稳居第一,Vicuna-33B登顶开源模型第一

UC伯克利LLM排行榜&#xff08;Chatbot Arena Leaderboard&#xff09;再更新&#xff01;GPT-4稳居第一&#xff0c;Vicuna-33B登顶开源模型第一 文章目录 1. LMSYS ORG更新「LLM排位赛」2. 全新评价机制&#xff1a;MT-Bench2.1 为什么选择 MT-Bench&#xff1f;2.2 用LLM评…

Vue 常用指令 v-bind 绑定动态值

v-bind 用于动态绑定一个或多个属性值&#xff0c;或者向另一个组件传递props值(这个后面再介绍)&#xff0c;应用场景:图片地址src、超链接href、动态绑定一些类、样式等等 绑定超链接 v-bind作用在属性上面绑定动态值。 v-bind 指令后接收一个参数&#xff0c;以冒号分割。v…

MySQL 第二天作业 操作表和用户权限

一、1.创建数据库 Market&#xff0c;在 Market 中创建数据表customers&#xff0c;customers表结构如表4.6所示&#xff0c;按要求进行操作。 (1&#xff09;创建数据库Market。 create database Market;(2&#xff09;创建数据表customers&#xff0c;在c_num字段上添加主键…

ModaHub魔搭社区:如何在 Jupyter Notebook 用一行代码启动 Milvus Lite?

目录 轻量版 Milvus 能做什么&#xff1f; 如何在 Jupyter Notebook 中使用向量数据库&#xff1f; 随着各种大语言模型&#xff08;LLM&#xff09;的涌现和 AI 技术变得越来越普遍&#xff0c;大家对于向量数据库的需求也变得越来越多。作为大模型的记忆体&#xff0c;向量…

【新星计划Linux】——常用命令(1)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 目录 前言 一.常用命令 1.Linux的基本原则&#xff1a; 用户接口&#xff1a; 2.命令形…

多肽中间体:23927-13-1,Cyclo(-D-Ala-D-Ala),3,6-二甲基-2,5-哌嗪二酮,的解析说明

Cyclo(-D-Ala-D-Ala)&#xff0c;3,6-二甲基-2,5-哌嗪二酮&#xff0c;(3R,6R)-二甲基-哌嗪-2,5-二酮&#xff0c;(3R,6R)-3,6-二甲基哌嗪-2,5-二酮产品结构式&#xff1a; 产品规格&#xff1a; 1.CAS号&#xff1a;23927-13-1 2.分子式&#xff1a;C6H10N2O2 3.分子量&#x…

xNIDS-解释基于深度学习的网络入侵检测系统实现自动入侵响应

文章目录 AbsIntroMotivation and ChallengesExplaining Detection Results of DL-NIDS目标近似历史输入围绕历史记录输入进行采样捕捉特征之间的依赖关系模型开发 Generating Defense Rules防御规则范围Defense Rule Scope安全性约束 Security Constraint统一防御规则 Unified…

仅个人记录 CMX复现

文章解析(214条消息) CMX: Cross-Modal Fusion for RGB-X SemanticSegmentation with Transformers_cmx: cross-modal fusion for rgb-x semantic segment_翰墨大人的博客-CSDN博客 代码 GitHub - huaaaliu/RGBX_Semantic_Segmentation 一、 环境配置 conda create -n rgbx…

暑假第三天打卡

Java&#xff1a; &#xff08;1&#xff09;main()方法格式固定&#xff0c;表示程序入口 public static void main(String[] args) &#xff08;2&#xff09;java程序严格区分大小写 &#xff08;3&#xff09;System.out.println():换行 System.out.print():不换行 &…

【洛谷】P2700 逐个击破

思路&#xff1a; 先上一份ACode:&#xff08;具体解释思路在下面&#xff09; #include<bits/stdc.h> using namespace std; #define int long long const int N1e510,M2*N; int n,k,x,fa[N],sum; struct E {int u,v,w; } e[M]; int head[N],cnt; bool vis[N];bool cm…

爬虫入门04——requests库中的User-Agent请求头

import requests#定义请求的url url https://www.baidu.com/ #https://site.ip138.com/www.xicidaili.com/#发起get请求 res requests.get(url url)#获取响应结果#响应对象 print(res)#获取响应状态码 print(res.status_code)#获取响应数据 print(res.text) #返回的是字符…

SignalPlus X 北大汇丰商学院 X SHEF 公开课

&#x1f4e2; SignalPlus X 北大汇丰商学院 X SHEF &#x1f4a0; 数字金融和 AI 量化系列课程第二课 &#x1f4a0; 课程主题&#xff1a;机器学习在金融市场的应用 &#x1f4a0; 时间&#xff1a;2023 年 7 月 5 日 星期三 下午 19:00-21:00 &#x1f4a0; 授课方式&#…

【JUC进阶】10. 使用JMH进行性能测试

目录 1、前言 2、传统的性能测试 2、什么是JMH 3、Hello JMH 3.1、Maven相关依赖 3.2、编写简单示例 4、基本属性配置 4.1、BenchmarkMode 4.2、Benchmark 4.3、OptionsBuilder & Options 4.4、迭代Iteration 4.5、预热&#xff08;Warmup&#xff09; 4.6、状…

一图掌控污水厂运营——远眺污水厂数字孪生平台「捷码精品应用展」

随着我国城市化率的提升与环保意识的逐渐提升&#xff0c;对于污水处理的意识与需求也越来越强&#xff0c;需要处理的污水日益增多&#xff0c;污水厂承担的压力明显变大。 传统污水厂通常通过人工巡检的方式&#xff0c;进行设备和厂区检查和监测&#xff0c;这种方法效率低下…

MODBUSTCP和MODBUSRTU数据帧对比

工具介绍 ModBus Poll 在TCP中模拟客户端&#xff0c;在RTU中模拟主机&#xff1b;&#xff08;请求数据方&#xff09; ModBus Slave 在TCP中模拟服务器&#xff0c;在RTU中模拟从机&#xff1b;&#xff08;响应数据方&#xff09; 数据帧简介 ModBus是一种通信协议&#…

Spring整合Elasticsearch(2)

原生查询 可以查询的范围更精确,当ElasticsearchRepository提供的基本方法无法满足我们所需要的查询可以使用原生的方式查询 Test//原生查询public void naticeQuery(){//创建原生查询构建器对象NativeSearchQueryBuilder queryBuilder new NativeSearchQueryBuilder();//过滤…

【前端】ant-design-pro初体验

什么是Ant Design Pro Ant Design Pro 是一个企业级中后台前端/设计解决方案&#xff0c;它秉承 Ant Design 的设计价值观&#xff0c;致力于在设计规范和基础组件的基础上&#xff0c;继续向上构建&#xff0c;提炼出典型模板/业务组件/配套设计资源&#xff0c;进一步提高企…