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分析git log日志示例
Feb 27 Python
Python格式化压缩后的JS文件的方法
Mar 05 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
分析Python中解析构建数据知识
Jan 20 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
CentOS7安装Python3的教程详解
Apr 10 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
python基础教程之循环介绍
2014/08/29 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
基于Python的PIL库学习详解
2019/05/10 Python
python开发前景如何
2020/06/11 Python
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
护士专业推荐信
2013/11/02 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
我的1919观后感
2015/06/03 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
mysql中between的边界,范围说明
2021/06/08 MySQL
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技