python服务器稳定性,一种基于Python服务器稳定性测试的方法技术

【技术实现步骤摘要】

本专利技术涉及一种服务器稳定性测试的方法,具体地说是。

技术介绍

随着服务器行业的快速发展,越来越多的客户开始偏向于购买大批量的服务器作为自己的核心应用。所以对服务器的稳定性也提出了更高的要求,而服务器能否保持正常的运转,已经成为了客户应用能否稳定运行的前提。服务器稳定性是最重要的,如果在稳定性方面不能够保证业务运行的需要,在高的性能也是无用的。正规的服务器厂商都会对产品惊醒不同温度和湿度下的运行稳定性测试。重点要考虑的是冗余功能,如:数据冗余、网卡荣誉、电源冗余、风扇冗余等。一些测试方法主要分以下几种: 压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。系统各性能指标在这种压力下是否还在正常数值之内。系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。稳定性测试:已知系统高峰期使用人数、各事务操作频率等。设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。事务响应时间是否会出现波动或随测试时间增涨而增加。系统是否会在测试期间内发生如宕机、应用中止等异常情况。

技术实现思路

本专利技术的技术任务是针对现有技术的不足,提供。本测试方法通过测试配置的检测和压力测试,有效的对服务器稳定性进行了测试。本专利技术解决其技术问题所采用的技术方案是: ,其特征在于,本测试方法主要分为配置检测,性能测试和整理日志三部分;输入运行主程序的命令后,主程序会首先调用检测配置的模块,该模块会加载相应的检测程序和配置文件,然后进行性能测试,每一步执行产生相对应的日志。配置文件中记录了机型,b1s和bmc的FW,b1s的相关选项,内存、CPU、HDD、SSD和Raid卡的型号数量等信息。输入命令后,检测程序会先检测被测服务器的现有b1S、bmc以及硬件配置的信息,并与配置文件做对比,如果不一致,则终止测试进程,显示测试失败。如果信息一致,则继续进行性能测试。性能测试通过主程序调用性能测试模块来实现,该程序通过运行f1,Geekbench21和Stressapptest三个工具,分别对硬盘,CPU和内存进行加压测试,记录相关数据。程序中有实现设定好的硬盘、CPU、内存和SSD的相关数据的最低标准,然后把测试得到的数据与事先设定好的数据进行对比,如果能够达到设定的数据,则显示true,没有达到就显不false。整理日志部分在每一步执行完成都会产生相对应的日志,最后一步就是整理这些日志,得到我们需要的结果。本专利技术的与现有技术相比,所产生的有益效果是,事先设置好配置文件和性能数据,只要输入运行的命令,就对被测试的服务器进行检测和测试,并把得到的结果与事先设置的进行对比,满足要求的输出结果,表示通过测试,假如不满足要求,则终止测试,显示报错。【附图说明】附图1为本专利技术的文件体系结构图; 附图2为本专利技术的程序运行流程图。【具体实施方式】下面结合附图1、附图2对本专利技术的作以下详细地说明。—种基于Python服务器稳定性测试的方法,其特征在于,本测试方法主要分为配置检测,性能测试和整理日志三部分;输入运行主程序的命令后,主程序会首先调用检测配置的模块,该模块会加载相应的检测程序和配置文件,然后进行性能测试,每一步执行产生相对应的日志。主程序如下:#!/usr/bin/python” ” ” ” ” ” #导入程序运行的环境import osimport jsonimport shutiIimport optparseimport cPickle as pickle #调用 confcheck, py 程序from confcheck import ConfCheck #调用 perfcheck, py 程序from perfcheck import PerfCheck #从程序包中lib下的comm文件夹下导入需要的程序模块from lib.comm, gparas import gparasfrom lib.comm.1ogtrace import LogFilefrom lib.comm.1ogtrace import LogInfofrom lib.comm, commonapi import SafeApi #从程序包中lib文件夹下导入需要的程序模块 from lib.getmachineinfo import CardInfo from lib.getmachineinfo import HbaCard from lib.check1fw import Check1Fw class MachCheck (object): # 定义一个类函数def —init—(self, purTime, machModel,purPackage):# 对时间,机型和测试的套餐等变量进行定义1gfile = 〃./mcheck.log〃 # 定义相关的 log 文件if os.path, exists (1gfile): os.remove (1gfile) #如果系统中已经存在这个log文件,贝丨j进行删除的动作 #将配置文件中的相关信息赋予到对应变量self.purTime = purTimeself.machModel = machModelself.purPackage = purPackagelogfile = LogFile(1gfile)self, log = LogInfo(logfile)self, safeapi = SafeApi (self, log)self, safe—run = self, safeap1.safe—runself, safe—split = self, safeap1.s—splitself, std—output = {} #将以上标准信息输出self, —start—hmonitor ()def —get—tool(self):commands = 〃unzip _o -PhrmObaidu tool/tool, zip _d tool,,#对工具包进行解压 self, safe—run(commands) if os.path, exists (,,tool/common_tool〃): self.log.msg (〃zip sucess〃) else:self.log.msg(〃zip failed")#如果检测到系统中存在tool文件夹,则log中记录解压成功,反之则记录解压失败def del—tool(self):try: shutil.rmtree (,,tool/common_tool〃) shutil.rmtree(〃tool/hdoctor〃) shutil.rmtree(〃tool/hmonitor〃) shutil.rmtree (,,tool/spec_tool〃) except:self.log.msg (〃rm tool error,,) pass #递归删除指定目录以及目录里面所有的东西,如果没有出现删除错误,则pass def check—conf(self)本文档来自技高网...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值