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编写web API的教程
Apr 30 Python
python实现简单socket通信的方法
Apr 19 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python requests模块cookie实例解析
Apr 14 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 Python
Python max函数中key的用法及原理解析
Jun 26 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 ci框架验证码实例分析
2013/06/26 PHP
php定界符
2014/06/19 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
node.js实现端口转发
2016/04/14 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
python基于twisted框架编写简单聊天室
2018/01/02 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
python连接mongodb密码认证实例
2018/10/16 Python
Python 面试中 8 个必考问题
2018/11/16 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
项目经理聘任书
2014/03/29 职场文书
银行求职信怎么写
2014/05/26 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
复兴之路展览观后感
2015/06/02 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
python实现自动化群控的步骤
2021/04/11 Python
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记
Go语言安装并操作redis的go-redis库
2022/04/14 Golang
Go gorilla/sessions库安装使用
2022/08/14 Golang