CN115277466A - 一种性能测试数据收集方法及系统 - Google Patents
一种性能测试数据收集方法及系统 Download PDFInfo
- Publication number
- CN115277466A CN115277466A CN202210780129.3A CN202210780129A CN115277466A CN 115277466 A CN115277466 A CN 115277466A CN 202210780129 A CN202210780129 A CN 202210780129A CN 115277466 A CN115277466 A CN 115277466A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- data
- excel
- file
- performance
- 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.)
- Granted
Links
- 238000011056 performance test Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013480 data collection Methods 0.000 title claims description 19
- 238000012544 monitoring process Methods 0.000 claims abstract description 125
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims abstract description 9
- 238000004806 packaging method and process Methods 0.000 claims abstract 2
- 238000012545 processing Methods 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000013075 data extraction Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 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
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种性能测试数据收集方法及系统,所述方法包括:基于paramiko库的重新封装,获取多个待监控服务器的资源;批量连接多个待监控服务器并部署性能监控工具Nmon;根据获取的监控策略,通过Nmon执行性能监控命令;提取多个待监控服务器的原始监控文件,使用python解析Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中。所述系统可以实现输入一组系统地址,策略执行完成后自动输出性能测试数据至目标文件夹的功能。本申请提高了集群模式下性能测试的工作效率。
Description
技术领域
本发明涉及集群性能测试技术领域,尤其涉及一种性能测试数据收集方法及系统。
背景技术
随着信息技术的不断发展,服务器等互联网基础设备的应用越来越广泛。在使用服务器的过程中,服务器的正常运行,与服务器部件的性能密切相关。服务器部件的性能测试包括硬盘、Raid(Redundant Arrays of Independent Disks,磁盘阵列)卡、硬盘背板等部件的性能测试,引入新的硬盘、Raid卡、硬盘背板时,均需要进行性能测试。
在内网环境实施性能测试时,由于缺乏Online实时性能数据收集系统,所以在收集服务端、数据库端、负载机等设备资源数据时,需要重复且精细的记录工作。因实施的监控策略不同,数据收集的难度逐步加大,在实行集群模式的性能测试时,数据收集难度过大,数据复杂,收集易出错是不可避免的问题。
因此,如何提高集群性能测试的工作效率,降低测试的成本是本领域技术人员关注的重点问题。
发明内容
本发明的目的在于提供一种性能测试数据收集方法及系统,以解决上述技术背景中提出的问题。
为实现上述目的,本发明采用以下技术方案:
本申请第一个方面提供了一种性能测试数据收集方法,包括:
基于python-paramiko库的重新封装,获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码;
批量连接多个待监控服务器并部署性能监控工具Nmon;
根据获取的监控策略,通过性能监控工具Nmon执行性能监控命令;
提取多个待监控服务器的原始监控文件,使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;
对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中。
上述内容中,监控策略主要参数有:监控时长、监控间隔、数据记录方式、数据颗粒度、数据存放目录等。
参数组合举例如下:nmon[-f|-F文件名|-x|-X|-z][-r<运行名>][-t|-T|-Y][-s秒][-c数][-w数][-lDPL][-d][-g文件名][-k disklist][-G][-K][-o输出路径][-D][-E][-J][-V][-P][-M][-N][-W][-S][-^][-O][-L][-I百分比][-A][-m<目录>][-Z优先级][-i][-y选项]
优选地,所述获取多个待监控服务器的资源,是通过重新封装python-paramiko库实现的,所述python-paramiko库的重新封装,具体包括如下步骤:
读取基于批量任务的输入地址、用户名和密码;
使用python创建多线程;
在线程内使用paramiko库的ssh连接方法,批量建立对应的ssh连接,使paramiko库通过ssh方式批量登录并操作多个ubuntu系统和/或多个linux系统。
更优选地,重新封装后得到的python-paramiko库,被配置有如下功能:
登录多个ubuntu系统和/或多个linux系统;
执行原生ubuntu命令;
从服务器向目标机器提供性能监控工具Nmon;
从目标机器提取监控数据文件;
根据监控参数生成监控命令并执行;
根据输入的ubuntu命令自动生成shell脚本。
优选地,所述使用python解析性能监控工具Nmon客户端的Excel宏,具体包括如下步骤:
使用python-paramiko库的xlrd和os,打开excel文件,查找性能监控工具Nmon客户端指定的宏名称,对目标宏进行操作,使其解析原始监控文件,最后输出资源数据的excel文件至指定文件夹。
优选地,所述对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中,是通过使用python封装一个能够批量获取并重新组合Excel数据的工具实现的,具体包括如下步骤:
重新封装python的openpyxl库,使得该工具具备如下功能:打开excel,提取excel指定位置的数据,创建新的excel文件,在excel内写入数据及公式,对比提取数据得出差值。
更优选地,所述对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中,具体包括如下步骤:
根据输入的预设的目标目录,提取该目标目录对应路径下的所有excel文件;
根据所述工具内的sheet页及数据位置的参数,依次从每个excel文件中提取出预设的需求数据(例如,IO、CPU、MEM、NETWORK),暂存至内存空间;
获得所有数据后,根据监控策略进行差值计算;
新建excel文件,将提取出的需求数据及差值数据根据监控策略输出到该新建excel文件的指定sheet页的指定位置;
对新建的excel文件进行保存,并输出保存的路径。
本申请第二个方面提供了一种性能测试数据收集系统,包括:
获取单元,被配置为对原始的paramiko库进行重新封装,使其能获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码;
分析单元,被配置为通过性能监控工具Nmon对所述待监控服务器资源进行分析,得到多个待监控服务器的原始监控文件;
解析单元,被配置为使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;
数据处理单元,被配置为对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理;
输出单元,被配置为将经过归类整理及格式化处理后的数据结果输出至预设的excel文件中。
优选地,重新封装后的所述paramiko库,包括:
连接模块,用于多线程批量连接服务器集群;
文件传输模块,用于传输性能监控工具Nmon至各服务器以及提取监控文件;
策略解析模块:用于根据输入的监控策略,生成相应的ubuntu命令;
命令执行模块:用于在服务器端执行ubuntu命令。
优选地,所述解析单元,包括:
数据输入模块,用于提取文件路径,将文件路径下的excel文件加载至内存空间;
宏调用模块,用于调用性能监控工具Nmon客户端的Excel宏来解析内存空间内的excel文件;
数据输出模块,用于输出生成的excel文件至指定目录。
优选地,所述数据处理单元,包括:
关键性能数据提取模块,用于按照预设顺序对多个监控解析文件的关键性能数据进行提取,所述关键性能数据包括、但不限于IO、CPU、MEM、NETWORK;
分类整理模块,用于对提取后的关键性能数据进行归类整理及差值计算;
资源整合模块,用于对分类整理模块处理后的数据进行excel格式化,并输出文件。
与现有技术相比,本发明的技术方案具有以下有益效果:
本申请公开了一种性能测试数据收集方法及系统,使得在进行集群性能测试时,能够自动按照既定策略运行监控工具,自动收集集群内各个设备的性能数据,并进行关键数据抽取、归档整理。本申请的系统可以实现输入一组系统地址,策略执行完成后自动输出性能测试数据至目标文件夹的功能,本申请提高了集群模式下性能测试的工作效率,可以实现对服务器集群的精准监控。
附图说明
构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明优选实施例的一种性能测试数据收集方法的流程示意图;
图2是本发明优选实施例的一种性能测试数据收集系统的功能单元组成框图;
图3是一种性能测试数据收集系统的解析单元的组成框图示意图;
图4是一种性能测试数据收集系统的数据处理单元的组成框图示意图;
图5是性能测试数据收集系统的执行过程示意图。
具体实施方式
本发明提供一种性能测试数据收集方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一:
图1为本发明优选实施例的一种性能测试数据收集方法的流程示意图。
如图1所示,一种性能测试数据收集方法,具体包括如下步骤:
步骤S1,基于python-paramiko库的重新封装,获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码。
其中,所述python-paramiko库的重新封装,具体包括如下步骤:
S11,读取基于批量任务的输入地址、用户名和密码;
S12,使用python创建多线程;
S13,在线程内使用paramiko库的ssh连接方法,批量建立对应的ssh连接,使paramiko库通过ssh方式批量登录并操作多个ubuntu系统和/或多个linux系统。
重新封装后得到的python-paramiko库,被配置有如下功能:
登录多个ubuntu系统和/或多个linux系统;
执行原生ubuntu命令;
从服务器向目标机器提供性能监控工具Nmon;
从目标机器提取监控数据文件;
根据监控参数生成监控命令并执行;
根据输入的ubuntu命令自动生成shell脚本。
上述内容中,性能监控工具Nmon(Nigel’s Monitor)是由IBM公司提供的、免费监控AIX系统与Linux系统资源的工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,它可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用excel分析工具(nmon analyser)进行数据的统计分析。具体实现中,电子设备可以通过Nmon对待监控服务器资源进行分析,得到表格文档,该表格文档记录了服务器资源的采样数据。
上述内容中,所述监控策略主要参数有:监控时长、监控间隔、数据记录方式、数据颗粒度、数据存放目录等。
参数组合举例如下:nmon[-f|-F文件名|-x|-X|-z][-r<运行名>][-t|-T|-Y][-s秒][-c数][-w数][-lDPL][-d][-g文件名][-k disklist][-G][-K][-o输出路径][-D][-E][-J][-V][-P][-M][-N][-W][-S][-^][-O][-L][-I百分比][-A][-m<目录>][-Z优先级][-i][-y选项]
上述内容中,基于监控策略,Nmon主要记录以下方面的数据:
CPU占用率;
内存使用情况;
磁盘I/O速度、传输和读写比率;
文件系统的使用率;
网络I/O速度、传输和读写比率、错误统计率与传输包的大小;
消耗资源最多的进程;
计算机详细信息和资源;
页面空间和页面I/O速度;
用户自定义的磁盘组;
网络文件系统。
步骤S2,批量连接多个待监控服务器并部署性能监控工具Nmon。
步骤S3,根据获取的监控策略,通过性能监控工具Nmon执行性能监控命令。
步骤S4,提取多个待监控服务器的原始监控文件,使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件。
具体过程为:使用python-paramiko库的xlrd和os,打开excel文件,查找性能监控工具Nmon客户端指定的宏名称,对目标宏进行操作,使其解析原始监控文件,最后输出资源数据的excel文件至指定文件夹。
步骤S5,对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中。
该步骤是通过使用python封装一个能够批量获取并重新组合Excel数据的工具实现的,具体包括如下步骤:
重新封装python的openpyxl库,使得该工具具备如下功能:打开excel,提取excel指定位置的数据,创建新的excel文件,在excel内写入数据及公式,对比提取数据得出差值。
该工具的输入为:预设的目标目录,该目标目录下存放一组监控解析文件。
基于该工具实现步骤S5的具体操作包括:
S51,根据输入的预设的目标目录,提取该目标目录对应路径下的所有excel文件;
S52,根据所述工具内的sheet页及数据位置的参数,依次从每个excel文件中提取出预设的需求数据(例如,IO、CPU、MEM、NETWORK),暂存至内存空间;
S53,获得所有数据后,根据监控策略进行差值计算;
S54,新建excel文件,将提取出的需求数据及差值数据根据监控策略输出到该新建excel文件的指定sheet页的指定位置;
S55,对新建的excel文件进行保存,并输出保存的路径。
上述步骤S53中,所述获得所有数据后,根据监控策略进行差值计算,例如:两台服务器在负载同等压力下,判断资源消耗是否一致,如不一致,计算其差值,若该差值大于对应的参考数值,则对有问题的服务器进行性能问题排查。再例如,两台服务器在不同负载压力下,根据压力程度除以资源消耗比重,从而得到多个资源指标的多个差值,据此计算在服务器压力递增的情况下,资源消耗的比例及曲线。
实施例二:
本实施例给出了一种性能测试数据收集系统的设计示例。操作系统以LINUX为主,开发语言为Python和shell,同时使用基于开源工具Nmon。该系统的核心部分包括了:
1)一个可以连接ubuntu系统或linux系统的工具,可以根据输入执行相应内置命令;
2)一个excel宏解析工具,可以操作excel宏并输出监控解析文件;
3)一个数据处理工具,根据输入的大量数据提取关键数据并进行组合保存;
4)一个执行器,可以根据总体参数输入,在目标文件夹生成最终汇总文件。
图2是本发明优选实施例的一种性能测试数据收集系统的功能单元组成框图。
参阅图2所示,一种性能测试数据收集系统,包括:
获取单元100,被配置为对原始的paramiko库进行重新封装,使其能获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码;
分析单元200,被配置为通过性能监控工具Nmon对所述待监控服务器资源进行分析,得到多个待监控服务器的原始监控文件;
解析单元300,被配置为使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;
数据处理单元400,被配置为对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理;
输出单元500,被配置为将经过归类整理及格式化处理后的数据结果输出至预设的excel文件中。
其中,重新封装后的所述paramiko库,包括:
连接模块,用于多线程批量连接服务器集群;
文件传输模块,用于传输性能监控工具Nmon至各服务器以及提取监控文件;
策略解析模块:用于根据输入的监控策略,生成相应的ubuntu命令;
命令执行模块:用于在服务器端执行ubuntu命令。
参阅图3所示,上述内容中,所述解析单元300,包括:
数据输入模块301,用于提取文件路径,将文件路径下的excel文件加载至内存空间;
宏调用模块302,用于调用性能监控工具Nmon客户端的Excel宏来解析内存空间内的excel文件;
数据输出模块303,用于输出生成的excel文件至指定目录。
参阅图4所示,上述内容中,所述数据处理单元400,包括:
关键性能数据提取模块401,用于按照预设顺序对多个监控解析文件的关键性能数据进行提取,所述关键性能数据包括、但不限于IO、CPU、MEM、NETWORK;
分类整理模块402,用于对提取后的关键性能数据进行归类整理及差值计算;
资源整合模块403,用于对分类整理模块402处理后的数据进行excel格式化,并输出文件。
参阅图5所示,该性能测试数据收集系统运行时,其输入为:监控策略及多个服务器的地址及账户。然后依次执行:批量连接服务器并部署性能监控工具,根据输入的监控策略执行性能监控命令,提取服务器内的监控原始文件,操作Excel宏解析监控原始文件并生成监控数据,对监控数据进行格式化处理及归类处理。最后,系统输出为:目标文件夹内的监控数据分析集合。
综上所述,本申请公开了一种性能测试数据收集方法及系统,使得在进行集群性能测试时,能够自动按照既定策略运行监控工具,自动收集集群内各个设备的性能数据,并进行关键数据抽取、归档整理。本申请的系统可以实现输入一组系统地址,策略执行完成后自动输出性能测试数据至目标文件夹的功能,本申请提高了集群模式下性能测试的工作效率,可以实现对服务器集群的精准监控。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,可通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (10)
1.一种性能测试数据收集方法,其特征在于,包括:
基于python-paramiko库的重新封装,获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码;
批量连接多个待监控服务器并部署性能监控工具Nmon;
根据获取的监控策略,通过性能监控工具Nmon执行性能监控命令;
提取多个待监控服务器的原始监控文件,使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;
对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中。
2.根据权利要求1所述的一种性能测试数据收集方法,其特征在于,所述获取多个待监控服务器的资源,是通过重新封装python-paramiko库实现的,所述python-paramiko库的重新封装,具体包括如下步骤:
读取基于批量任务的输入地址、用户名和密码;
使用python创建多线程;
在线程内使用paramiko库的ssh连接方法,批量建立对应的ssh连接,使paramiko库通过ssh方式批量登录并操作多个ubuntu系统和/或多个linux系统。
3.根据权利要求2所述的一种性能测试数据收集方法,其特征在于,重新封装后得到的python-paramiko库,被配置有如下功能:
登录多个ubuntu系统和/或多个linux系统;
执行原生ubuntu命令;
从服务器向目标机器提供性能监控工具Nmon;
从目标机器提取监控数据文件;
根据监控参数生成监控命令并执行;
根据输入的ubuntu命令自动生成shell脚本。
4.根据权利要求1所述的一种性能测试数据收集方法,其特征在于,所述使用python解析性能监控工具Nmon客户端的Excel宏,具体包括如下步骤:
使用python-paramiko库的xlrd和os,打开excel文件,查找性能监控工具Nmon客户端指定的宏名称,对目标宏进行操作,使其解析原始监控文件,最后输出资源数据的excel文件至指定文件夹。
5.根据权利要求1所述的一种性能测试数据收集方法,其特征在于,所述对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中,是通过使用python封装一个能够批量获取并重新组合Excel数据的工具实现的,具体包括如下步骤:
重新封装python的openpyxl库,使得该工具具备如下功能:打开excel,提取excel指定位置的数据,创建新的excel文件,在excel内写入数据及公式,对比提取数据得出差值。
6.根据权利要求5所述的一种性能测试数据收集方法,其特征在于,所述对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理,并将处理后的数据结果输出至预设的excel文件中,具体包括如下步骤:
根据输入的预设的目标目录,提取该目标目录对应路径下的所有excel文件;
根据所述工具内的sheet页及数据位置的参数,依次从每个excel文件中提取出预设的需求数据,暂存至内存空间;
获得所有数据后,根据监控策略进行差值计算;
新建excel文件,将提取出的需求数据及差值数据根据监控策略输出到该新建excel文件的指定sheet页的指定位置;
对新建的excel文件进行保存,并输出保存的路径。
7.一种性能测试数据收集系统,其特征在于,包括:
获取单元,被配置为对原始的paramiko库进行重新封装,使其能获取多个待监控服务器的资源,其中,所述多个待监控服务器的资源包括:多个ubuntu系统和/或多个linux系统的地址、监控策略、用户名及密码;
分析单元,被配置为通过性能监控工具Nmon对所述待监控服务器资源进行分析,得到多个待监控服务器的原始监控文件;
解析单元,被配置为使用python解析性能监控工具Nmon客户端的Excel宏,并在预设的目标目录下自动生成监控解析文件;
数据处理单元,被配置为对存储于预设的目标目录下的监控解析文件进行归类整理及格式化处理;
输出单元,被配置为将经过归类整理及格式化处理后的数据结果输出至预设的excel文件中。
8.根据权利要求7所述的一种性能测试数据收集系统,其特征在于,重新封装后的所述paramiko库,包括:
连接模块,用于多线程批量连接服务器集群;
文件传输模块,用于传输性能监控工具Nmon至各服务器以及提取监控文件;
策略解析模块:用于根据输入的监控策略,生成相应的ubuntu命令;
命令执行模块:用于在服务器端执行ubuntu命令。
9.根据权利要求7所述的一种性能测试数据收集系统,其特征在于,所述解析单元,包括:
数据输入模块,用于提取文件路径,将文件路径下的excel文件加载至内存空间;
宏调用模块,用于调用性能监控工具Nmon客户端的Excel宏来解析内存空间内的excel文件;
数据输出模块,用于输出生成的excel文件至指定目录。
10.根据权利要求7所述的一种性能测试数据收集系统,其特征在于,所述数据处理单元,包括:
关键性能数据提取模块,用于按照预设顺序对多个监控解析文件的关键性能数据进行提取,所述关键性能数据包括IO、CPU、MEM、NETWORK;
分类整理模块,用于对提取后的关键性能数据进行归类整理及差值计算;
资源整合模块,用于对分类整理模块处理后的数据进行excel格式化,并输出文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780129.3A CN115277466B (zh) | 2022-07-04 | 2022-07-04 | 一种性能测试数据收集方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780129.3A CN115277466B (zh) | 2022-07-04 | 2022-07-04 | 一种性能测试数据收集方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277466A true CN115277466A (zh) | 2022-11-01 |
CN115277466B CN115277466B (zh) | 2024-06-14 |
Family
ID=83763882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210780129.3A Active CN115277466B (zh) | 2022-07-04 | 2022-07-04 | 一种性能测试数据收集方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277466B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929667A (zh) * | 2012-10-24 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群性能的优化方法 |
CN107645565A (zh) * | 2017-10-25 | 2018-01-30 | 网易(杭州)网络有限公司 | 服务器状态信息的处理方法、装置、系统及处理器 |
CN108011767A (zh) * | 2017-12-22 | 2018-05-08 | 中国农业银行股份有限公司 | 一种非侵入的可配置运维系统 |
CN108923997A (zh) * | 2018-05-24 | 2018-11-30 | 广东睿江云计算股份有限公司 | 一种基于python的云服务节点自动测试方法及装置 |
US20200133814A1 (en) * | 2018-10-25 | 2020-04-30 | Capital One Services, Llc | Application performance analytics platform |
CN111104310A (zh) * | 2019-11-21 | 2020-05-05 | 国网上海市电力公司 | 一种数据中心平台层配置合规性检查及日志分析的方法 |
CN112416729A (zh) * | 2020-11-24 | 2021-02-26 | 平安普惠企业管理有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-04 CN CN202210780129.3A patent/CN115277466B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929667A (zh) * | 2012-10-24 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 一种hadoop集群性能的优化方法 |
CN107645565A (zh) * | 2017-10-25 | 2018-01-30 | 网易(杭州)网络有限公司 | 服务器状态信息的处理方法、装置、系统及处理器 |
CN108011767A (zh) * | 2017-12-22 | 2018-05-08 | 中国农业银行股份有限公司 | 一种非侵入的可配置运维系统 |
CN108923997A (zh) * | 2018-05-24 | 2018-11-30 | 广东睿江云计算股份有限公司 | 一种基于python的云服务节点自动测试方法及装置 |
US20200133814A1 (en) * | 2018-10-25 | 2020-04-30 | Capital One Services, Llc | Application performance analytics platform |
CN111104310A (zh) * | 2019-11-21 | 2020-05-05 | 国网上海市电力公司 | 一种数据中心平台层配置合规性检查及日志分析的方法 |
CN112416729A (zh) * | 2020-11-24 | 2021-02-26 | 平安普惠企业管理有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115277466B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及系统 | |
CN101093462B (zh) | 数据库应用集群压力测试自动化方法 | |
US20080313149A1 (en) | Analyzing software usage with instrumentation data | |
US20110016357A1 (en) | Call-stacks representation for easier analysis of thread dump | |
WO2017074770A1 (en) | Test failure bucketing | |
CN110781231A (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
CN112148610A (zh) | 测试用例执行方法、装置、计算机设备和存储介质 | |
CN114116422A (zh) | 一种硬盘日志分析方法、硬盘日志分析装置及存储介质 | |
Bang et al. | HPC workload characterization using feature selection and clustering | |
KR101830936B1 (ko) | 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템 | |
WO2012068411A1 (en) | Method and system for testing software on programmable devices | |
CN112988503A (zh) | 分析方法、分析装置、电子装置和存储介质 | |
CN115277466B (zh) | 一种性能测试数据收集方法及系统 | |
CN110908870A (zh) | 一种大型机的资源监控方法、装置、存储介质及设备 | |
CN116594887A (zh) | 一种基于cfd软件的自动化测试方法及系统 | |
CN115757045A (zh) | 一种交易日志分析方法、系统及装置 | |
CN116244186A (zh) | 一种操作系统测试管理方法、装置与计算设备 | |
CN114168557A (zh) | 一种访问日志的处理方法、装置、计算机设备和存储介质 | |
CN113742145A (zh) | 一种测试固态硬盘性能的方法、系统、设备和存储介质 | |
US11188508B1 (en) | High-performance learning-ready platform for real-time analytics | |
CN109635033B (zh) | 一种千万级存量数据的处理、日志收集及导入数据库的方法 | |
CN113377719A (zh) | 一种系统异常关机时间获取方法及系统 | |
CN112416727A (zh) | 批处理作业的检核方法、装置、设备及介质 | |
Moreira et al. | LeanBench: comparing software stacks for batch and query processing of IoT data | |
CN111324542B (zh) | 一种Web应用回归测试用例选择系统、方法以及设备 |
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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 201109, 3rd Floor, Building 2, No. 1259 Ping'an Road, Minhang District, Shanghai Applicant after: Shanghai Xuantian Intelligent Technology Co.,Ltd. Address before: 201109 floor 2, building 4, No. 1259, Ping'an Road, Minhang District, Shanghai Applicant before: SHANGHAI NOKIDA TECHNOLOGY CO.,LTD. Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant |