CN108763042A - 一种基于python的云服务器性能数据采集方法及装置 - Google Patents

一种基于python的云服务器性能数据采集方法及装置 Download PDF

Info

Publication number
CN108763042A
CN108763042A CN201810510306.XA CN201810510306A CN108763042A CN 108763042 A CN108763042 A CN 108763042A CN 201810510306 A CN201810510306 A CN 201810510306A CN 108763042 A CN108763042 A CN 108763042A
Authority
CN
China
Prior art keywords
cloud server
performance data
test
host computer
python
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
Application number
CN201810510306.XA
Other languages
English (en)
Inventor
秦国森
杨燕清
梁徽
郭俊杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Ruijiang Cloud Computing Co Ltd
Guangdong Eflycloud Computing Co Ltd
Original Assignee
Guangdong Ruijiang Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Ruijiang Cloud Computing Co Ltd filed Critical Guangdong Ruijiang Cloud Computing Co Ltd
Priority to CN201810510306.XA priority Critical patent/CN108763042A/zh
Publication of CN108763042A publication Critical patent/CN108763042A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于python的云服务器性能数据采集方法及装置,根据云商的各节点的云服务器可持续集成的全自动化性能数据收集,提高对云服务的性能稳定性进行测试,自动获取并生成某时间的性能数据;直观的表现测试结果提升可读性,提高日后测试数据的执行迭代效率;本发明在节点测试的时候实施全自动形式及可持续集成,无需人工直接干预,数据收集之后发送给指定的人员及保存本地使其作为下一次数据收集的迭代。减少了云服务的性能数据收集时间。提高日后测试数据的执行迭代效率;无需人工干扰在特殊时间段,例如夜晚、周六日等时间段获取服务器的性能指标。

Description

一种基于python的云服务器性能数据采集方法及装置
技术领域
本公开涉及数据采集领域,具体涉及一种基于python的云服务器性能数据采集方法及装置。
背景技术
当前云服务市场是互联网领域中占据着重要的地位,其主机的部署遍布多个地区,且现在的趋势还在不断的扩张。期间一个新的节点上线我们就需要对其进行节点的测试,检查该节点的性能指标,云主机的运行稳定情况的性能数据收集,以及日后的节点维护及功能增加对主机性能的影响情况而做的性能指标数据收集,这些测试无疑是枯燥的。
目前云服务节点测试一般为两种,第一种,手工测试重复性工作,输入测试主机cpu、内存、磁盘I/O、带宽等,命令执行并查看其结果,将其结果一个一个汇总起来进一步分析。第二种,使用shell自动化运行脚本,前期执行无需手动操作,后期需要人工查看并进行干预性操作,其结果需要手动收集录入excel中进一步分析。第一种方案存在的问题有手工测试重复性工作枯燥,浪费不必要的时间,且测试项数量过多,需要测试的时间则需要更长,特殊时间点的测试难以满足要求,例如夜间凌晨、周末休息期间;第二种方案存在的问题有shell自动化跑脚本,自动获取其结果数据,只能人工去看每一步操作,虽然解放双手,但是不能实现数据的可视化和全自动化。
发明内容
本公开提供一种基于python的云服务器性能数据采集方法及装置,根据云商的各节点的云服务器可持续集成的全自动化性能数据收集,提高对云服务的性能稳定性进行测试;持续集成自定义执行的周期,自动获取并生成某时间的性能数据;直观的表现测试结果提升可读性,提高日后测试数据的执行迭代效率;无需人工干扰在特殊时间段例如夜晚、周六日等时间段获取服务器的性能指标。
为了实现上述目的,根据本公开的一方面,提供一种基于python的云服务器性能数据采集方法,所述方法包括以下步骤:
步骤1,运行web自动化脚本;
步骤2,使用paramiko模块以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
步骤3,上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
步骤4,依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
步骤5,xlwt模块将虚拟主机的各项性能数据写入到excel表文件;
步骤6,把excel表文件下载回到本地的主机;
步骤7,通过jenkins模块在自定义时间段执行web自动化脚本。
进一步地,在步骤1中,所述web自动化脚本包括paramiko模块、xlwt模块、jenkins模块,采用python语言编写。
进一步地,在步骤2中,所述公网IP及登陆密码信息封装于web自动化脚本中,所述云服务器至少包括一个服务器节点,每个服务器节点至少包括一台虚拟机。
进一步地,在步骤3中,所述cpu测试脚本、内存测试脚本、磁盘I/O测试脚本和带宽测试脚本存储于本地主机中,分别用于测试cpu主频、内存的容量、磁盘I/O率和网络带宽。
进一步地,在步骤4中,所述虚拟主机的各项性能数据包括cpu主频、内存的容量、磁盘I/O率和网络带宽。
进一步地,在步骤5中,所述xlwt模块将虚拟主机的各项性能数据写入到excel表文件的方法为:如果虚拟主机中没有excel表文件则创建excel表文件并判断虚拟主机性能数据的行数并写入excel表文件的最后一行保存;如果虚拟主机中有excel表文件则判断虚拟主机性能数据的行数并将收集到的数据写入excel表文件的最后一行保存。
进一步地,在步骤6中,把excel表文件下载回到本地的主机的方法为,web自动化脚本判断有无excel表文件,如果存在excel表文件则将虚拟主机的excel表文件下载到本地主机。
进一步地,在步骤7中,所述自定义时间段为当前时间、未来的某一个时间段、未来的多个时间段的任意一种情况。
其中,所述xlwt模块用于在python中操作创建、写入Excel格式文件;
其中,所述Jenkins模块用于持续集成,监控持续重复的工作,监控一些定时执行的任务,可用于自动化各种任务,如构建,测试和部署软件,把软件开发过程形成工作流,允许持续、自动地构建/测试软件项目,持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库,这个概念是为了消除发现的问题,后来出现在构建生命周期的问题,持续集成要求开发人员有频繁的构建。
其中,paramiko模块是python的一个用于远程控制的模块,使用该模块基于SSH2协议,可以对远程服务器执行基本命令或上传下载文件的功能操作,支持以加密和认证的方式。paramiko支持Linux,Solaris,BSD,MacOS X,Windows等平台通过SSH从一个平台连接到另外一个平台,利用paramiko模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。
本发明还提供了一种基于python的云服务器性能数据采集装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
自动登录单元,用于以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
脚本上传单元,用于上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
性能数据采集单元,用于依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
数据文件创建单元,用于将虚拟主机的各项性能数据写入到excel表文件;
数据文件下载单元,用于把excel表文件下载回到本地的主机;
定时采集单元,用于在自定义时间段执行web自动化脚本。
本公开的有益效果为:本发明提供一种基于python的云服务器性能数据采集方法及装置,本发明在节点测试的时候实施全自动形式及可持续集成,无需人工直接干预,数据收集之后发送给指定的人员及保存本地使其作为下一次数据收集的迭代。对各节点的云服务器性能数据收集,大大减少了浪费在数据收集的时间上,减少了云服务的性能数据收集时间。提高日后测试数据的执行迭代效率;无需人工干扰在特殊时间段,例如夜晚、周六日等时间段获取服务器的性能指标。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种基于python的云服务器性能数据采集方法的流程图;
图2所示为一种基于python的云服务器性能数据采集装置图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种基于python的云服务器性能数据采集方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种基于python的云服务器性能数据采集方法。
本公开提出一种基于python的云服务器性能数据采集方法,具体包括以下步骤:
步骤1,运行web自动化脚本;
步骤2,使用paramiko模块以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
步骤3,上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
步骤4,依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
步骤5,xlwt模块将虚拟主机的各项性能数据写入到excel表文件;
步骤6,把excel表文件下载回到本地的主机;
步骤7,通过jenkins模块在自定义时间段执行web自动化脚本。
进一步地,在步骤1中,所述web自动化脚本包括paramiko模块、xlwt模块、jenkins模块,采用python语言编写。
进一步地,在步骤2中,所述公网IP及登陆密码信息封装于web自动化脚本中,所述云服务器至少包括一个服务器节点,每个服务器节点至少包括一台虚拟机。
进一步地,在步骤3中,所述cpu测试脚本、内存测试脚本、磁盘I/O测试脚本和带宽测试脚本存储于本地主机中,分别用于测试cpu主频、内存的容量、磁盘I/O率和网络带宽。
cpu测试脚本为:
#!/bin/bash
#filename get_cpu_info.sh
#edit by www.jquerycn.cn
cpu_p=`cat/proc/cpuinfo|grep"physical id"|sort|uniq|wc-l`
cpu_c=`cat/proc/cpuinfo|grep"core id"|uniq|wc-l`
cpu_l=`cat/proc/cpuinfo|grep"processor"|wc-l`
c_p=`expr$cpu_c/$cpu_p`
l_p=`expr$cpu_l/$cpu_p`
t_c=`expr$cpu_l/$cpu_c`
echo"Physical CPU Count:$cpu_p"
echo"CPU Core Count:$cpu_c"
echo"Logical CPU Count:$cpu_l"
echo"$c_p cores per physical CPU"
echo"$l_p logical CPUs per physical CPU"
echo"$t_c threads per core"
if[$c_p-eq 1];then
echo"Your CPU is unicore"
else echo"Your CPU is multicore"
fi if[$t_c-eq 1];then
echo"Your CPU isn\'t of HT"
else echo"Your CPU is of HT"
fi echo"You have$cpu_p CPUs,each CPU has$c_p cores,each core has$t_cthreads.In summary$cpu_c cores,$cpu_l threads."
内存测试脚本为:
磁盘I/O测试脚本为:
top:命令本身会刷新,如果不加-n会阻塞,-n为打印几次,-d是时间间隔。
iostat:-m指定单位为MB/s
补充:
iostat -d -k -t 2每个两秒会数据I/O信息,单位KB/s。
也可把for语句换成while语句。
执行脚本时,用screen命令,可以多视窗进行,不必担心关掉窗口就会停止运行。
带宽测试脚本为:
进一步地,在步骤4中,所述虚拟主机的各项性能数据包括cpu主频、内存的容量、磁盘I/O率和网络带宽。
进一步地,在步骤5中,所述xlwt模块将虚拟主机的各项性能数据写入到excel表文件的方法为:如果虚拟主机中没有excel表文件则创建excel表文件并判断虚拟主机性能数据的行数并写入excel表文件的最后一行保存;如果虚拟主机中有excel表文件则判断虚拟主机性能数据的行数并将收集到的数据写入excel表文件的最后一行保存。
进一步地,在步骤6中,把excel表文件下载回到本地的主机的方法为,web自动化脚本判断有无excel表文件,如果存在excel表文件则将虚拟主机的excel表文件下载到本地主机。
进一步地,在步骤7中,所述自定义时间段为当前时间、未来的某一个时间段、未来的多个时间段的任意一种情况。
其中,所述xlwt模块用于在python中操作创建、写入Excel格式文件;
其中,所述Jenkins模块用于持续集成,监控持续重复的工作,监控一些定时执行的任务,可用于自动化各种任务,如构建,测试和部署软件,把软件开发过程形成工作流,允许持续、自动地构建/测试软件项目,持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库,这个概念是为了消除发现的问题,后来出现在构建生命周期的问题,持续集成要求开发人员有频繁的构建。
其中,paramiko模块是python的一个用于远程控制的模块,使用该模块基于SSH2协议,可以对远程服务器执行基本命令或上传下载文件的功能操作,支持以加密和认证的方式。paramiko支持Linux,Solaris,BSD,MacOS X,Windows等平台通过SSH从一个平台连接到另外一个平台,利用paramiko模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。
程序工作流程如下:
(一)前期准备:
编写自动化创建主机脚本:
按顺序一步一步获取操作自动化创建主机的步骤元素,
如:点击创建主机的实例driver.find_element_by_id("buy").click。
使用python的unittest进行单元测试用来执行自动化创建主机的过程中判断主机创建成功与否。
在excel文件设置创建主机的要素,
例如(服务器节点、系统、系统版本号、CPU核数、内存空间),python对此文件进行遍历使用数据驱动来操作所设置自动化创建的主机。
服务器节点 系统 系统版本号 CPU核数(个) 内存空间(G)
广东A Fedora 6.5_32 1 1
香港E Debian 6.5_64 1 1
香港E Debian 7.0_64 1 1
python操作服务器上传下载执行脚本的自动化方法:
步骤1:发送查询账号下云服务管理的主机数及对应的主机编号。
如:res=requests.post(url,data).json
在返回的json中循环获取的长度,对列表主机逐一进行相应数据的放回(如:获取公网IP字段、登录密码……)。
步骤2:使用paramiko模块:
//登录ip为获取到的公务IP、passwd为获取的终端密码,用户名默认root,也可以在页面中获取并赋值
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22,'root',passwd)
步骤4:上传脚本等文件:
sftp=paramiko.SFTPClient.from_transport(ssh)
remotepath=’/var/log/test.sh’
localpath=’/tmp/test.sh’
sftp.get(remotepath,localpath)
t.close()
步骤5:使用exec_command执行命令操作,实例:
给予shell权限
stdin,stdout,stderr=conn.exec_command(chmod 777/root/test.sh)
results=str(stdout.read())
步骤6:使用exec_command执行命令操作,实例:
运行shell脚本
stdin,stdout,stderr=conn.exec_command(/root/test.sh)
results=str(stdout.read())
步骤7:下载传脚本等文件:
sftp=paramiko.SFTPClient.from_transport(ssh)
remotepath=’/var/log/test.sh’
localpath=’/tmp/test.sh’
sftp.put(localpath,remotepath)
t.close()
步骤8:
执行python脚本读取每个指标项的数据,获取相应的数据。python操作上传的excel表,判断excel的数据的行数,将新收集的数据写入最后一行并保存。
步骤9:
使用python脚本把收集好数据的excel发送到指定邮箱及传会本地。
(二)jenkins定期执行测试脚本,获取不同时间的云服务性能测试数据。
本公开的实施例提供的一种基于python的云服务器性能数据采集装置,如图2所示为本公开的一种基于python的云服务器性能数据采集装置图,该实施例的一种基于python的云服务器性能数据采集装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于python的云服务器性能数据采集装置实施例中的步骤。
所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
自动登录单元,用于以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
脚本上传单元,用于上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
性能数据采集单元,用于依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
数据文件创建单元,用于将虚拟主机的各项性能数据写入到excel表文件;
数据文件下载单元,用于把excel表文件下载回到本地的主机;
定时采集单元,用于在自定义时间段执行web自动化脚本。
所述一种基于python的云服务器性能数据采集装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种基于python的云服务器性能数据采集装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于python的云服务器性能数据采集装置的示例,并不构成对一种基于python的云服务器性能数据采集装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于python的云服务器性能数据采集装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于python的云服务器性能数据采集装置运行装置的控制中心,利用各种接口和线路连接整个一种基于python的云服务器性能数据采集装置可运行装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于python的云服务器性能数据采集装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

Claims (9)

1.一种基于python的云服务器性能数据采集方法,其特征在于,所述方法包括以下步骤:
步骤1,运行web自动化脚本;
步骤2,使用paramiko模块以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
步骤3,上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
步骤4,依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
步骤5,xlwt模块将虚拟主机的各项性能数据写入到excel表文件;
步骤6,把excel表文件下载回到本地的主机;
步骤7,通过jenkins模块在自定义时间段执行web自动化脚本。
2.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤1中,所述web自动化脚本包括paramiko模块、xlwt模块、jenkins模块,采用python语言编写。
3.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤2中,所述公网IP及登陆密码信息封装于web自动化脚本中,所述云服务器至少包括一个服务器节点,每个服务器节点至少包括一台虚拟机。
4.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤3中,所述cpu测试脚本、内存测试脚本、磁盘I/O测试脚本和带宽测试脚本存储于本地主机中,分别用于测试cpu主频、内存的容量、磁盘I/O率和网络带宽。
5.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤4中,所述虚拟主机的各项性能数据包括cpu主频、内存的容量、磁盘I/O率和网络带宽。
6.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤5中,所述xlwt模块将虚拟主机的各项性能数据写入到excel表文件的方法为:如果虚拟主机中没有excel表文件则创建excel表文件并判断虚拟主机性能数据的行数并写入excel表文件的最后一行保存;如果虚拟主机中有excel表文件则判断虚拟主机性能数据的行数并将收集到的数据写入excel表文件的最后一行保存。
7.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤6中,把excel表文件下载回到本地的主机的方法为,web自动化脚本判断有无excel表文件,如果存在excel表文件则将虚拟主机的excel表文件下载到本地主机。
8.根据权利要求1所述的一种基于python的云服务器性能数据采集方法,其特征在于,在步骤7中,所述自定义时间段为当前时间、未来的某一个时间段、未来的多个时间段的任意一种情况。
9.一种基于python的云服务器性能数据采集装置,其特征在于,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
自动登录单元,用于以公网IP及登陆密码信息依次通过云服务器中的各服务器节点的进行虚拟主机的登陆操作;
脚本上传单元,用于上传cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本到虚拟主机;
性能数据采集单元,用于依次执行cpu测试脚本、内存测试脚本、磁盘I/O测试脚本、带宽测试脚本采集虚拟主机的各项性能数据;
数据文件创建单元,用于将虚拟主机的各项性能数据写入到excel表文件;
数据文件下载单元,用于把excel表文件下载回到本地的主机;
定时采集单元,用于在自定义时间段执行web自动化脚本。
CN201810510306.XA 2018-05-24 2018-05-24 一种基于python的云服务器性能数据采集方法及装置 Pending CN108763042A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810510306.XA CN108763042A (zh) 2018-05-24 2018-05-24 一种基于python的云服务器性能数据采集方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810510306.XA CN108763042A (zh) 2018-05-24 2018-05-24 一种基于python的云服务器性能数据采集方法及装置

