Python如何獲取系統(tǒng)iops示例代碼
iops簡(jiǎn)介
iops主要用在數(shù)據(jù)方面,這個(gè)指標(biāo)是數(shù)據(jù)庫(kù)性能評(píng)定的一個(gè)重要參考,iops的是每秒進(jìn)行讀寫(I/O)操作的次數(shù),主要看隨機(jī)訪問的性能,一般為了iops增高都要依靠磁盤陣列,實(shí)際線上的數(shù)據(jù)庫(kù)基本都是raid10的配置,raid5在實(shí)際生產(chǎn)環(huán)境中如果壓力上來是抗不住的,當(dāng)然也要開具體業(yè)務(wù)壓力情況,如果是用物理機(jī)就要看iops在實(shí)際中能跑到多少值,現(xiàn)在云也普遍了,如果你用的RDS云數(shù)據(jù)庫(kù),這個(gè)iops是可以根據(jù)業(yè)務(wù)情況自己選擇的,基本是個(gè)參數(shù),可以按需進(jìn)行修改,當(dāng)然數(shù)值越大費(fèi)用越高
python獲得系統(tǒng)iops代碼如下:
#!/usr/bin/python
import os, time, math
run_tests = 3
devices = os.listdir('/sys/block/')
check_devices = []
reads = {}
writes = {}
for dev in devices:
if dev.startswith('md') or dev.startswith('sd') or dev.startswith('hd'):
check_devices.append(dev)
reads[dev] = []
writes[dev] = []
check_devices = sorted(check_devices)
for t in range(run_tests + 1):
for dev in check_devices:
file_data = open('/sys/block/%s/stat' % dev).readline().strip().split(' ')
clean = []
for num in file_data:
if num != '':
clean.append(int(num))
reads[dev].append(clean[0])
writes[dev].append(clean[4])
print reads[dev]
print writes[dev]
time.sleep(1)
print "Device Read Write"
print "--------------------------------------"
for dev in check_devices:
clean_reads = []
reads[dev].reverse()
for test, result in enumerate(reads[dev]):
if test > 0:
clean_reads.append(float(reads[dev][test - 1] - result))
rops = int(math.ceil(sum(clean_reads) / len(clean_reads)))
clean_writes = []
writes[dev].reverse()
for test, result in enumerate(writes[dev]):
if test > 0:
clean_writes.append(float(writes[dev][test - 1] - result))
wops = int(math.ceil(sum(clean_writes) / len(clean_writes)))
print "%s %s %s" % (dev.ljust(13), repr(rops).ljust(11), repr(wops))
總結(jié)
以上就是Python獲得系統(tǒng)iops的全部?jī)?nèi)容,希望這篇文章對(duì)大家學(xué)習(xí)和使用python能有一定的幫助,如果有疑問大家可以留言交流。
- python urllib中的編碼處理示例
- Python中解析JSON并同時(shí)進(jìn)行自定義編碼處理實(shí)例
- python3編碼問題匯總
- 用Python實(shí)現(xiàn)命令行鬧鐘腳本實(shí)例
- Python爬蟲爬取美劇網(wǎng)站的實(shí)現(xiàn)代碼
- Python選課系統(tǒng)開發(fā)程序
- 簡(jiǎn)單談?wù)凱ython中函數(shù)的可變參數(shù)
- Python實(shí)現(xiàn)自動(dòng)添加腳本頭信息的示例代碼
- 利用Python獲取操作系統(tǒng)信息實(shí)例
- 好用的Python編輯器WingIDE的使用經(jīng)驗(yàn)總結(jié)
- Linux下為不同版本python安裝第三方庫(kù)
- Python 編碼處理-str與Unicode的區(qū)別
相關(guān)文章
python使用in操作符時(shí)元組和數(shù)組的區(qū)別分析
有時(shí)候要判斷一個(gè)數(shù)是否在一個(gè)序列里面,這時(shí)就會(huì)用到in運(yùn)算符來判斷成員資格,如果條件為真時(shí),就會(huì)返回true,條件為假時(shí),返回一個(gè)flase。這樣的運(yùn)算符叫做布爾運(yùn)算符,其真值叫做布爾值。2015-05-05
正則化DropPath/drop_path用法示例(Python實(shí)現(xiàn))
DropPath 類似于Dropout,不同的是 Drop將深度學(xué)習(xí)模型中的多分支結(jié)構(gòu)隨機(jī)"失效",而Dropout是對(duì)神經(jīng)元隨機(jī)"失效"這篇文章主要給大家介紹了關(guān)于正則化DropPath/drop_path用法的相關(guān)資料,需要的朋友可以參考下2022-04-04
python 實(shí)現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler
這篇文章主要介紹了python 實(shí)現(xiàn)多進(jìn)程日志輪轉(zhuǎn)ConcurrentLogHandler,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
python中sub-pub機(jī)制實(shí)現(xiàn)Redis的訂閱與發(fā)布
本文主要介紹了python中sub-pub機(jī)制實(shí)現(xiàn)Redis的訂閱與發(fā)布,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
運(yùn)行django項(xiàng)目指定IP和端口的方法
今天小編就為大家分享一篇運(yùn)行django項(xiàng)目指定IP和端口的方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
解決Python計(jì)算矩陣乘向量,矩陣乘實(shí)數(shù)的一些小錯(cuò)誤
今天小編就為大家分享一篇解決Python計(jì)算矩陣乘向量,矩陣乘實(shí)數(shù)的一些小錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python腳本完成post接口測(cè)試的實(shí)例
今天小編就為大家分享一篇Python腳本完成post接口測(cè)試的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
pycharm遠(yuǎn)程開發(fā)項(xiàng)目的實(shí)現(xiàn)步驟
這篇文章主要介紹了pycharm遠(yuǎn)程開發(fā)項(xiàng)目的實(shí)現(xiàn)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Windows安裝Anaconda并且配置國(guó)內(nèi)鏡像的詳細(xì)教程
我們?cè)趯W(xué)習(xí) Python 的時(shí)候需要不同的 Python 版本,關(guān)系到電腦環(huán)境變量配置換來?yè)Q去很是麻煩,所以這個(gè)時(shí)候我們需要一個(gè)虛擬的 Python 環(huán)境變量,這篇文章主要介紹了Windows安裝Anaconda并且配置國(guó)內(nèi)鏡像教程,需要的朋友可以參考下2023-01-01

