Python如何获取系统iops示例代码


Posted in Python onSeptember 06, 2016

iops简介

iops主要用在数据方面,这个指标是数据库性能评定的一个重要参考,iops的是每秒进行读写(I/O)操作的次数,主要看随机访问的性能,一般为了iops增高都要依靠磁盘阵列,实际线上的数据库基本都是raid10的配置,raid5在实际生产环境中如果压力上来是抗不住的,当然也要开具体业务压力情况,如果是用物理机就要看iops在实际中能跑到多少值,现在云也普遍了,如果你用的RDS云数据库,这个iops是可以根据业务情况自己选择的,基本是个参数,可以按需进行修改,当然数值越大费用越高

python获得系统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))

总结

以上就是Python获得系统iops的全部内容,希望这篇文章对大家学习和使用python能有一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
python脚本爬取字体文件的实现方法
Apr 29 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
python程序 创建多线程过程详解
Sep 23 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
python安装dlib库报错问题及解决方法
Mar 16 Python
Python基于smtplib协议实现发送邮件
Jun 03 Python
Python常用数字处理基本操作汇总
Sep 10 Python
python中的random模块和相关函数详解
Apr 22 Python
python3编码问题汇总
Sep 06 #Python
用Python实现命令行闹钟脚本实例
Sep 05 #Python
Python爬虫爬取美剧网站的实现代码
Sep 03 #Python
Python选课系统开发程序
Sep 02 #Python
简单谈谈Python中函数的可变参数
Sep 02 #Python
Python实现自动添加脚本头信息的示例代码
Sep 02 #Python
利用Python获取操作系统信息实例
Sep 02 #Python
You might like
php中截取中文字符串的代码小结
2011/07/17 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
python下载图片实现方法(超简单)
2017/07/21 Python
django解决跨域请求的问题
2018/11/11 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
如何开发安全的AJAX应用
2014/03/26 面试题
医学院毕业生自荐信
2013/11/08 职场文书
学生会部长竞聘书
2014/03/31 职场文书
安全生产计划书
2014/05/04 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
暑期社会实践证明书
2014/11/17 职场文书
小学生作文评语集锦
2014/12/25 职场文书
领导工作表现评语
2015/01/04 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang