DigitalOcean Droplets 是在虚拟化硬件之上运行的基于 Linux 的虚拟机 (VM)。您创建的每个 Droplet 都是您可以使用的新服务器,可以独立使用,也可以作为更大的基于云的基础架构的一部分 选择正确的 Droplet 计划取决于您的工作量。一个过大的 Droplet 会使用不足的资源并花费更多,但是一个过小的 Droplet 以完整的 CPU 或内存运行会导致性能下降或错误 为了帮助您为您的用例选择最佳的 Droplet 计划,本文解释了共享 CPU 和专用 CPU 之间的区别,详细介绍了每个 Droplet 计划,并总结了如何做出数据驱动的决策 您还可以在创建后将 Droplet 调整为更大的计划,包括调整为更大的不同类型的 Droplet 计划。例如,您可以将 Basic Droplet 计划的大小调整为更大的 CPU 优化 Droplet 计划。有关计划和价格的完整列表,请参阅 Droplet 定价页面 一种 **Droplet** 是从物理主机分配资源(如 CPU、RAM 和磁盘存储)的虚拟机 (VM) 一种 **hypervisor 也称为虚拟机监视器,确保在物理主机上运行的多个 Droplet 各自接收其虚拟资源,如 vCPU 一种 **vCPU** 是与处理器核心上的单个超线程相对应的处理能力单位。一个现代的多核处理器有多个 vCPU 您选择的 Droplet 计划决定了分配给 Droplet 的资源量。 RAM、磁盘存储和网络带宽等资源始终是专用的,但您可以在专用 vCPU 的共享 CPU 和专用 CPU 计划之间进行选择 专用 CPU Droplet 保证始终可以访问完整的超线程。使用共享 CPU Droplet,分配给 Droplet 的超线程可以在多个其他 Droplet 之间共享。当共享 CPU Droplet 承受较重的负载时,虚拟机管理程序会动态地为其分配更多的超线程 然而,可供管理程序分配的 CPU 周期数取决于共享该主机的其他 Droplet 的工作负载。如果这些相邻的 Droplet 具有高负载,则 Droplet 可以接收部分超线程,而不是专门访问底层物理处理器。实际上,这意味着共享 CPU Droplets *可以*访问完整的超线程,但不能保证 有五个 Droplet 计划:一个共享 CPU 计划和四个专用 CPU 计划 |Droplet 计划||CPU||vCPUs||内存| | |基本(普通和高级)|共享||1 - 8||1 - 16 GB RAM| | |通用 |专用||2 - 40 ||8 - 160 GB RAM | 4 GB RAM / vCPU | |CPU 优化 |专用 ||2 - 48 ||4 - 96 GB | 2 GB RAM / vCPU | |内存优化 |专用||2 - 32 ||16 - 256 GB RAM | 8 GB RAM / vCPU | |存储优化|专用||2 - 32 ||16 - 256 GB RAM | 8 GB RAM / vCPU 150 - 225 GB SSD / vCPU 对于未充分利用专用线程的工作负载,Basic Droplet 以较低的成本提供最高效的 CPU 使用率。它们非常适合可以处理可变级别 CPU 的突发应用程序,例如: Basic Droplets 有多种配置,从 1 个 vCPU / 1 GB 内存到 8 个 vCPU / 16 GB 内存。它们还使您可以灵活地选择最适合您的应用程序的内存与 vCPU 比率 Basic Droplets 是共享 CPU,非常适合大多数在中低负载下运行且偶尔会在短时间内突然爆发的应用程序。对于时间紧迫或性能变化无法忍受的生产工作负载,您应该选择专用 CPU Droplet Basic Droplets 可以有 Regular CPU 或 Premium CPU。您可以在 Intel 和 AMD 之间选择高级 CPU 带有 Premium CPU 的 Basic Droplets 保证使用我们拥有的最新两代 CPU 之一和 NVMe SSD。 NVMe SSD 使用并行机制提供比普通 SSD 更快的磁盘性能。使用 NVMe SSD 需要大量事务的工作负载将具有更低的延迟 Premium CPU Droplets 还具有增强的内存性能,这可以在内存数据库和 Web 应用程序的服务器端缓存等工作负载中发挥重要作用。 Premium AMD Droplets 的内存频率为 3200 MHz,而 Premium Intel 为 2933 MHz 高级 CPU Droplet 具有第二代或第三代英特尔至强可扩展处理器或第二代或第三代 AMD EPYC 处理器。常规 CPU Droplet 混合了第一代或更旧的 Xeon 可扩展处理器和 AMD EPYC 处理器 通用 Droplet 具有均衡的内存与专用 CPU 比例,适用于各种生产工作负载。通用 Droplet 有六种配置,从 2 个 vCPU 到最多 40 个 vCPU,具有 8 GB 到 160 GB 的 RAM。这种 4:1 的内存与 CPU 比率最适合标准工作负载,例如: 如果您不确定哪种 Droplet 类型最适合您的应用程序,它们也是一个不错的默认选择。所有通用 Droplet 均配备 Intel Xeon Skylake 或 Cascade Lake 处理器,其基本时钟速度为 2.7GHz。它们最适合需要专用计算能力的通用生产工作负载 如果您的工作负载需要有保证和持续的 CPU 性能但又不是内存密集型,CPU 优化的 Droplet 可让您最大限度地降低每个专用 vCPU 的成本。在英特尔 Ice Lake 和基本时钟速度超过 2.6 Ghz 的旧处理器的支持下,CPU 优化的 Droplets 专为 CPU 绑定的工作负载而构建,例如: CPU 优化的 Droplet 提供 2:1 的内存与 CPU 比率,范围从 2 个 vCPU 和 4 GB RAM 到 32 个 vCPU 和 64 GB RAM。此配置最适合需要专用 vCPU 提供快速、一致的性能但又不会占用大量内存以致需要通用 Droplet 提供的额外 RAM 的应用程序 一些工作负载,如大型生产数据库或内存缓存,需要更大的内存来存储工作数据集。如果没有足够的 RAM,此类应用程序通常运行缓慢,或者偶尔会变得不稳定和崩溃。每个 vCPU 配备 8 GB RAM,内存优化的 Droplet 非常适合这些应用程序: 内存优化的 Droplet 范围从 2 个 vCPU 和 8 GB RAM 到 32 个 vCPU 和 256 GB 内存。额外的内存可以帮助您避免过度交换到磁盘或出现内存不足错误,这两种情况都会显着影响您的应用程序的性能和稳定性。它们使您能够最大限度地降低每 GB 内存的成本,同时仍提供专用的 vCPU 捕获大量数据的工作负载需要快速存储。 Storage-Optimized Droplets 使用 NVMe(非易失性内存表达),这是一种明确为现代 SSD 构建的接口协议。它利用并行性来提供比我们的常规 SSD 快一个数量级的磁盘性能。由于存储直接连接到管理程序(而不是通过网络连接),因此这些 Droplet 非常适合需要大量低延迟事务的工作负载,例如: Storage-Optimized Droplets 的 1X SSD 配置为每个专用 vCPU 提供 150GB 存储空间。 1.5X SSD 选项为每个 vCPU 提供 225 GB。我们最大的 Storage-Optimized Droplet 拥有 7 TB 的存储容量 在确定特定的 Droplet 类型之前,我们建议对您的工作负载进行基准测试和负载测试,以了解它在模拟负载下的表现。对于突发应用程序或批处理作业,请在负载达到预期峰值时查看资源使用情况,尤其是在使用共享 CPU Basic Droplet 时。如果您注意到您的应用程序的性能对于您的生产需求而言变化太大,请考虑使用具有专用 vCPU 的 Droplet 类型 使用 Droplet 图表,您可以获得有关 Droplet 的 CPU 负载和内存使用情况的更多信息: 如果您的 Droplet 在大多数时间都具有高 CPU 使用率和显着的内存使用率,请考虑同时缩放 vCPU 和内存并使用平衡的通用 Droplet 如果您的 Droplet 大部分时间 CPU 使用率很高但内存使用率非常低,您可以使用 CPU 优化的 Droplet 来省钱 如果你的 Droplet 大部分时间内存使用率很高(可能达到最大并交换到磁盘)但 CPU 使用率较低或适中,请考虑扩展内存并使用内存优化的 Droplet 如果您的 Droplet 大部分时间的 CPU 或内存使用率低到中等,但有时会突然爆发并达到资源限制,请考虑共享 CPU Basic Droplet 并相应地扩展限制资源 使用 DigitalOcean Monitoring,您可以创建警报策略,以便在您的 Droplet 达到资源限制时通过电子邮件或 Slack 通知您。例如,您可以设置一个警报策略,如果您的一个 Droplet 的内存使用率超过 90% 超过 30 分钟,则通过 Slack 通知您,这表明您的工作负载可能接近可用内存的最大值,并且可能会抛出一个 out-of -内存错误 所有 DigitalOcean Droplets 都包含可变数量的本地固态磁盘 (SSD) 存储。如果您需要额外的存储,您可以使用网络附加块存储将额外的卷附加到 Droplet,或使用 Spaces 对象存储来卸载文件和伴随的元数据 使用网络附加存储时会有一些性能损失。如果您需要额外的每秒输入/输出操作数 (IOPS),请考虑将您的 Droplet 扩展到更大的尺寸以获得额外的本地 SSD 存储 Droplet 包括无限制的免费入站数据传输和一定数量的免费出站数据传输,具体取决于 Droplet 实例类型和大小。根据您的工作负载类型和带宽使用情况,您可以扩展您的 Droplet 以利用额外的免费出站数据传输 监控提供图表和警报策略来监控磁盘和带宽,这与您监控 CPU 和内存使用情况的方式非常相似 如果您使用 Droplets 运行带有 DigitalOcean Kubernetes 的容器集群,则在选择最佳 Droplet 计划时有不同的考虑因素。您可以组合几种不同的 Droplet 实例类型来创建一组大小最适合您正在运行的容器的资源 许多容器集群,如 Kubernetes,具有高级调度功能,可让您指定容器将在其上运行的 Droplet。例如,如果您正在运行内存受限的数据处理应用程序,则可以将该工作负载安排到一组内存优化的 Droplet,以避免达到内存限制和交换到磁盘 在 Kubernetes 中的高级调度中了解更多信息。