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中用Spark模块的使用教程
Apr 13 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
Python制作简单的网页爬虫
Nov 22 Python
python与C互相调用的方法详解
Jul 14 Python
Python unittest模块用法实例分析
May 25 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
pytorch自定义二值化网络层方式
Jan 07 Python
Python代码需要缩进吗
Jul 01 Python
python中@property的作用和getter setter的解释
Dec 22 Python
python实现过滤敏感词
May 08 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
使用无限生命期Session的方法
2006/10/09 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
php常用字符函数实例小结
2016/12/29 PHP
常用PHP封装分页工具类
2017/01/14 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
JS操作数据库的实例代码
2013/10/17 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
React中使用collections时key的重要性详解
2017/08/07 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python实现雨滴下落到地面效果
2018/06/21 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
Python给图像添加噪声具体操作
2019/03/03 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
weblogic面试题
2016/03/07 面试题
如何理解委托
2012/01/06 面试题
25岁生日感言
2014/01/13 职场文书
群众路线党课主持词
2014/04/01 职场文书
研发工程师岗位职责
2014/04/28 职场文书
党员个人党性分析材料
2014/12/18 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS