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读写ini文件示例(python读写文件)
Mar 25 Python
python实现巡检系统(solaris)示例
Apr 02 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
Python中断多重循环的思路总结
Oct 04 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
Python经纬度坐标转换为距离及角度的实现
Nov 01 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 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
PHP转盘抽奖接口实例
2015/02/09 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
python开发简易版在线音乐播放器
2017/03/03 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
保洁主管岗位职责
2013/11/20 职场文书
党员思想汇报范文
2013/12/30 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
美丽的大脚观后感
2015/06/03 职场文书
村官2015年度工作总结
2015/10/14 职场文书