Python实现测试磁盘性能的方法


Posted in Python onMarch 12, 2015

本文实例讲述了Python实现测试磁盘性能的方法。分享给大家供大家参考。具体如下:

该代码做了如下工作:

create 300000 files (512B to 1536B) with data from /dev/urandom
rewrite 30000 random files and change the size
read 30000 sequential files
read 30000 random files
delete all files
sync and drop cache after every step

bench.py代码如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

filecount = 300000

filesize = 1024

import random, time

from os import system

flush = "sudo su -c 'sync ; echo 3 > /proc/sys/vm/drop_caches'"

randfile = open("/dev/urandom", "r")

print "\ncreate test folder:"

starttime = time.time()

system("rm -rf test && mkdir test")

print time.time() - starttime

system(flush)

print "\ncreate files:"

starttime = time.time()

for i in xrange(filecount):

    rand = randfile.read(int(filesize * 0.5 + filesize * random.random()))

    outfile = open("test/" + unicode(i), "w")

    outfile.write(rand)

print time.time() - starttime

system(flush)

print "\nrewrite files:"

starttime = time.time()

for i in xrange(int(filecount / 10)):

    rand = randfile.read(int(filesize * 0.5 + filesize * random.random()))

    outfile = open("test/" + unicode(int(random.random() * filecount)), "w")

    outfile.write(rand)

print time.time() - starttime

system(flush)

print "\nread linear:"

starttime = time.time()

for i in xrange(int(filecount / 10)):

    infile = open("test/" + unicode(i), "r")

    outfile.write(infile.read());

print time.time() - starttime

system(flush)

print "\nread random:"

starttime = time.time()

outfile = open("/dev/null", "w")

for i in xrange(int(filecount / 10)):

    infile = open("test/" + unicode(int(random.random() * filecount)), "r")

    outfile.write(infile.read());

print time.time() - starttime

system(flush)

print "\ndelete all files:"

starttime = time.time()

system("rm -rf test")

print time.time() - starttime

system(flush)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python实现哈希表
Feb 07 Python
Python中read()、readline()和readlines()三者间的区别和用法
Jul 30 Python
Python机器学习之决策树算法实例详解
Dec 06 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
python中字典增加和删除使用方法
Sep 30 Python
Python解析xml中dom元素的方法
Mar 12 #Python
Python实现Tab自动补全和历史命令管理的方法
Mar 12 #Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 #Python
Python求解平方根的方法
Mar 11 #Python
python自动格式化json文件的方法
Mar 11 #Python
python处理csv数据的方法
Mar 11 #Python
python模拟鼠标拖动操作的方法
Mar 11 #Python
You might like
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
JSON相关知识汇总
2015/07/03 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python变量作用范围实例分析
2015/07/07 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Python异常处理机制结构实例解析
2020/07/23 Python
python xlsxwriter模块的使用
2020/12/24 Python
css3的transition属性详解
2014/12/15 HTML / CSS
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
修理厂厂长岗位职责
2014/01/30 职场文书
文明工地标语
2014/06/16 职场文书
高二英语教学反思
2016/03/03 职场文书