python压力测试模块_一种基于Python并行的BMC压力测试方法与流程

本发明涉及计算机系统测速技术领域,更具体的说是涉及一种基于Python并行的BMC压力测试方法。

背景技术:

随着服务器行业的快速发展,越来越多的客户开始偏向于购买大批量的服务器作为自己的核心应用。所以对服务器的稳定性也提出了更高的要求,而服务器能否保持正常的运转,已经成为了客户应用能否稳定运行的前提。

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

BMC:BaseboardManagementController,在服务器监控管理中起着重要的作用,它是一个专门的服务处理机,它利用传感器来监控一台计算机,网络服务器,或者是其他硬件驱动设备的状态,并且通过独立的连接线路和系统管理员进行通信,BMC是智能平台控制接口(IPMI,IntelligentPlatformManagementInterface)的一部分并且通常被包含在模板或者被监控的设备的主电路板里。BMC的传感器用来测量内部物理变量,例如:温度,湿度,电源电压,风扇速度,通信参数和操作系统函数,如果这些变量中任何一个超出了指定限制的范围之外,他就会通知管理员,管理员就会利用远程控制来采取正确的措施。监控设备可以动力循环或者当必要的时候重新启动,这样,单一的管理员就可以同时远程控制无数个服务器和其他设备,节省了网络的总体成本,并且可以确保可靠性。

在服务器监控管理过程中,SMC(SystemManagementController)需要频繁地从BMC读取各个节点的状态,同时BMC也要处理用户监控的请求。因此,为了避免频繁访问BMC导致BMC宕机,提高产品的稳定性,需要在服务器设计阶段对BMC做压力测试。

技术实现要素:

针对以上问题,本发明的目的在于提供一种基于Python并行的BMC压力测试方法,利用Python的多线程并行方法获取BMC当前的Sensor状态,测试BMC在海量数据访问请求的情况下工作的稳定性,从而提高产品的稳定性。

本发明为实现上述目的,通过以下技术方案实现:一种基于Python并行的BMC压力测试方法,包括如下步骤:

步骤1:运行Python,分别加载用于获取系统信息和路径的sys、time、os模块,用于log格式化记录的Logging模块,用于子进程创建的Subprocess模块,用于创建多线程的Threading模块,用于时间转换的Datetime模块,用于获取执行参数的Getopt模块;

步骤2:使用logging模块初始化log格式;

步骤3:获取BMC的初始化信息作为基础信息;

步骤4:使用threading模块同时在规定的测试时间内循环抓取BMC状态信息;

步骤5:分别将抓取的BMC状态信息与基础信息比较,同时调用logging模块记录比较结果;如果BMC状态信息与基础信息不一致,则测试异常,记录异常结果并继续比较;如果在规定的测试时间内没有异常,则测试结束。

进一步,在使用logging模块初始化log格式前,获取执行参数,所述执行参数包括测试的bmc ip地址和host地址。

进一步,所述基础信息和BMC状态信息均包括BMC的FRU、SEL、User、lan、mc和sdr信息。

进一步,使用threading模块同时在规定的测试时间内循环抓取BMC状态信息具体为,通过调用OS command line抓取BMC状态信息。

进一步,执行OS command line抓取BMC状态信息时,如果执行返回错误,就记录在log中。

进一步,通过定义函数checkCurrentSettings建立比较功能,用于比较新抓取的BMC状态信息与基础信息是否一致。

进一步,测试结束后,如果测试正常,则输出PASS;如果测试异常,则输出FAIL。

进一步,如果测试异常,则输出比较失败的次数check fail。

对比现有技术,本发明有益效果在于:本发明提出的一种基于Python并行的BMC压力测试方法,通过运行Python脚本,获取BMC初始状态下包括有FRU、SEL、USER、MC、LAN和SDR的基础信息,使用Python多线程模块threading,同时在规定时间内循环抓取包括上述6项的BMC状态信息与基础信息比较,实现了对BMC的自动压力测试。本发明利用Python的多线程并行方法获取BMC当前的Sensor状态,测试BMC在海量数据访问请求的情况下工作的稳定性,有效的避免频繁访问BMC导致BMC宕机,从而提高产品的稳定性。

本发明基于Python,通用于Windows和Linux的系统环境,应用广泛;测试所需的系统环境稳定,测试结论真实可靠。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

附图1是本发明的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

如图1所示的一种基于Python并行的BMC压力测试方法,包括如下步骤:

步骤1:运行Python,分别加载用于获取系统信息和路径的sys、time、os模块,用于log格式化记录的Logging模块,用于子进程创建的Subprocess模块,用于创建多线程的Threading模块,用于时间转换的Datetime模块,用于获取执行参数的Getopt模块;

步骤2:使用logging模块初始化log格式;

步骤3:获取BMC的初始化信息作为基础信息;

步骤4:使用threading模块同时在规定的测试时间内循环抓取BMC状态信息;

步骤5:分别将抓取的BMC状态信息与基础信息比较,同时调用logging模块记录比较结果;如果BMC状态信息与基础信息不一致,则测试异常,记录异常结果并继续比较;如果在规定的测试时间内没有异常,则测试结束。

以所述的基于Python并行的BMC压力测试方法为基础,具体的程序实现过程及内容如下:

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于AI芯片和BMC芯片的架构可以实现高效、智能的数据处理和管理,具体架构如下: 1. AI芯片:作为主处理芯片,用于支持人工智能、机器学习、深度学习等应用。该芯片通常采用多核架构,内置高速缓存、矩阵运算单元等硬件加速器,能够实现高性能、大规模的数据处理和分析。 2. BMC芯片:作为辅助处理芯片,用于支持基础管理、控制和监测等任务。该芯片通常采用ARM架构,内置多个通用计算核心,能够实现低功耗、实时性要求高的控制和管理任务。 3. 内存:作为数据存储和传输的中心,用于存储和传输AI芯片和BMC芯片处理的数据。该部分通常采用高速内存和存储设备,能够实现高速、可靠的数据交换和传输。 4. 接口和网络:用于实现AI芯片和BMC芯片之间的通信和联网。该部分通常采用以太网和其他通信协议,能够实现高速、稳定的数据传输和管理。 具体来说,在该架构中,AI芯片用于支持高性能的数据处理和分析,主要运行人工智能、机器学习、深度学习等算法,对大规模数据进行处理和分析,提高系统的智能化和自动化水平。而BMC芯片则用于支持基础管理、控制和监测等任务,主要运行操作系统、驱动程序和基础管理软件,对系统进行实时管理和监测,保证系统的安全性和稳定性。同时,内存和网络接口用于实现数据的存储、传输和交换,保证AI芯片和BMC芯片之间的通信和联网,从而实现高效、智能的数据处理和管理。 总的来说,基于AI芯片和BMC芯片的架构可以充分发挥两种芯片的优势,实现高性能、智能的数据处理和管理,适用于各种大规模数据处理和分析的应用场景,如人工智能、云计算、大数据分析等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值