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 中文字符串的处理实现代码
Oct 25 Python
布同自制Python函数帮助查询小工具
Mar 13 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
python第三方库学习笔记
Feb 07 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 Python
python 获取剪切板内容的两种方法
Nov 28 Python
python爬虫beautifulsoup解析html方法
Dec 07 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 object转数组示例
2014/01/15 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
JavaScript 拾漏补遗
2009/12/27 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
python编写简单爬虫资料汇总
2016/03/22 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
python三大神器之fabric使用教程
2019/06/10 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
python中的时区问题
2021/01/14 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
大专生的学习自我评价
2013/12/04 职场文书
中学生自我鉴定
2014/02/04 职场文书
公益广告宣传方案
2014/02/28 职场文书
金砖之国观后感
2015/06/11 职场文书