Publications (1)

Publication Number Publication Date
CN108763042A true CN108763042A (zh) 2018-11-06

Family

ID=64005786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810510306.XA Pending CN108763042A (zh) 2018-05-24 2018-05-24 一种基于python的云服务器性能数据采集方法及装置

Country Status (1)

Country Link
CN (1) CN108763042A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416324A (zh) * 2020-11-24 2021-02-26 歌尔光学科技有限公司 基于python语言的脚本功能实现方法、终端设备及存储介质
CN112559090A (zh) * 2020-12-07 2021-03-26 中国科学院深圳先进技术研究院 一种应用程序运行时性能事件的收集方法及相关装置
CN112667487A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种Linux下使用Python脚本执行FIO性能测试的方法及装置
KR102282499B1 (ko) * 2020-05-12 2021-07-28 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
CN113238853A (zh) * 2021-06-15 2021-08-10 上海交通大学 基于函数中间表达的无服务器计算调度系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN103678124A (zh) * 2013-12-03 2014-03-26 浙江宇视科技有限公司 基于持续集成环境的视频监控平台自动测试方法及装置
CN104333488A (zh) * 2014-11-04 2015-02-04 哈尔滨工业大学 云服务平台性能测试方法
CN104461856A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 基于云计算平台的性能测试方法、装置及系统
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的系统及方法
CN106445761A (zh) * 2016-11-09 2017-02-22 上海斐讯数据通信技术有限公司 基于ssh协议定时记录cpu和内存的测试方法及系统
CN107168877A (zh) * 2017-05-19 2017-09-15 郑州云海信息技术有限公司 一种基于Python对服务器进行远程测试的方法
CN107302475A (zh) * 2017-07-06 2017-10-27 郑州云海信息技术有限公司 一种面向分布式存储集群的测试方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN104461856A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 基于云计算平台的性能测试方法、装置及系统
CN103678124A (zh) * 2013-12-03 2014-03-26 浙江宇视科技有限公司 基于持续集成环境的视频监控平台自动测试方法及装置
CN104333488A (zh) * 2014-11-04 2015-02-04 哈尔滨工业大学 云服务平台性能测试方法
CN106095408A (zh) * 2016-05-31 2016-11-09 浙江网新恒天软件有限公司 一种数据监控和代码自动生成与部署的系统及方法
CN106445761A (zh) * 2016-11-09 2017-02-22 上海斐讯数据通信技术有限公司 基于ssh协议定时记录cpu和内存的测试方法及系统
CN107168877A (zh) * 2017-05-19 2017-09-15 郑州云海信息技术有限公司 一种基于Python对服务器进行远程测试的方法
CN107302475A (zh) * 2017-07-06 2017-10-27 郑州云海信息技术有限公司 一种面向分布式存储集群的测试方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱东杰等: "《软件测试与质量保证》", 30 June 2017 *
陈衍鹏: "基于Linux操作系统的批量管理工具", 《微型电脑应用》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102282499B1 (ko) * 2020-05-12 2021-07-28 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
KR20210138520A (ko) * 2020-05-12 2021-11-19 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
KR102359792B1 (ko) 2020-05-12 2022-02-09 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
US11442846B2 (en) 2020-05-12 2022-09-13 Coupang Corp. Systems and methods for test deployment of computational code on virtual servers
CN112416324A (zh) * 2020-11-24 2021-02-26 歌尔光学科技有限公司 基于python语言的脚本功能实现方法、终端设备及存储介质
CN112416324B (zh) * 2020-11-24 2024-02-09 歌尔科技有限公司 基于python语言的脚本功能实现方法、终端设备及存储介质
CN112559090A (zh) * 2020-12-07 2021-03-26 中国科学院深圳先进技术研究院 一种应用程序运行时性能事件的收集方法及相关装置
CN112559090B (zh) * 2020-12-07 2024-04-19 中国科学院深圳先进技术研究院 一种应用程序运行时性能事件的收集方法及相关装置
CN112667487A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种Linux下使用Python脚本执行FIO性能测试的方法及装置
CN113238853A (zh) * 2021-06-15 2021-08-10 上海交通大学 基于函数中间表达的无服务器计算调度系统及方法
CN113238853B (zh) * 2021-06-15 2021-11-12 上海交通大学 基于函数中间表达的无服务器计算调度系统及方法

