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判断文件和文件夹是否存在的方法
May 21 Python
python实现数独算法实例
Jun 09 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
Python构建图像分类识别器的方法
Jan 12 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
Python3爬楼梯算法示例
Mar 04 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
Python参数传递及收集机制原理解析
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
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
学习ExtJS form布局
2009/10/08 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
javaScript实现滚动条事件详解
2020/03/24 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Python选课系统开发程序
2016/09/02 Python
python中kmeans聚类实现代码
2018/02/23 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
Python正则表达式如何匹配中文
2020/05/27 Python
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
linux面试题参考答案(10)
2013/11/04 面试题
校园之星获奖感言
2014/01/29 职场文书
竞聘书格式及范文
2014/03/31 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
六查六看剖析材料
2014/10/06 职场文书
安全隐患整改报告
2014/11/06 职场文书
青年教师个人总结
2015/02/11 职场文书