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数据类型学习笔记
Jan 13 Python
python魔法方法-属性访问控制详解
Jul 25 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
Python3.5多进程原理与用法实例分析
Apr 05 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
Django 外键的使用方法详解
Jul 19 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 Python
python 读取二进制 显示图片案例
Apr 24 Python
使用Python实现音频双通道分离
Dec 25 Python
Python基础教程,Python入门教程(超详细)
Jun 24 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
Vue router安装及使用方法解析
2020/12/02 Vue.js
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
Python读写锁实现实现代码解析
2020/11/28 Python
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
英文自荐信
2013/12/19 职场文书
锦旗标语大全
2014/06/23 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
五年级小学生评语
2014/12/26 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
自主招生英文自荐信
2015/03/25 职场文书
硕士学位申请报告
2015/05/15 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS