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实现保存网页到本地示例
Mar 16 Python
理解Python中函数的参数
Apr 27 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
python之语音识别speech模块
Sep 09 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
Nov 24 Python
Python项目打包成二进制的方法
Dec 30 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
Chrome Web App开发小结
2014/09/04 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
vue mounted组件的使用
2018/06/18 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
Python模块文件结构代码详解
2018/02/03 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
JAVA程序员面试题
2012/10/03 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
师德演讲稿范文
2014/05/06 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2015年妇女工作总结
2015/05/14 职场文书
旅行社计调工作总结
2015/08/12 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
Pygame如何使用精灵和碰撞检测
2021/11/17 Python