amazon-web-services - EC2 实例的功能是否按比例扩展?
问题描述
假设我有三个选择:
实例类型 | 虚拟CPU | 内存 (GiB) | 带宽 (Gbps) | 价格 |
---|---|---|---|---|
小的 | 一个 | 乙 | C | D |
中等的 | 2A | 2B | 2C | 二维 |
大的 | 4A | 4B | 4C | 4D |
运行 4 个小型实例与 2 个中型实例与 1 个大型实例有何影响?一个更好还是它们相同?
我对这一切都很陌生,在此先感谢。
解决方案
您的表在 Instance Type 系列中是准确的。例如m5.large
,m5.xlarge
和m5.2xlarge
。
使用多个(较小的)实例的一些好处是:
- 跨多个可用区(不同的数据中心)分布实例以避免潜在的中断时间(这种情况很少见,但可能会发生)
- 如果单个实例出现问题,则只会丢失一部分容量,而不是丢失所有容量
- 如果您的应用程序不能使用多个 CPU,那么在单独的实例上运行线程将比在更大的实例上运行单个线程执行得更好
- 实例可以单独更新(例如安装新版本的软件),因此在升级过程中只有一部分总容量不可用,而不是全部不可用
- 您可以在单个实例上测试较新版本的软件并密切监视它以确认它的行为符合预期,而不是需要一次全部推出更改
使用多个实例的缺点是:
- 必须在每个实例上运行操作系统的开销更大(因此应用程序可用的 RAM 和 CPU 更少)
- 应用程序需要设计为跨多个实例运行(通常以无状态方式)
- 需要负载均衡器来分配负载(假设您正在运行 Web 应用程序)
推荐阅读
- python - 无法安装 PyAudio python3.8
- mysql - MySql 信号定义
- c# - ASP.NET Core MVC SelectList 未设置 selectedValue
- javascript - Angular js http post总是执行successcallback
- sql - 识别数据库中的特定行
- java - Spring Batch - ItemWriter 正在写入 ItemReader 读取的相同对象,但不是通过 ItemProcessor 处理后返回的对象
- angular - Angular 9 从 8 升级 - 包“-y”不是依赖项
- api - 列出 Wikia API 中的所有 API 类别
- javascript - 如何分离从表行中获取的值并将其存储在雪花中的数组中
- html - 模型被训练来预测句子中的拼写是否正确