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操作消息队列RabbitMQ的方法教程
Jul 19 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
详解python:time模块用法
Mar 25 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
如何运行带参数的python脚本
Nov 15 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
Python递归函数特点及原理解析
Mar 04 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
Flask搭建一个API服务器的步骤
May 28 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 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框架Swoole定时器Timer特性分析
2014/08/19 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
帝国cms常用标签汇总
2015/07/06 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
Jquery 绑定时间实现代码
2011/05/03 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
Python 将pdf转成图片的方法
2018/04/23 Python
python实现AES加密和解密
2019/03/27 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
python实现简单的学生管理系统
2021/02/22 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
高职教师岗位职责
2013/12/24 职场文书
小学端午节活动方案
2014/03/13 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
深入解析MySQL索引数据结构
2021/10/16 MySQL
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL