配置模板
为应用定制一个合适的模板,您需要收集或计算以下信息。
- CPU平均使用率
- CPU使用峰值(时间和持续时间)
- 内存平均使用率
- 内存使用峰值(时间和持续时间)
- 所需的磁盘空间,如果不确定,则收集平均值和最大值,否则只收集最大值
- 所需的磁盘空间,如果不确定,则收集平均值和最大值,否则只收集最大值
- 磁盘I/O速率,平均值和峰值(KB/秒)
- 网络I/O速率(KB/秒)
使用CPU、内存和磁盘的平均值和最大值,因为它们可以在鸿鹄彩云上动态重新配置,以满足峰值工作负载。
网络I/O速率由硬件控制,通常不能通过迁移到较新的硬件进行较大幅度调整。在大多数系统中,在网络接口饱和之前,会耗尽CPU。
定制一个新的模板
为应用定制一个模板的理想方法是通过测试生成的真实工作负载,这是确保数据准确并防止过大创建计算实例的唯一方法。
在应用中很少对于用户数量、连接数量和事务数量线性地扩展它们的使用资源。一般来说,每个用户的资源使用量会随着用户数量的增加而下降,这样应用将无法应对日益增加的工作量。
在定制模板之前,了解资源使用情况如何扩展至关重要。物理机通常需要部署成多个计算实例,您需要知道额外添加的容器将增加1/N的容量。
如果不能进行全面的测试,那么您应该尽可能地进行大限度测试,并采取线性的资源量化。
将定制数据应用于鸿鹄彩云
按照以下步骤将模板数据应用于鸿鹄彩云。
把计算实例所需内存和磁盘的大小作为基准,无论CPU和I/O要求如何,都不能低于的基准。
查看CPU并确定你需要的vCPU。请注意,所有其它虚拟化都是基于硬件的,所以无论是虚拟机还是实际硬件(如果是自裸机环境)都是真实的数字,您可以将其应用于以下计算。
您的CPU大小可能是:
1、所有可用CPU百分比(最大100%),在这种情况下,vCPU =(测量CPU数量 * 内核)/ 100。
2、累积CPU值(Max = CPU内核 × 100),在这种情况下,CPU数量 = 测量CPU数量 / 100。
如果您从相对较旧的硬件迁移,如果想要增加CPU速率,这样做可能会降低整体需求。
为底层容器定制模板
vCPU是您将获得的CPU总量的CAP,您的计算实例可以访问硬件上的所有CPU内核,因此在CAP的限制之内,真正可以实现多线程。内核越多越有利于多线程系统。
为KVM定制模板
对于KVM虚拟机(硬件虚拟机),vCPU实际上是虚拟机操作系统可用的CPU数,多线程功能更加有限。如果先前依赖于一定数量的内核,那么对于新的计算实例大小,至少使用相同的值。
磁盘I/O
如果您的应用程序I/O非常密集,您可能需要使用SSD。通过fastdisk获得计算实例模板大小。然而,ZFS和现代磁盘系统的结合意味着普通磁盘通常适用于大多数系统。如果您以前使用SSD,则选择fastdisk,否则使用标准磁盘创建计算实例模板大小。
- SSD:切割边缘驱动器的范围通常高于200 MB/s,高达550 MB/s。
- HDD:范围可以是写入/复制的50 - 120 MB/s。
SSD上的读取大概要快30%。
网络I/O
底层容器的理论带宽为10GB/s,硬件容器为1GB/s。除了最大的计算实例以外的任何东西都几乎不可能使网络接口饱和。您最有可能首先排出CPU,因此您的CPU测定值已经考虑到了这一点。
Swap
在所有鸿鹄彩云模板中,max_swap
必须至少是max_physical_memory
的两倍。例如,如果max_physical_memory
设置为16GB,则max_swap必须至少为32GB,在启动期间分配开销内存。
何时调整模板大小
所有的扩展,横跨服务器和纵跨容器,都应该是基于测量和增长预测的预先计划的事件,可以确保您规划在主机服务器上提供足够的资源。