曹杉杉
摘要:对空管自动化系统在压力测试下的性能表现进行了分析。空管自动化系统作为民航空管部门实施对空指挥的核心系统,在确保民航空管对空指挥任务的安全实施中发挥着重要的作用。对其进行压力测试评估软件在极端情况下的性能表现,发现软件中的漏洞和弱点,以确保软件系统在处理大批量目标下的稳定性、可靠性。AirNet空管自动化系统在压力条件下表现基本稳定,各项功能均可用,总体风险可控。针对SDD界面程序处理效率和多核心的资源调度处理,应进行优化。
关键词:空管自动化系统;ATC;性能;测试
一、前言
随着航班量的日益激增,空管自动化系统作为与空管业务流程高度相关的信息系统,对于保证软件系统在处理大批量目标下的稳定性、可靠性提出了更高要求。因此,压力测试作为检验系统安全性、完善性的有效手段,意义重大。
空中交通管制自动化系统需要处理大量的飞行数据和雷达数据,因此系统的数据处理能力是评估其性能的关键指标之一[1]。在压力测试中,通过模拟大量的飞行器和雷达信号,测试系统的数据处理能力。在数据处理过程中,系统需要对数据进行采集、处理、分析和存储等操作,这些操作的效率和稳定性直接影响了系统的性能表现。同时,管制自动化系统的稳定性是保障空中交通安全的基础。在压力测试中,通过对系统进行长时间和高强度的测试,验证系统的稳定性和可靠性。在系统稳定性测试中,需要对系统的各个组件和接口进行测试,确保系统在长时间运行中不会出现崩溃或故障等问题。
因此,压力测试是评估空中交通管制自动化系统性能的重要手段。通过对系统的数据处理能力、响应时间、稳定性和容错性等方面的测试,可以全面了解系统的性能表现[2]。针对测试中发现的问题和瓶颈,采取相应的优化措施,可以提高系统的性能和可靠性,保障空中交通的安全和效率。
二、测试设计
在进行软件压力测试前,需要进行充分的准备工作。首先,要搭建符合测试要求的测试环境,包括硬件、网络、数据库和软件配置等。测试环境应尽可能接近真实的运行环境,以提高测试的准确性和有效性。所配置的AirNet空管自动化系统测试平台主要服务器和席位终端的配置如表1所示。
系统结构如图1所示。
其次,需要准备相应的测试设备和工具,如用于发送模拟雷达数据和模拟电报数据的模拟信号源等。此外,还需要根据测试需求编写测试用例和脚本,明确测试的目标和预期结果。本文所进行的压力测试,以AirNet空管自动化系统为例,依据《AirNet空管自动化系统技术手册》《民航空中交通管制自动化系统第 2 部分:技术要求》(MH/T4029.2)等文件,突出压力测试特点,将被测软件按照不同模块进行分解[3],针对分解后的每一模块具体的功能及操作分别设计压力测试场景和测试用例。
三、 测试执行及系统表现分析
压力测试围绕系统性能、交互接口、运行安全[4]等六个方面展开,引入日常软件管理工作中发现的故障作为测试用例[5],重点测试系统运行的安全性和适应性,通过压力负载测试、边界测试和安全性测试等不同方法,深度评测空管自动化系统的极限运行性能[3]。
系统航迹数据处理压力测试是以256个目标航迹为单位,步进式增加同时处理的航迹数量,同时,以脚本收集各服务器重要进程的CPU占用率,验证与标准的符合度。在压力测试条件下,AirNet空管自动化系统的系统性能及部分测试问题表现如下:
系统总体性能指标如表2。
如图2所示,系统航迹融合处理进程(msdp)在 MSDP1服务器中的资源占用率在系统航迹逐步增大的过程中逐步提升。CPU占用率在2048个航迹时达到峰值1.90%。在最大航迹目标数持续一段时间后,CPU占用率有所回落。该进程内存占用率在整个过程中的平均值為4.85%,整体波动不大,最大值与最小值差为0.1%。
如图3、4所示,在系统航迹逐步增加过程中,系统按照256每批目标进行相关。雷达处理(MSDP1)、飞行计划相关服务器(FDP1)和态势界面显示终端(SDD28) 整体 CPU 资源占用率随着系统航迹相关数逐步增加而逐步提升。航迹与飞行计划相关到1401个后,系统无法进行自动匹配相关,同时受态势界面SDD卡顿严重,不能手动进行相关操作。在系统航迹数为1401时,主要服务器CPU资源占用率(多核心)达到峰值,但均不超过4%,显示系统的CPU资源调度存在缺陷,提前到达软件的性能瓶颈。内存占用率在整个过程中波动不大,最大值与最小值差不超过0.1%。
如图5所示,在系统相关航迹数到达1401批的过程中,主要进程msdp(航迹处理)、sdd(界面)和fcs(相关)进程CPU资源占用率(以单核计算)呈现明显上升趋势,其峰值 CPU 资源使用率分别为118.7%、106.5%和51%,此时对应服务器最繁忙的单核心CPU使用率分别为13.85%、97.76%和31%。数据表明,在主要进程的多核心调度方面,msdp较为优异,可以支持系统航迹进一步增长,而sdd不能调动多核心资源,达到计算和处理的瓶颈,直接制约了系统相关航迹的进一步提升。此外,在人机界面打开二窗口或执行管制操作时,还会进一步降低最大相关航迹的数量。
如图6、7所示,大批量系统航迹还涉及数据记录回放功能,因此作者同期记录了5个席位4倍速回放下,DRP1服务器C网络流量情况。在5个席位4倍速回放下,DRP1服务器C网流量呈现间歇性小幅波动态势,在峰值情况下占用资源约2.5亿bytes/10s,合约190Mbit/sec,平均网络流量44.602Mbit/sec,与系统内部千兆带宽资源1000Mbit/sec相比较,峰值时的占用率不足20%。
以上数据可看出,目前系统的硬件计算能力远远高于系统满容量条件下的资源开销。不过,在系统航迹数逐渐增大的过程中,也出现了界面拖影的现象,相关航迹数量不能达到2048批的问题。在调查“相关数量上限”问题时,作者发现,SDD席位整体CPU(16核心)占用率约为3.85%,可用资源大于95%,进一步分析各单核CPU的资源使用情况,发现某一单核心使用资源达到了97.76%,其他15个核心资源使用率在10%以内。因此,可以判断,该系统SDD进程,未能有效调度多核心的CPU资源,造成各核心负载不均衡。SDD席位工作站提前到达计算上限,是系统处理性能的瓶颈。
四、结语
从测试结果上看,AirNet自动化系统在压力条件下表现均基本稳定,各项功能均可用。同时,测试过程中也发现了一些问题。这些问题并没有触及核心系统核心功能和日常运行态势,总体风险可控,但也应给予重视,尤其是针对SDD界面程序处理效率和多核心的资源调度处理,应进行优化。
参考文献
[1]汪万维.民航空管自动化系统[M].北京:清华大学出版社,2016.
[2]王霄鹤.AirNet空管自动化系统应用浅析[J].空中交通管理, 2010(04):10-11.
[3]叶新铭,冯晓利.软件压力测试流程[J].内蒙古大学学报:自然科学版,2002,33(1):107-110.
[4]吕永智.软件压力测试技术概述[J].信息与电脑(理论版),2012(04):51+53.
[5]吴正刚.空管自动化系统应用与维护探索[J].测控技术,2013,32(01):109-111+116.
责任编辑:王颖振、周航