高芳
社会发展已经进入云计算时代,在这一时代背景中,云资源池项目大范围构建,并在云资源池引入核心应用系统。本文从评估私有云资源的需求,抽象业务应用模型,定义业务应用关键指标,根据业务应用关键指标,匹配私有云资源池的云服务规格和数量。通过资源评估规范,为业务系统的资源申请提供了实测数据和通用软件的最佳配置模型参考,建立合理的资源使用标准,提升虚拟化整合比例和资源利用率。
随着私有云的广泛应用,各使用单位普遍存在资源利用率不高,资源分配没有参考标准,经常分的比实际需求大的问题。如何更好的发挥私有云资源的使用效率,如何在满足业务需求情况下选择合理的资源配置规格就成了目前需要研究的重点。
合理评估业务应用对私有云资源的需求,抽象业务应用模型,定义业务应用关键指标,根据业务应用关键指标,匹配私有云资源池的云服务规格和数量。通过资源评估规范,为业务系统的资源申请提供了实测数据和通用软件的最佳配置模型参考,建立合理的资源使用标准,提升虚拟化整合比例和资源利用率。
对业务常用的通用组件进行大规模性能测试,业务分类分场景(web型,交易型,数据库型等)做典型模型的性能测试,包括业务系统在CPU各利用率情况下的处理能力TPS值和时延值。通过分析实测数据,给出各通用组件推荐的虚拟机规格(如2U4G,4U8G等)和业务承载能力指导,并给出通用组件的配置和优化参数最佳实践,使业务入云资源申请有据可依。
下面是具体的测试方案和效果:
(一)测试模型架构
如图1所示,在本次测试中典型应用组件的选取如下:
JMeter:压力测试工具:Apache JMeter是Apache组织开发的基于Java的压力测试工具,通过模拟出对网站的HTTP请求,对WEB服务器进行压力和性能测试。
Nginx:可以作为WEB或反向代理服务器。在此模型下,充当反向代理服务器,为后端的多个Tomcat服务器提供负载均衡服务。
Tomcat:是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
(二)测试资源规格选取
根据经验,应用服务器的CPU和内存比一般为1:2,由于Linux部署Tomcat后,空载情况下大约需要1.2~1.5GB内存,而业务运行时还需要申请内存。因此本次测试,忽略1U2G的规格,分别选取了2U4G、4U8G、8U16G规格的Tomcat节点进行对比测试,通过JMeter模拟业务进行压力测试,观察不同规格和CPU负载下的业务指标。
将选取的2U4G、4U8G、8U16G 三类配置规格分为以下3组:
第1组(资源2U4G):2U4G*1台,测试2U4G规格单台的业务处理能力
第2组(资源4U8G):4U8G*1台、2U4G*2台,测试4U8G规格单台的业务处理能力,并对比相同资源情况下,业务处理能力与虚拟机规格、节点数量之间的关系。
第3组(资源8U16G):8U16G1台、4U8G*2台、2U4G*4台,测试8U16G规格单台的业务处理能力,并对比申请相同资源情况下,业务处理能力与虚拟机规格、节点数量之间的关系。
(三)指标选取
主要关注的业务指标如表1所示(通过JMeter的聚合报表和汇总报表可获取这些指标):
(四)结果分析
如图2所示,根据不同配置的服务器所得到的时延和TPS数据。
CPU利用率小于70%时,TPS与CPU利用率基本为线性增长。
CPU利用率达到50%~70%时,会出现性能拐点:时延明显上升,TPS增长放缓。
相同资源量和CPU利用率情况下,小规格虚拟机的业务指标优于大规格虚拟机。
按照类似的方法,对业务分类分场景(web型,通用性,交易型,数据库型等)做了典型模型的性能测试,找出性价比最好的VM规格,同时结合业务QoS水平,对实测数据进行分析,给出推荐的虚拟机配置规格清单如表2所示:
通过上述研究,在系统入云进行资源申请时,解决了通用软件资源分配无标准可参考的问题。在实际实施层面,建议优先小颗粒VM资源分配做Scale-out,上线后,参照云平台报表数据,对模型进行持续优化和VM资源配置调整,保证资源的合理使用。
由于本次研究是基于不同场景下的通用软件进行的,具备普遍的指导意义,可帮助业务系统做上云评估,指导业务进行上云整改,协助业务上云,有效提升私有云资源的合理使用,在系统入云过程中可以广泛借鉴使用。
本次研究做了大量通用技术组件的测试,通过实测数据,给出推荐的虚拟机规格(如2U4G,4U8G),并测试出在CPU内存各利用率情况下的TPS和时延值,供业务系统资源申请时做参考,为业务系统的资源申请提供了实测数据参考,并提供了多个通用软件的最佳使用配置和优化案例。