Similar Documents

Publication Publication Date Title
CN108763042A (zh) 一种基于python的云服务器性能数据采集方法及装置
CN111625452B (zh) 流量回放方法和系统
CN107506300B (zh) 一种用户界面测试方法、装置、服务器和存储介质
US9419899B2 (en) Automated service interface optimization
CN107957940B (zh) 一种测试日志处理方法、系统及终端
US11240290B2 (en) Application download method and apparatus, application sending method and apparatus, and system
US20190034464A1 (en) Methods and systems that collect data from computing facilities and export a specified portion of the collected data for remote processing and analysis
CN104899016A (zh) 调用堆栈关系获取方法及装置
CN108923997A (zh) 一种基于python的云服务节点自动测试方法及装置
CN107368420A (zh) Api测试方法、装置及电子设备
CN109032573A (zh) 一种硬件编程系统和方法
CN111274512A (zh) 一种页面加载方法、装置及介质
CN109189388A (zh) 页面配置方法、服务器及计算机可读介质
US10560524B2 (en) System and method providing local development of executable content pages normally run on a server within a user session
CN115757014A (zh) 一种功耗测试方法及装置
CN115268964A (zh) 一种数据回注方法、系统、电子设备及可读存储介质
CN111459506B (zh) 深度学习平台集群的部署方法、装置、介质及电子设备
Chowhan Hands-on Serverless Computing: Build, Run and Orchestrate Serverless Applications Using AWS Lambda, Microsoft Azure Functions, and Google Cloud Functions
CN114466387B (zh) 基站的配置文件的更新方法、装置、存储介质和电子装置
CN110046317A (zh) Ios应用的页面信息记录方法、终端及存储介质
Estrada Apache Kafka 1.0 Cookbook: Over 100 practical recipes on using distributed enterprise messaging to handle real-time data
Thakurratan Google Cloud Platform Administration: Design highly available, scalable, and secure cloud solutions on GCP
CN111062681B (zh) 选课巡检方法、装置、服务器及存储介质
CN113220592A (zh) 自动化测试资源的处理方法、装置、服务器及存储介质
CN112817953A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181106