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装饰器初探(推荐)
Jul 21 Python
Python检测生僻字的实现方法
Oct 23 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
Flask中endpoint的理解(小结)
Dec 11 Python
python global和nonlocal用法解析
Feb 03 Python
Python 下载Bing壁纸的示例
Sep 29 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
python dir函数快速掌握用法技巧
Dec 09 Python
plt.figure()参数使用详解及运行演示
Jan 08 Python
Python实现简单得递归下降Parser
May 02 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
Vue3为什么这么快
2020/09/23 Javascript
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
儿科护士自我鉴定
2013/10/14 职场文书
工商管理专业应届生求职信
2013/11/04 职场文书
廉政教育心得体会
2014/01/01 职场文书
企业年会主持词
2014/03/27 职场文书
指导教师评语
2014/04/26 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
材料采购员岗位职责
2015/04/03 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS
vue递归实现树形组件
2022/07/15 Vue.js