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中return语句用法实例分析
Aug 04 Python
Python pyinotify日志监控系统处理日志的方法
Mar 08 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
python中实现栈的三种方法
Dec 19 Python
pycharm 实现调试窗口恢复
Feb 05 Python
python线程优先级队列知识点总结
Feb 28 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中防止SQL注入的最佳解决方法
2013/04/25 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php实现中文转数字
2016/02/18 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
python实现简易版计算器
2020/06/22 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
Django web框架使用url path name详解
2019/04/29 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
python将数据插入数据库的代码分享
2020/08/16 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
毕业自我鉴定
2013/11/05 职场文书
企业申诉管理制度
2014/01/30 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python