AWS实例类型的选择对应用性能和成本都有关联,所以选择合适的实例类型,既能保证应用性能,又节约成本,获得最佳的性价比。
如果是本地迁移上云项目,首先要做的是收集线下数据中心X86服务器的信息,最基本的例如CPU核数,CPU峰值利用率,内存大小(GB),内存峰值利用率,操作系统类型。我们想根据这些基本信息估算一下在云上应该选择何种机型,以及一年的费用大约是多少。大多数客户在上云后都会购买一年标准RI实例以节省费用,所以我们就以一年全部预付费标准RI的价格作为选择机型的依据。选择机型的逻辑是:满足内存和CPU需求的最便宜的机型。
当然,由于我们买的是一年标准RI实例,在一年之内不可改变机型配置,所以也应该考虑预留一年的业务增长量。因此,在以上收集的基本信息的基础上,我们还要加上两条:我们期望的CPU利用率和内存利用率。举例来说,如果您目前的某个服务器的CPU和内存利用率是90%和80%, 您预计在一年内业务会有20% 的增长(我们姑且认为业务增长与资源需求成正比),当前的CPU是4核,内存是16GB。如果你希望当业务增长20%后,服务器的CPU和内存的利用率维持现状,即90%和80%, 选择的EC2机型应该在运行现有负载时的期望CPU利用率是90%/1.2=75%, 期望的内存利用率是80%/1.2=67%。
还有一点需要考虑的就是应用系统的特性,是以计算能力为主的还是以内存大小为主。AWS EC2 最小的CPU:内存配比是1:2,最大的是1:8。
• 如果是以计算为主的,我们在选择服务器的时候只考虑满足CPU的计算能力,我们会挑选满足计算能力的最经济的EC2,这时的CPU:内存配置至少是1:2 (当然,如果价格合适,我们也会选择CPU:内存是1:4的机型。但是,前提条件是,CPU:内存=1:2的服务器已经可以满足内存需要)。
• 如果是以内存为主的,我们在选择服务器的时候只考虑满足内存的大小,我们会挑选满足内存需求的最经济的EC2,这时的CPU:内存配置至少是1:4 (当然,如果价格合适,我们也会选择CPU:内存是1:8的机型。但是,前提条件是,CPU:内存=1:4的服务器已经可以满足CPU需要)。
• 当然,你也可以要求同时满足内存和CPU的要求,那么这时的选择逻辑就是同时满足内存和CPU要求的最便宜的EC2机型。
如果是新增的EC2需求,如果没有可参照的数据,我们可以先以经验进行估算,然后通过CloudWatch对此实例进行监控,设定CPU、内存、IOPS、网络 监控值,达到指定阈值后通知管理员调整。也可以在CloudWatch中指定你关心的几个指标值重点监控,经过一到两个业务峰值后根据监控结果再去评估实例的调整方案。
一般来说,对于通用型计算需求,并且负载是有明显高低起伏的应用,例如“WEB”“小型数据库”等场景,可以选择T系列实例类型以在性能和成本之间取得一个最佳平衡。
更多详细信息请参考:Amazon EC2 实例类型
https://amazonaws-china.com/cn/ec2/instance-types/
![]
来源:51CTO
作者:ieihihc
链接:https://blog.51cto.com/ieihihc/2478179