李洪军 刘雪娇
[摘 要] 对虚拟服务器资源利用率不高的问题进行梳理和分析,得出主要原因是服务器资源的申请与审核不科学、系统的运行时段不明确及资源需求差异不明确等,进而从规范服务器资源审核与分配流程、动态调整业务系统运行时段、动态调整资源配置、采用Kubernetes部署应用程序等方面提出解决方案。实践表明,对资源进行调整优化后,CPU利用率、内存利用率、存储(硬盘)利用率均得到提升,同时还降低了运维成本。
[关键词] 信息系统;资源利用率;IT资源;虚拟服务器;网络
[中图分类号] TP 393.05[文献标志码] A[文章编号] 1005-0310(2023)02-0012-05
On How to Improve the Resource Utilization Rate of Network Virtual Server
LI Hongjun, LIU Xuejiao
(Beijing Digital Education Center, Beijing 100035, China)
Abstract: This paper analyses the problem of low utilization of virtual server resources, and finds the main reasons are the improper application and review of server resources, the unclear operation period of the system, and the obscure difference of resource requirements for system operation. The solutions are proposed in terms of standardizing the server resource audit and allocation process, dynamically adjusting the operating time of the business system and the resource configuration, as well as adopting Kubernetes to deploy applications. Practice shows that after adjusting and optimizing the resources, the CPU utilization, memory utilization, and storage (hard disk) utilization have improved, while the operation and maintenance costs have decreased.
Keywords: Information system;Resource utilization rate;IT resources;Virtual server;Network
0 引言
隨着北京市数字教育中心IT建设的不断深入和完善,各种应用系统得以投入使用,资源规模不断扩张。在满足各级各类学校教学需求和教育系统相关管理部门业务需求的前提下,如何提高资源利用率,是教育IT管理者需要考虑的问题。
1 问题及原因
1.1 问题分析
北京市数字教育中心的业务系统主要部署在政务云,承接的业务系统有北京市中小学学籍系统、教师系统等60余个,搭建虚拟服务器1 000余台,涉及开发和运维厂商30余个,涵盖众多业务对象、业务功能和应用逻辑(业务对象包括学生、教师、家长、教育系统管理人员等,涉及幼儿园、小学、中学、大学等各个学段)。业务系统的需求不断增加,系统之间接口日益繁杂,由此导致运维工作量增大、管理复杂程度增高、运维成本不断增加等一系列问题。2021年,在政务云的实际使用资源中,只有物理服务器的数量未超出预设的数值,CPU、内存、存储均超出一定的比例,其中内存超出比例最大(达到183.50%),参见表1。2022年1—5月,按照CPU、内存、存储的最大平均使用率加权运算,云效率均低于实际控制线(根据云资源的利用情况测算均值),参见表2。
1.2 原因分析
本文通过综合分析,结合IT资源分配、运作模式及业务系统的使用情况,得到导致云效率不高的原因主要包括以下几个方面。
1.2.1 服务器资源申请与审核不科学
对于服务器等资源申请的相关工作,主要存在如下问题:由于申请方式多(线下纸质,线上邮件、微信、电话等)、申请人员角色不同(各系统负责人、项目开发工程师等)造成申请混乱,不便于数据归集;个别申请人员不了解服务器的性能情况(如单节点4核CPU、16 GB内存、500 GB硬盘能承载多少用户同时登录该系统,完成正常的业务操作),有的审批人员不了解业务具体情况(系统用户数量、业务数据增长量、系统架构等),而服务器配置资源不足会造成业务系统运行缓慢,服务器配置资源过量会造成CPU、内存、存储等资源的闲置和浪费[1];有的系统部署存在多次申请、多次变更配置等情况,造成数据录入不及时、不准确,从而影响服务器资源统计的准确性,导致资源分配出现问题。
1.2.2 系统的运行时段不明确
有些业务系统没有根据业务期来设置业务系统的开关、服务器的数量和具体配置。比如,与义务教育入学相关的系统在每年的5—10月期间使用,涉及幼儿入学、小学毕业生升入初中学段等,其他月份不涉及,且7月中旬至8月下旬处于暑假阶段,访问量很少。再如,与学籍相关的系统在6月中旬至7月中旬、9月及10月使用量较大,其他月份使用量较少。
1.2.3 系统运行的资源需求差异不明确
对于高并发的业务系统,资源的申请是按业务高峰期的最高资源需求提出的。教育信息系统的服务对象主要是学生、教师、家长及教育相关的管理人员等,由于服务对象不同,其登录相关系统的时间段、操作具体业务的时长各不相同。例如,对于幼升小填报系统,每年5月1日系统开启,“五一”假期后开始填报,一般第一周就能完成60%~80%的信息采集工作,但业务的截止日期为5月末,所以,按照业务高峰期需求配置的服务器资源在高峰期过后,随着访问量下降,需要对资源配置进行动态调整。
1.2.4 其他原因
第一,多年的系统建设,有些业务被新系统替代,可能存在访问量极低或无访问量的“僵尸”系统。第二,系统在部署阶段的测试用服务器,可能存在仍然在运行、未释放资源的情况。第三,运维公司的个别工程师存在工作交接不畅等问题,个别服务器可能存在管理状态不明确的情况。
2 解决方案
本文根据上述问题分析,结合业务的实际情况,采取以下解决方案。
2.1 规范服务器资源审核与分配流程2.1.1 调整服务器资源申请与审批流程
对服务器资源申请与相关审批流程进行规范,由原来的多个环节简化成3个环节,更加扁平化,如图1所示。
资源申请在线上完成,减少不必要的环节,速度快、效率高,能够实现系统的快速部署。对于资源审核员,需要了解服务器的性能及业务系统的基本情况,能够合理地审批服务器资源。通过规范流程,资源申请与审批更加科学,更贴近实际业务情况。同时,以此引导业务需求方申请合理的虚拟服务器资源,特别是对于存储资源,扩充的速度满足增长量即可,转变“资源先占为用”的思想,引导大家共同提高资源利用率[2]。
2.1.2 制定服务器配置标准
对各类型服务器的CPU和内存,制定标配、高配、超高配3个标准,每个标准又分出高、低不同档次(见表3)。在分配资源时,要兼顾业务的复杂程度、用户数、并发数、节点服务器的个数,以及现有资源池中CPU、内存的可分配情况。对于存在大量计算的业务系统,随着业务量的提升,需要增加CPU和内存资源,新增的CPU与内存按照1∶2或1∶4的比例来分配,内存的核心频率大于等于CPU的外频才能保持良好的配比[1]。
对于存储(硬盘)的分配,主要依据服务器的类型实行按需分配,要兼顾业务的复杂程度、用户数、数据的增速,以及现有资源池中存储的可分配情况。对于多节点的Web服务器,由于数据增量较少,硬盘按照60%~80%的使用率分配即可,不宜分配过大;对于數据库、图片等服务器,由于存在数据增长的情况,前期可以分配稍高些的硬盘资源,使用率按40%~60%分配即可,并兼顾数据的增长情况。由此拟定,对于“跳板机”默认分配60 GB,对于Web服务器默认分配100 GB,对于数据库服务器默认分配300 GB,等等[3]。
2.2 动态调整业务系统运行时段
大多数系统都存在业务期,因此,需要对业务系统进行梳理,对处于非业务期的系统采取暂时关停的措施,释放服务器资源。在服务器关机后,CPU和内存都将被释放。对于多节点的Web服务器,在备份硬盘镜像文件后,可以释放硬盘存储资源,待业务期到来前再重新部署备用;对于中间件服务器、数据库服务器、单节点的Web服务器等,采取的措施是关机处理,CPU和内存都将被释放,但硬盘保留,待再次开机时,便于业务快速启用[4]。这种方式在寒假、暑假、“五一”“十一”、春节等节假日,以及周六、周日期间都可以采用。
2.3 动态调整资源配置
系统资源管理人员应实时关注高并发业务系统的运行情况,当业务系统由业务高峰期转到一般业务期后,要结合各个应用系统的使用情况,重新调整服务器资源(服务器的数量、单个服务器的配置)。比如,对于幼升小填报系统,每年“五一”假期后开始填报,一般第一周就能完成60%~80%的信息采集工作,此时根据系统使用情况,对于多节点的Web服务器,可采取减少节点Web服务器数量的措施[5]。如原来是10台Web服务器,待完成60%的采集工作后,可以将节点Web服务器数量调整为4~6台;待完成80%的采集工作后,可以将节点Web服务器数量调整为2~4台。再如,与学籍相关的系统在每年的毕业季、升学季用量较大,其他月份使用量较少,业务高峰期主要在6月中旬至7月中旬、9月及10月。待业务高峰期过后,按上述方式调整服务器的数量,同时,也可以降低服务器的配置,如将CPU由8核调整为4核,将内存大小由32 GB调整为16 GB。由此根据业务完成的进度情况动态调整资源配置,在满足业务需求的同时,提高资源利用率[6]。
2.4 采用Kubernetes部署应用程序
在使用Kubernetes部署应用程序时,可以根据需要高效地分配计算资源,将所有物理计算资源整合为一个整体[7]。例如,在某现有虚拟化环境中,运行4个业务系统,共申请虚拟机40台(CPU 200核、内存400 GB),CPU平均使用率为10%左右,内存平均使用率为15%左右。对其进行更新后,使用10台服务器搭建K8s集群环境(CPU 80核、内存320 GB),减少了多个操作系统的内存占用,能在多个实例之间共享未使用的内存,且能够根据负载自动进行扩容和缩容:当负载达70%时进行扩容,当负载降至10%时进行缩容。同时,当一个节点关闭或挂起时,它承载的服务会自动移动到另一个节点上,在整个过程中不间断地持续提供服务。目前,CPU平均使用率达50%,内存平均使用率达65%,且4个系统运行流畅,管理方便,提升了服务器资源利用率,节约了服务成本。基于此,在不增加服务器集群资源的情况下,后续可将调查问卷等其他高并发应用部署到K8s平台中。
2.5 其他措施
1)根据业务情况,对某些系统或服务器进行关停、收回等处理。对“僵尸”信息系统(网站)进行关停处理或与其他业务系统进行合并调整。对“僵尸”系统的判断标准为出现下列某一种情况:系统年访问量在1 000人次以下;系统内容长期(180 天以上)未更新;每年新增数据在 100 条以下;专题站点已完成工作,后续不再启用;安全威胁长期不修复,系统无人运维或运维不到位。同时,管理部门应加强对在用业务系统的监控,如发现系统出现上述情况,核实后应立即采取措施进行处理。此外,对于测试用服务器,进行全网梳理,除生产在用服务器外,将其他服务器进行资源回收。对于管理状态不明确的服务器,建立相应的管理制度,加强管理,完善流程,收回无业务需求的服务器资源。
2)对低利用率系统进行动态调整。除上述措施外,针对全年业务期无明显变化的低利用率系统,采取动态伸缩机制,结合资源利用率报告的情况,对其进行降配处理,参考标准见表4。
3)科学调整存储配置。对存储的调整要结合现有数据量情况,按照不低于50%的使用率进行配置,超过80%后,应根据数据增长速度进行扩容[8]。
3 结束语
2022年5月末,对资源进行调整优化后,虚拟服务器的数量共有700余台。6月份的云资源利用率提升至27.57%,略高于当月的云效率控制线,差值首次出现正值;7月份的云效率值已经高于控制线3.55个百分点,参见表5。同时,70%业务系统的云效率都提升了20~30个百分点。为了进一步提高资源利用率,后续将在以下几个方面进行探索和实践:
1) 系统开发架构、业务逻辑、业务流程及代码量均对CPU、内存等服务器的资源消耗产生影响,所以要对系统设计及程序代码进行优化,减少对资源的消耗。
2)根据业务发生的实际时间段进行调整,实现精细化管理,如:对于主要在白天使用的系统,可以将部分虚拟机设置为早晚自动切换,7:00—20:00开启,其他时间关闭;对于数据交换系统,需要同步各个业务系统的数据,存在大量的读写操作,可以调整在夜间进行,从而避免虚拟机资源(CPU、内存)超额分配产生的影响。
3)针对数量多、体量小的系统,部署“容器化”管理平台、轻量化虚拟平台、自动化管理平台等,进一步提高云资源利用率,同时减少电能消耗和碳排放量等,对环境保护具有重要意义。
[参考文献]
[1] 朱亚会,陈丹,庄毅.云数据中心资源利用率均衡的虚拟机调度算法[J].小型微型计算机系统,2017,38(2):232-237.
[2] 徐世波,张林,郭延红,等.智慧校园背景下的网络运维综合管理平台设计研究[J].网络安全技術与应用,2021(8):98-101.
[3] 龚坤,武永卫,陈康.容器云多维资源利用率均衡调度研究[J].计算机应用研究,2020,37(4):1102-1106.
[4] 杨明极,王鹤,赵加凤.基于CPU和内存利用率的负载均衡算法的研究[J].科技通报,2016,32(4):160-164.
[5] 邹业伟.省级教育数据中心运维管理措施探究[J].数据,2021(5):82-84.
[6] 李坤,王百杰.服务器集群负载均衡技术研究及算法比较[J].计算机与现代化,2009(8):7-10.
[7] 王伟军.基于Kubernetes的容器云平台建设[J].电脑知识与技术,2019,15(36):47-48.
[8] 叶思菁,宋长青,程昌秀,等.UN Comtrade数据共享平台设计与实现[J].北京师范大学学报(自然科学版),2022,58(6):963-971.
(责任编辑 白丽媛)
[收稿日期] 2022-06-29
[作者简介] 李洪军(1980—),男,黑龙江绥化人,北京市数字教育中心工程师,主要研究方向为信息系统建设、系统运维、网络安全;刘雪娇(1991—),女,满族,北京市人,北京市数字教育中心教研员,主要研究方向为教育技术学。E-mail:zx_lihj@jw.beijing.gov.cn