CN115794525A - 一种bmc压力测试方法、装置、设备及存储介质 - Google Patents
一种bmc压力测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115794525A CN115794525A CN202211565286.9A CN202211565286A CN115794525A CN 115794525 A CN115794525 A CN 115794525A CN 202211565286 A CN202211565286 A CN 202211565286A CN 115794525 A CN115794525 A CN 115794525A
- Authority
- CN
- China
- Prior art keywords
- test
- bmc
- network
- pressure
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 505
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010998 test method Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000004088 simulation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009662 stress testing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种BMC压力测试方法、装置、设备及存储介质,涉及服务器技术领域。该方法包括:基于测试运行参数中的线程数量,并行运行压力测试线程;在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。本发明实施例的技术方案,通过多线程模拟多个用户同时登录BMC网络,并对预设测试点进行压力测试,节约人力成本的同时,避免出现测试点漏测的情况。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种BMC压力测试方法、装置、设备及存储介质。
背景技术
基板管理控制器(Baseboard Management Controller,简称BMC)是部署于服务器的具有独立供电、独立I/O(Input/Output)接口的控制单元。BMC能够对服务器的传感器、硬盘、网络、显卡等外设进行控制。在服务器监控管理过程中,BMC需要处理用户监控请求。为避免用户频繁访问BMC导致BMC宕机,需要在服务器设计阶段对BMC进行压力测试。
现有技术常用的BMC压力测试方法为,人为手动进行BMC用户登录登出测试,并在登录状态下获取BMC相应信息。上述压力测试方法消耗的人力成本较高,测试效率低下,并且在BMC测试关联的测试点较多时,手动测试还容易出现测试点漏测的情况。
发明内容
本发明提供了一种BMC压力测试方法、装置、设备及存储介质,以解决BMC压力测试人力成本高,且容易出现测试点漏测的情况。
根据本发明的一方面,提供了一种BMC压力测试方法,包括:
基于测试运行参数中的线程数量,并行运行压力测试线程;
在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
可选的,在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试,包括:
在每个压力测试线程中,以命令方式模拟用户登录被测服务器的BMC网络;
在BMC网络登录成功的情况下,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息;
在所述BMC信息中包含所述预设测试点关联的测试信息的情况下,判断所述测试信息是否满足测试通过条件;
在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量。相较于以用户名和密码的方式登录BMC网络,本方案在每个压力测试线程中以命令方式模拟用户登录被测服务器的BMC网络,登录效率更高,并且在每个压力测试线程中判断是否反馈了与测试点关联的测试信息,以及测试线程是否满足测试通过条件,可以避免测试点漏测的情况。
可选的,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息,包括:
在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息;
查找所述BMC网络信息中是否存在与在线用户测试点关联的在线用户数量;
判断所述测试信息是否满足测试通过条件,包括:
判断完成BMC网络登录的用户数量与所述在线用户数量是否一致,若是,则确定所述测试信息满足测试通过条件。对网络状态测试点和在线用户测试点关联的测试信息进行测试,压力测试的测试点覆盖更加全面。
可选的,本发明实施例,还包括:
在BMC网络登录失败,或者所述BMC信息中未包含所述预设测试点关联的测试信息的情况下,检测测试主机与被测服务器的BMC之间的网络联通性;
在所述测试主机和被测服务器的BMC之间网络连通的情况下,确定被测服务器中BMC关联的网络服务软件的运行状态;
对所述网络连通性和网络服务软件的运行状态进行输出。在模拟用户登录失败或者被测服务器反馈的BMC信息中缺失测试点关联的测试信息时,会进一步检测并输出测试主机与被测服务器的BMC之间的网络连通性,以及被测服务器中BMC关联的网络服务软件的运行状态,便于后续BMC问题定位。
可选的,在完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量之后,还包括:
在完成BMC网络登录的用户数量与所述测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络;
在全部登录用户完成登出后,基于测试运行参数中压力测试的循环次数,重复执行下一轮模拟用户登录的操作。每个压力测试线程重复多轮用户登录登出操作,可以发现人工测试不容易发现的概率性问题,提高压力测试全面性。
可选的,在基于测试运行参数中的线程数量,并行运行压力测试线程之前,还包括:
对用户提供的测试运行参数进行可用性检测;
在测试运行参数可用的情况下,验证测试主机与至少一个被测服务器的BMC之间的网络连通性;
在所述测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。在进行压力测试之前,首先对测试运行参数、网络连通性以及被测服务器中BMC状态进行检测,可以预先确定测试运行参数、网络连通以及BMC状态是否正常,一方面,执行前序操作可以对上述因素进行预判,提高测试效率,另一方面,避免上述因素对压力测试过程造成影响。
可选的,在通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试之后,还包括:
针对预设测试点的压力测试结果,生成压力测试报告。直接生成压力测试报告,报告中包含各检测点的检测结果,可以使用户直观获取压力测试过程中的问题所在位置。
根据本发明的另一方面,提供了一种BMC压力测试装置,包括:
多线程运行模块,用于基于测试运行参数中的线程数量,并行运行压力测试线程;
压力测试模块,用于在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
可选的,压力测试模块,包括:
BMC网络登录单元,用于在每个压力测试线程中,以命令方式模拟用户登录被测服务器的BMC网络;
测试信息获取单元,用于在BMC网络登录成功的情况下,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息;
测试信息验证单元,用于在所述BMC信息中包含所述预设测试点关联的测试信息的情况下,判断所述测试信息是否满足测试通过条件;
循环登录单元,用于在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量。
可选的,测试信息获取单元,具体用于:
在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息;
查找所述BMC网络信息中是否存在与在线用户测试点关联的在线用户数量;
测试信息验证单元,具体用于:
判断完成BMC网络登录的用户数量与所述在线用户数量是否一致,若是,则确定所述测试信息满足测试通过条件。
可选的,BMC压力测试装置,还包括:
网络检测模块,用于在BMC网络登录失败,或者所述BMC信息中未包含所述预设测试点关联的测试信息的情况下,检测测试主机与被测服务器的BMC之间的网络联通性;
网络服务检测模块,用于在所述测试主机和被测服务器的BMC之间网络连通的情况下,确定被测服务器中BMC关联的网络服务软件的运行状态;
状态输出模块,用于对所述网络连通性和网络服务软件的运行状态进行输出。
可选的,BMC压力测试装置,还包括:
用户登出模块,用于在完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量之后,在完成BMC网络登录的用户数量与所述测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络;
循环登录模块,用于在全部登录用户完成登出后,基于测试运行参数中压力测试的循环次数,重复执行下一轮模拟用户登录的操作。
可选的,BMC压力测试装置,还包括:
参数检测模块,用于在基于测试运行参数中的线程数量,并行运行压力测试线程之前,对用户提供的测试运行参数进行可用性检测;
连通性检测模块,用于在测试运行参数可用的情况下,验证测试主机与至少一个被测服务器的BMC之间的网络连通性;
BMC状态检测模块,用于在所述测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。
可选的,BMC压力测试装置,还包括:
报告生成模块,用于在通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试之后,针对预设测试点的压力测试结果,生成压力测试报告。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的BMC压力测试方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的BMC压力测试方法。
本发明实施例的技术方案,基于测试运行参数中的线程数量,并行运行压力测试线程,在每个压力测试线程中,通过模拟用户登录被测服务器的BMC网络,对预设测试点进行压力测试,解决了手动进行压力测试所需人力成本高且容易出现漏测的问题,通过多线程模拟多个用户同时登录BMC网络,并对预设测试点进行压力测试,节约人力成本的同时,避免出现测试点漏测的情况。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种BMC压力测试方法的流程图;
图2a是根据本发明实施例提供的一种BMC压力测试方法的流程图;
图2b是根据本发明实施例提供的一种模拟用户登录登出BMC网络的流程图;
图2c是根据本发明实施例提供的登录失败场景下的问题定位流程图;
图3a是根据本发明实施例提供的一种BMC压力测试方法的流程图;
图3b是根据本发明实施例提供的一种压力测试工具初始化的流程图;
图4是根据本发明实施例提供的一种BMC压力测试装置的结构示意图;
图5是实现本发明实施例的BMC压力测试方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供了一种BMC压力测试方法的流程图,本实施例可适用于通过运行多线程模拟用户登录登出BMC网络进行BMC压力测试情况,该方法可以由BMC压力测试装置来执行,该BMC压力测试装置可以采用硬件和/或软件的形式实现,该BMC压力测试装置可配置于各种通用计算设备中。如图1所示,该方法包括:
S110、基于测试运行参数中的线程数量,并行运行压力测试线程。
在进行压力测试之前,用户需要预先在配置文件中写入测试运行参数。在进行BMC压力测试时,压力测试工具首先读取配置文件中的测试运行参数,进而基于测试运行参数对被测服务器的BMC进行压力测试。其中,压力测试工具中需要用到Python封装库中的远程控制模块(Paramiko),用于对远程被测服务器进行命令或者文件操作。
测试运行参数中可以包括被测服务器的BMC网际互联协议(Internet Protocol,简称IP)地址、被测服务器BMC的用户名、密码、压力测试总轮次、每个压力测试线程包含总用户数量、压力测试线程数量、登录BMC网络使用的网际协议版本以及获取脚本帮助信息等。
其中,BMC IP地址由于是访问被测服务器BMC网络所必需的参数,因此可以设置该项参数为必填项。被测服务器BMC的用户名、密码以及压力测试总轮次可以设置默认值。登录BMC网络使用的网际协议版本可以选择网际协议版本4(Internet Protocol Version 4,简称IPv4)或者网际协议版本6(Internet Protocol Version 6,简称Ipv6)。
现在常用的BMC压力测试为手动测试,即依靠人力手动打开浏览器访问BMC IP地址,进而输入被测服务器BMC的用户名和密码实现BMC网络登录。这种方式进行压力测试时需要多个用户等录BMC网络,耗费较大人力成本,且测试效率较低。本发明实施例中,首先在配置文件中读取用户提供的测试运行参数,进一步的,根据测试运行参数中指定的线程数量,并行运行压力测试线程,可以实现多个用户同时登录的效果。仅通过在配置文件中提供测试运行参数,即可实现多用户登录,提高压力测试的效率,并且降低压力测试所需人力成本。
在一个具体的例子中,在配置文件中读取测试运行参数,其中包括线程数量为10,则会并行运行10个压力测试线程,以实现10个压力测试线程同时模拟用户登录被测服务器的BMC网络的情况,提高压力测试执行效率,降低人力成本。
S120、在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
根据实际的压力测试需求,用户可以预先设置一个或者多个测试点,例如,测试点可以包括每个用户的登录情况(例如,登录成功或者登录失败)、登录后的网络信息、在线用户数量以及用户的登出状态等。
本发明实施例中,在每个压力测试线程中,通过模拟用户登录被测服务器的BMC网络,对预设测试点进行压力测试。具体的,每个压力测试线程通过测试运行参数中包含的用户名和密码,以命令(curl)的方式模拟用户登录被测服务器的BMC网络。多个压力测试线程并行运行,可以实现模拟多个用户同时登录BMC网络的情况,提高测试覆盖情况。
另外,压力测试过程往往需要大量用户登录BMC网络,以测得BMC网络所能承受的最大压力。仅依靠多线程并行模拟多个用户登录,无法满足压力测试的登录数量需求,因此,每个压力测试线程可以循环模拟多个用户登录。例如,每个压力测试线程模拟10个用户登录,在第一个用户完成登录后,继续模拟下一个用户登录BMC网络,直至完成10个用户的登录过程,最终达到10个用户同时在线得到效果。在登录过程中,需要将登录状态写入测试日志。
除此之外,在完成登录后,还可以对除了登录之外的其他测试点进行检测,例如,在登录状态下获取被测服务器BMC的网络信息、在线用户数量等,来验证多用户登录的情况下网络信息是否正常。每个线程在完成该线程指定的多个用户登录,并在每个用户登录状态下获取BMC的网络信息后,再依次对多个用户进行登出,并记录登出状态。
在一个具体的例子中,针对每个压力测试线程,首先模拟用户登录被测服务器的BMC网络,在网络登录成功后,获取当前被测服务器反馈的BMC信息,并在BMC信息中获取BMC网络信息。进一步的,判断BMC网络信息中是否包含在线用户数量,若包含,则判断完成BMC网络登录的用户数量,与在线用户数量是否一致。例如,当前登录的为本轮第7个用户,则判断在线用户数量是否为7。在完成BMC网络登录的用户数量,与在线用户数量一致时,可以继续模拟下一个用户登录当前被测服务器的BMC网络。
本发明实施例的技术方案,基于测试运行参数中的线程数量,并行运行压力测试线程,在每个压力测试线程中,通过模拟用户登录被测服务器的BMC网络,对预设测试点进行压力测试,解决了手动进行压力测试所需人力成本高且容易出现漏测的问题,通过多线程同时运行模拟多个用户同时登录BMC网络,并对预设测试点进行压力测试,节约人力成本的同时,避免出现测试点漏测的情况。
图2a为本发明实施例提供的一种BMC压力测试方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试的具体步骤。如图2a所示,该方法包括:
S210、基于测试运行参数中的线程数量,并行运行压力测试线程。
S220、在每个压力测试线程中,以命令方式模拟用户登录被测服务器的BMC网络。
本发明实施例中,在并行运行的每个压力测试线程中,根据用户在配置及文件中提供的BMC的用户名和密码,以命令方式模拟用户登录被测服务器的BMC网络,相较于人为使用用户名和密码的方式可以提高登录BMC网络的效率,进而减少压力测试耗时。
由于每个线程不仅执行一次模拟用户登录操作,其会根据测试运行参数中针对每个压力测试线程指定的用户数量,在一轮压力测试过程中模拟多个用户循环登录被测服务器的BMC网络。并且,为发现概率性问题每个压力测试线程会执行多轮压力测试。因此,如图2b所示,在以命令(curl)方式模拟用户登录被测服务器的BMC网络之前,首先判断已完成登录的用户数量是否小于每个压力线程指定的总用户数量,若是,则以命令方式进行当前用户登录。进一步的,获取被测服务器反馈的用户登录状态status,若status=0,则确定登录成功,否则登录失败。在登录成功后,进一步复核返回值中是否包含“OK”字样,若否,则将status置1,确定登录失败,若是,则确定登录成功。
S230、在BMC网络登录成功的情况下,判断被测服务器反馈的BMC信息中是否包含预设测试点关联的测试信息。
本发明实施例中,在BMC网络登录成功的情况下,继续对下一预设测试点进行测试,具体的,用户登录成功后获取被测服务器反馈的BMC信息,判断BMC信息中是否包含预设测试点关联的测试信息,避免测试点缺失。
在一个具体的例子中,测试点包括网络状态测试点和在线用户测试点。在用户登录成功后,获取被测服务器反馈的BMC信息,并在BMC信息中获取BMC网络信息,进而判断BMC网络信息中是否包含在线用户数量。若不包含在线用户数量,则确定登录失败,执行登录失败后的问题定位操作。
可选的,判断被测服务器反馈的BMC信息中是否包含预设测试点关联的测试信息,包括:
在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息;
查找BMC网络信息中是否存在与在线用户测试点关联的在线用户数量;
本可选的实施例中,提供了一种判断被测服务器反馈的BMC信息中是否包含预设测试点关联的测试信息的具体方式,如图2b所示:首先在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息(dictnetinfo)。进一步的,在BMC网络信息中查找是否存储与在线用户测试点关联的在线用户数量(webonline)。若BMC网络信息包含在线用户数量,则确定包含预设测试点关联的测试信息,否则,确定不包含与预设测试点关联的测试信息。
S240、在BMC信息中包含预设测试点关联的测试信息的情况下,判断测试信息是否满足测试通过条件。
可选的,判断测试信息是否满足测试通过条件,包括:
判断完成BMC网络登录的用户数量与在线用户数量是否一致,若是,则确定测试信息满足测试通过条件。
本发明实施例中,在BMC信息中包含预设测试点关联的测试信息的情况下,继续判断测试信息是否满足测试通过条件。例如,针对在线用户测试点关联的在线用户数量,判断当前测试轮次已经完成BMC网络登录的用户数量与被测服务器反馈的在线用户数量是否一致,若一致,则表明在后登录的用户未将在前登录的用户挤下线,多个用户可以同时访问BMC网络,满足测试通过条件。
S250、在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到测试运行参数中针对每个压力测试线程指定的用户数量。
本发明实施例中,在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到测试运行参数中针对每个压力测试线程指定的用户数量。示例性的,测试运行参数中指定每个压力测试线程循环登录的用户数量为10,则在完成当前用户登录,并获取到满足测试通过条件的测试信息后,继续模拟下一个用户登录,直至10个用户都完成登录。
可选的,在BMC网络登录失败,或者BMC信息中未包含预设测试点关联的测试信息的情况下,检测测试主机与被测服务器的BMC之间的网络联通性;
在测试主机和被测服务器的BMC之间网络连通的情况下,确定被测服务器中BMC关联的网络服务软件的运行状态;
对网络连通性和网络服务软件的运行状态进行输出。
本发明实施例中,当模拟用户登录出现问题,即BMC网络登录失败,或者出现BMC信息中未包含预设测试点关联的测试信息的情况下,转而执行稳定定位的操作,以定位未通过压力测试的问题所在。具体如图2c所示,可以判断测试主机和被测服务器的BMC之间网络连通性。例如,通过因特网探索器(Packet Internet Grope,简称Ping)向测服务器的BMCIP发送请求消息,若接收到BMC的应答反馈,即确定二者网络连通,否则可以确定登录失败或者获取测试信息失败的问题在于网络故障。为提高稳定定位准确性,可以持续30秒通过Ping向BMC IP发送请求消息,若30秒内未收到应答反馈,则确定被测服务器的BMC存在网络故障。
在测试主机和被测服务器的BMC之间网络连通的情况下,可以确定网络无故障,则可以进一步确定被测服务器中BMC关联的网络服务软件(Lighttpd)的运行状态,若运行状态异常,则可以确定登录失败或者获取测试信息失败的问题在于网络服务器软件异常。
在模拟用户登录出现问题,或者出现BMC信息中未包含预设测试点关联的测试信息的情况下,继续通过网络连通性和网络服务软件两方面检测是否存在异常,可以帮助用户定位问题,提高问题定位效率。
S260、在完成BMC网络登录的用户数量与测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络。
本发明实施例中,如图2b所示,在完成BMC网络登录的用户数量与测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络。示例性的,测试运行参数中指定每个压力测试线程循环模拟10个用户登录BMC网络。当在线用户数量达到10后,依次模拟用户登出被测服务器的BMC网络。
S270、在全部登录用户完成登出后,基于测试运行参数中压力测试的循环次数,重复执行下一轮模拟用户登录的操作。
本发明实施例中,在全部登录用户完成登出后,基于测试运行参数中压力测试循环次数,重复执行下一轮模拟用户登录的操作。示例性的,每个压力测试线程的登录用户数量为10,则依次完成10个用户的登录和登出操作后,继续执行下一轮的用户登录登出操作。通过执行多轮压力测试,可以做到充分覆盖测试步骤,发现概率性问题。
本发明实施例的技术方案,本方案在每个压力测试线程中以命令方式模拟用户登录被测服务器的BMC网络,相较于以用户名和密码的方式进行登录,登录效率更高,并且在每个压力测试线程中判断是否反馈了与测试点关联的测试信息,以及测试线程是否满足测试通过条件,可以避免测试点漏测的情况。
图3a为本发明实施例提供的一种BMC压力测试方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了基于测试运行参数中的线程数量,并行运行压力测试线程之前的具体步骤。如图3a所示,该方法包括:
S310、对用户提供的测试运行参数进行可用性检测。
本发明实施例中,在对被测服务器的BMC进行压力测试之前,首先对压力测试工具进行初始化操作。具体如图3b所示,首先可以对用户提供的测试运行参数进行可用性检测,例如,可以检测用户是否提供了测试运行参数中的必填项,还可以检测各项测试运行参数的数据类型是否正确。若测试运行参数不可用,可以退出检测,并输出参数不可用的错误信息。
S320、在测试运行参数可用的情况下,验证测试主机与至少一个被测服务器的BMC之间的网络连通性。
本发明实施例中,在测试运行参数可用的情况下,为保证压力测试正常执行,继续检测当前测试主机与被测服务器的BMC之间的网络连通性,例如,Ping被测服务器的BMCIP,若接收到BMC的应答反馈,即确定二者网络连通。反之,若未接收到BMC的应答反馈,则确定二者之间网络不连通,需要输出网络不连通的错误信息。
在进行网络连通性验证之前,首先可以删除上一次压力测试的日志,避免上一次压力测试结果影响本次压力测试。为了提高网络监测准确性,可以在删除上一次压力测试的日志后,再次Ping被测服务器的BMC IP,若接收到BMC的应答反馈,即确定二者网络连通。
S330、在测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。
本发明实施例中,在测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。例如,通过智能平台管理接口(Intelligent Platform Management Interface,简称IPMI)向被测服务器发送BMC信息获取请求,若收到被测服务器反馈的BMC信息,则确定BMC状态正常。在BMC状态正常的情况下,即可开始对该被测服务器进行压力测试。
在对压力测试工具初始化过程中,对测试运行参数、测试主机和被测服务器的BMC之间网络连通性以及BMC状态进行检测,可以预先确定是否存在参数或者BMC状态的问题,避免影响压力测试正常执行。
S340、基于测试运行参数中的线程数量,并行运行压力测试线程。
S350、在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
S360、针对预设测试点的压力测试结果,生成压力测试报告。
本发明实施例中,在针对预设测试点进行压力测试后,基于压力测试结果,生成压力测试报告。具体的,预设测试点可以包括每个用户的登录情况、登录后的网络信息、在线用户数量以及用户的登出状态等。在多线程模拟用户登录登出过程中,可以将这些信息写入BMC日志,进而基于BMC日志生成压力测试报告,使得用户可以直观得到压力测试结果,以及压力测试过程中的问题。
本发明实施例的技术方案,在进行压力测试之前对测试运行参数、测试主机和被测服务器的BMC之间网络连通性以及BMC状态进行检测,可以预先确定是否存在参数或者BMC状态的问题,避免影响压力测试正常执行,并且完成预设测试点的压力测试后,针对各预设测试点的压力测试结果,生成压力测试报告,使用户直观获取压力测试结果。
图4为本发明实施例提供的一种BMC压力测试装置的结构示意图。如图4所示,该装置包括:
多线程运行模块410,用于基于测试运行参数中的线程数量,并行运行压力测试线程;
压力测试模块420,用于在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
本发明实施例的技术方案,基于测试运行参数中的线程数量,并行运行压力测试线程,在每个压力测试线程中,通过模拟用户登录被测服务器的BMC网络,对预设测试点进行压力测试,解决了手动进行压力测试所需人力成本高且容易出现漏测的问题,通过多线程同时运行模拟多个用户同时登录BMC网络,并对预设测试点进行压力测试,节约人力成本的同时,避免出现测试点漏测的情况。
可选的,压力测试模块420,包括:
BMC网络登录单元,用于在每个压力测试线程中,以命令方式模拟用户登录被测服务器的BMC网络;
测试信息获取单元,用于在BMC网络登录成功的情况下,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息;
测试信息验证单元,用于在所述BMC信息中包含所述预设测试点关联的测试信息的情况下,判断所述测试信息是否满足测试通过条件;
循环登录单元,用于在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量。
可选的,测试信息获取单元,具体用于:
在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息;
查找所述BMC网络信息中是否存在与在线用户测试点关联的在线用户数量;
测试信息验证单元,具体用于:
判断完成BMC网络登录的用户数量与所述在线用户数量是否一致,若是,则确定所述测试信息满足测试通过条件。
可选的,BMC压力测试装置,还包括:
网络检测模块,用于在BMC网络登录失败,或者所述BMC信息中未包含所述预设测试点关联的测试信息的情况下,检测测试主机与被测服务器的BMC之间的网络联通性;
网络服务检测模块,用于在所述测试主机和被测服务器的BMC之间网络连通的情况下,确定被测服务器中BMC关联的网络服务软件的运行状态;
状态输出模块,用于对所述网络连通性和网络服务软件的运行状态进行输出。
可选的,BMC压力测试装置,还包括:
用户登出模块,用于在完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量之后,在完成BMC网络登录的用户数量与所述测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络;
循环登录模块,用于在全部登录用户完成登出后,基于测试运行参数中压力测试的循环次数,重复执行下一轮模拟用户登录的操作。
可选的,BMC压力测试装置,还包括:
参数检测模块,用于在基于测试运行参数中的线程数量,并行运行压力测试线程之前,对用户提供的测试运行参数进行可用性检测;
连通性检测模块,用于在测试运行参数可用的情况下,验证测试主机与至少一个被测服务器的BMC之间的网络连通性;
BMC状态检测模块,用于在所述测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。
可选的,BMC压力测试装置,还包括:
报告生成模块,用于在通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试之后,针对预设测试点的压力测试结果,生成压力测试报告。
本发明实施例所提供的BMC压力测试装置可执行本发明任意实施例所提供的BMC压力测试方法,具备执行方法相应的功能模块和有益效果。
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如BMC压力测试方法。
在一些实施例中,BMC压力测试方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的BMC压力测试方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行BMC压力测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种BMC压力测试方法,其特征在于,包括:
基于测试运行参数中的线程数量,并行运行压力测试线程;
在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
2.根据权利要求1所述的方法,其特征在于,在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试,包括:
在每个压力测试线程中,以命令方式模拟用户登录被测服务器的BMC网络;
在BMC网络登录成功的情况下,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息;
在所述BMC信息中包含所述预设测试点关联的测试信息的情况下,判断所述测试信息是否满足测试通过条件;
在满足测试通过条件的情况下,以命令方式模拟下一个用户登录BMC网络,直至完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量。
3.根据权利要求2所述的方法,其特征在于,判断所述被测服务器反馈的BMC信息中是否包含所述预设测试点关联的测试信息,包括:
在被测服务器反馈的BMC信息中查找与网络状态测试点关联的BMC网络信息;
查找所述BMC网络信息中是否存在与在线用户测试点关联的在线用户数量;
判断所述测试信息是否满足测试通过条件,包括:
判断完成BMC网络登录的用户数量与所述在线用户数量是否一致,若是,则确定所述测试信息满足测试通过条件。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
在BMC网络登录失败,或者所述BMC信息中未包含所述预设测试点关联的测试信息的情况下,检测测试主机与被测服务器的BMC之间的网络联通性;
在所述测试主机和被测服务器的BMC之间网络连通的情况下,确定被测服务器中BMC关联的网络服务软件的运行状态;
对所述网络连通性和网络服务软件的运行状态进行输出。
5.根据权利要求2所述的方法,其特征在于,在完成BMC网络登录的用户数量达到所述测试运行参数中针对每个压力测试线程指定的用户数量之后,还包括:
在完成BMC网络登录的用户数量与所述测试运行参数中针对压力测试线程指定的用户数量相同的情况下,依次模拟用户登出被测服务器的BMC网络;
在全部登录用户完成登出后,基于测试运行参数中压力测试的循环次数,重复执行下一轮模拟用户登录的操作。
6.根据权利要求1所述的方法,其特征在于,在基于测试运行参数中的线程数量,并行运行压力测试线程之前,还包括:
对用户提供的测试运行参数进行可用性检测;
在测试运行参数可用的情况下,验证测试主机与至少一个被测服务器的BMC之间的网络连通性;
在所述测试主机与至少一个被测服务器的BMC之间网络连通的情况下,进一步检测各被测服务器中的BMC状态是否正常。
7.根据权利要求1所述的方法,其特征在于,在通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试之后,还包括:
针对预设测试点的压力测试结果,生成压力测试报告。
8.一种BMC压力测试装置,其特征在于,包括:
多线程运行模块,用于基于测试运行参数中的线程数量,并行运行压力测试线程;
压力测试模块,用于在每个压力测试线程中,通过模拟用户登录被测服务器的基板管理控制器BMC网络,对预设测试点进行压力测试。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的BMC压力测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的BMC压力测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211565286.9A CN115794525A (zh) | 2022-12-07 | 2022-12-07 | 一种bmc压力测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211565286.9A CN115794525A (zh) | 2022-12-07 | 2022-12-07 | 一种bmc压力测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794525A true CN115794525A (zh) | 2023-03-14 |
Family
ID=85417671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211565286.9A Pending CN115794525A (zh) | 2022-12-07 | 2022-12-07 | 一种bmc压力测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794525A (zh) |
-
2022
- 2022-12-07 CN CN202211565286.9A patent/CN115794525A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109510742B (zh) | 一种服务器网卡远程测试方法、装置、终端及存储介质 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
CN111666563B (zh) | 用于验证应用运行状态的方法及装置 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN111966551A (zh) | 远程命令执行结果的校验方法、系统、终端及存储介质 | |
CN107870840B (zh) | 基于ipmi的服务器多个测试指令自动执行方法 | |
CN116702668A (zh) | 一种回归测试方法、装置、电子设备和存储介质 | |
CN116087752A (zh) | 一种芯片测试方法、系统、装置及介质 | |
CN115599438A (zh) | 应用程序的发布包的构建方法、装置、设备及介质 | |
CN115794525A (zh) | 一种bmc压力测试方法、装置、设备及存储介质 | |
CN115061921A (zh) | 自动测试方法、装置、电子设备及可读存储介质 | |
CN115437865A (zh) | 一种硬盘异常掉电测试方法、装置、设备及介质 | |
CN115437961A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115017047A (zh) | 基于b/s架构的测试方法、系统、设备及介质 | |
CN115357493A (zh) | 测试方法、装置、电子设备和存储介质 | |
CN114003497A (zh) | 业务系统的测试方法、装置、设备及存储介质 | |
CN113836016B (zh) | 写接口存储质量测试方法、系统、电子设备及存储介质 | |
CN116089307A (zh) | 一种bios测试方法、装置、设备及介质 | |
CN115599682A (zh) | 一种环境可用性检测方法、装置、设备及存储介质 | |
CN117687853A (zh) | 一种固件检测方法、装置、设备及介质 | |
CN117539699A (zh) | 一种bmc测试方法、装置、设备及介质 | |
CN116185874A (zh) | 一种测试报告生成方法、装置、设备和存储介质 | |
CN115878461A (zh) | 一种操作日志测试方法、装置、设备及存储介质 | |
CN115543712A (zh) | 设备配置信息自动化检测方法、装置、电子设备及介质 | |
CN116431499A (zh) | 一种自动测试方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |