Python实现测试磁盘性能的方法
Python实现测试磁盘性能的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了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学习
脚本专栏子分类