python服务器稳定性,一种基于Python服务器稳定性测试的方法技术
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及一種服務(wù)器穩(wěn)定性測(cè)試的方法,具體地說是。
技術(shù)介紹
隨著服務(wù)器行業(yè)的快速發(fā)展,越來越多的客戶開始偏向于購買大批量的服務(wù)器作為自己的核心應(yīng)用。所以對(duì)服務(wù)器的穩(wěn)定性也提出了更高的要求,而服務(wù)器能否保持正常的運(yùn)轉(zhuǎn),已經(jīng)成為了客戶應(yīng)用能否穩(wěn)定運(yùn)行的前提。服務(wù)器穩(wěn)定性是最重要的,如果在穩(wěn)定性方面不能夠保證業(yè)務(wù)運(yùn)行的需要,在高的性能也是無用的。正規(guī)的服務(wù)器廠商都會(huì)對(duì)產(chǎn)品驚醒不同溫度和濕度下的運(yùn)行穩(wěn)定性測(cè)試。重點(diǎn)要考慮的是冗余功能,如:數(shù)據(jù)冗余、網(wǎng)卡榮譽(yù)、電源冗余、風(fēng)扇冗余等。一些測(cè)試方法主要分以下幾種: 壓力測(cè)試:已知系統(tǒng)高峰期使用人數(shù),驗(yàn)證各事務(wù)在最大并發(fā)數(shù)(通過高峰期人數(shù)換算)下事務(wù)響應(yīng)時(shí)間能夠達(dá)到客戶要求。系統(tǒng)各性能指標(biāo)在這種壓力下是否還在正常數(shù)值之內(nèi)。系統(tǒng)是否會(huì)因這樣的壓力導(dǎo)致不良反應(yīng)(如:宕機(jī)、應(yīng)用異常中止等)。穩(wěn)定性測(cè)試:已知系統(tǒng)高峰期使用人數(shù)、各事務(wù)操作頻率等。設(shè)計(jì)綜合測(cè)試場(chǎng)景,測(cè)試時(shí)將每個(gè)場(chǎng)景按照一定人數(shù)比率一起運(yùn)行,模擬用戶使用數(shù)年的情況。并監(jiān)控在測(cè)試中,系統(tǒng)各性能指標(biāo)在這種壓力下是否能保持正常數(shù)值。事務(wù)響應(yīng)時(shí)間是否會(huì)出現(xiàn)波動(dòng)或隨測(cè)試時(shí)間增漲而增加。系統(tǒng)是否會(huì)在測(cè)試期間內(nèi)發(fā)生如宕機(jī)、應(yīng)用中止等異常情況。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)的技術(shù)任務(wù)是針對(duì)現(xiàn)有技術(shù)的不足,提供。本測(cè)試方法通過測(cè)試配置的檢測(cè)和壓力測(cè)試,有效的對(duì)服務(wù)器穩(wěn)定性進(jìn)行了測(cè)試。本專利技術(shù)解決其技術(shù)問題所采用的技術(shù)方案是: ,其特征在于,本測(cè)試方法主要分為配置檢測(cè),性能測(cè)試和整理日志三部分;輸入運(yùn)行主程序的命令后,主程序會(huì)首先調(diào)用檢測(cè)配置的模塊,該模塊會(huì)加載相應(yīng)的檢測(cè)程序和配置文件,然后進(jìn)行性能測(cè)試,每一步執(zhí)行產(chǎn)生相對(duì)應(yīng)的日志。配置文件中記錄了機(jī)型,b1s和bmc的FW,b1s的相關(guān)選項(xiàng),內(nèi)存、CPU、HDD、SSD和Raid卡的型號(hào)數(shù)量等信息。輸入命令后,檢測(cè)程序會(huì)先檢測(cè)被測(cè)服務(wù)器的現(xiàn)有b1S、bmc以及硬件配置的信息,并與配置文件做對(duì)比,如果不一致,則終止測(cè)試進(jìn)程,顯示測(cè)試失敗。如果信息一致,則繼續(xù)進(jìn)行性能測(cè)試。性能測(cè)試通過主程序調(diào)用性能測(cè)試模塊來實(shí)現(xiàn),該程序通過運(yùn)行f1,Geekbench21和Stressapptest三個(gè)工具,分別對(duì)硬盤,CPU和內(nèi)存進(jìn)行加壓測(cè)試,記錄相關(guān)數(shù)據(jù)。程序中有實(shí)現(xiàn)設(shè)定好的硬盤、CPU、內(nèi)存和SSD的相關(guān)數(shù)據(jù)的最低標(biāo)準(zhǔn),然后把測(cè)試得到的數(shù)據(jù)與事先設(shè)定好的數(shù)據(jù)進(jìn)行對(duì)比,如果能夠達(dá)到設(shè)定的數(shù)據(jù),則顯示true,沒有達(dá)到就顯不false。整理日志部分在每一步執(zhí)行完成都會(huì)產(chǎn)生相對(duì)應(yīng)的日志,最后一步就是整理這些日志,得到我們需要的結(jié)果。本專利技術(shù)的與現(xiàn)有技術(shù)相比,所產(chǎn)生的有益效果是,事先設(shè)置好配置文件和性能數(shù)據(jù),只要輸入運(yùn)行的命令,就對(duì)被測(cè)試的服務(wù)器進(jìn)行檢測(cè)和測(cè)試,并把得到的結(jié)果與事先設(shè)置的進(jìn)行對(duì)比,滿足要求的輸出結(jié)果,表示通過測(cè)試,假如不滿足要求,則終止測(cè)試,顯示報(bào)錯(cuò)。【附圖說明】附圖1為本專利技術(shù)的文件體系結(jié)構(gòu)圖; 附圖2為本專利技術(shù)的程序運(yùn)行流程圖。【具體實(shí)施方式】下面結(jié)合附圖1、附圖2對(duì)本專利技術(shù)的作以下詳細(xì)地說明。—種基于Python服務(wù)器穩(wěn)定性測(cè)試的方法,其特征在于,本測(cè)試方法主要分為配置檢測(cè),性能測(cè)試和整理日志三部分;輸入運(yùn)行主程序的命令后,主程序會(huì)首先調(diào)用檢測(cè)配置的模塊,該模塊會(huì)加載相應(yīng)的檢測(cè)程序和配置文件,然后進(jìn)行性能測(cè)試,每一步執(zhí)行產(chǎn)生相對(duì)應(yīng)的日志。主程序如下:#!/usr/bin/python” ” ” ” ” ” #導(dǎo)入程序運(yùn)行的環(huán)境import osimport jsonimport shutiIimport optparseimport cPickle as pickle #調(diào)用 confcheck, py 程序from confcheck import ConfCheck #調(diào)用 perfcheck, py 程序from perfcheck import PerfCheck #從程序包中l(wèi)ib下的comm文件夾下導(dǎo)入需要的程序模塊from lib.comm, gparas import gparasfrom lib.comm.1ogtrace import LogFilefrom lib.comm.1ogtrace import LogInfofrom lib.comm, commonapi import SafeApi #從程序包中l(wèi)ib文件夾下導(dǎo)入需要的程序模塊 from lib.getmachineinfo import CardInfo from lib.getmachineinfo import HbaCard from lib.check1fw import Check1Fw class MachCheck (object): # 定義一個(gè)類函數(shù)def —init—(self, purTime, machModel,purPackage):# 對(duì)時(shí)間,機(jī)型和測(cè)試的套餐等變量進(jìn)行定義1gfile = 〃./mcheck.log〃 # 定義相關(guān)的 log 文件if os.path, exists (1gfile): os.remove (1gfile) #如果系統(tǒng)中已經(jīng)存在這個(gè)log文件,貝丨j進(jìn)行刪除的動(dòng)作 #將配置文件中的相關(guān)信息賦予到對(duì)應(yīng)變量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 = {} #將以上標(biāo)準(zhǔn)信息輸出self, —start—hmonitor ()def —get—tool(self):commands = 〃unzip _o -PhrmObaidu tool/tool, zip _d tool,,#對(duì)工具包進(jìn)行解壓 self, safe—run(commands) if os.path, exists (,,tool/common_tool〃): self.log.msg (〃zip sucess〃) else:self.log.msg(〃zip failed")#如果檢測(cè)到系統(tǒng)中存在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 #遞歸刪除指定目錄以及目錄里面所有的東西,如果沒有出現(xiàn)刪除錯(cuò)誤,則pass def check—conf(self)本文檔來自技高網(wǎng)...
總結(jié)
以上是生活随笔為你收集整理的python服务器稳定性,一种基于Python服务器稳定性测试的方法技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js ajax 浏览器兼容,JS跨浏览器
- 下一篇: matlab制作以太网数据接收上位机_P