手机
当前位置:查字典教程网 >脚本专栏 >python >Python实现测试磁盘性能的方法
Python实现测试磁盘性能的方法
摘要:本文实例讲述了Python实现测试磁盘性能的方法。分享给大家供大家参考。具体如下:该代码做了如下工作:create300000files(5...

本文实例讲述了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实现DNS正向查询、反向查询的例子

python操作MySQL数据库的方法分享

python操作日期和时间的方法

Python实现端口复用实例代码

Python实现的几个常用排序算法实例

python解析json实例方法

Python下singleton模式的实现方法

vc6编写python扩展的方法分享

python脚本实现查找webshell的方法

python 实现堆排序算法代码

精品推荐
分类导航