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命令行参数解析模块getopt使用实例
Apr 13 Python
详解Django框架中的视图级缓存
Jul 23 Python
python从入门到精通(DAY 2)
Dec 20 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
详解python配置虚拟环境
Apr 08 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
在Python中os.fork()产生子进程的例子
Aug 08 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
python实现学生成绩测评系统
Jun 22 Python
Python爬虫回测股票的实例讲解
Jan 22 Python
Pytorch中Softmax和LogSoftmax的使用详解
Jun 05 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
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
Javascript中神奇的this
2016/01/20 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
PHP webshell检查工具 python实现代码
2009/09/15 Python
Python随机生成彩票号码的方法
2015/03/05 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
python操作mysql代码总结
2018/06/01 Python
Python同步遍历多个列表的示例
2019/02/19 Python
树莓派升级python的具体步骤
2020/07/05 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
毕业生个人投资创业计划书
2014/01/04 职场文书
活动宣传策划方案
2014/05/23 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
最美乡村教师观后感
2015/06/11 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python