Python实现测试磁盘性能的方法
本文实例讲述了Python实现测试磁盘性能的方法。分享给大家供大家参考。具体如下:
该代码做了如下工作:
create300000files(512Bto1536B)withdatafrom/dev/urandom
rewrite30000randomfilesandchangethesize
read30000sequentialfiles
read30000randomfiles
deleteallfiles
syncanddropcacheaftereverystep
bench.py代码如下:
#!/usr/bin/python
#-*-coding:utf-8-*-
filecount=300000
filesize=1024
importrandom,time
fromosimportsystem
flush="sudosu-c'sync;echo3>/proc/sys/vm/drop_caches'"
randfile=open("/dev/urandom","r")
print"\ncreatetestfolder:"
starttime=time.time()
system("rm-rftest&&mkdirtest")
printtime.time()-starttime
system(flush)
print"\ncreatefiles:"
starttime=time.time()
foriinxrange(filecount):
rand=randfile.read(int(filesize*0.5+filesize*random.random()))
outfile=open("test/"+unicode(i),"w")
outfile.write(rand)
printtime.time()-starttime
system(flush)
print"\nrewritefiles:"
starttime=time.time()
foriinxrange(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)
printtime.time()-starttime
system(flush)
print"\nreadlinear:"
starttime=time.time()
foriinxrange(int(filecount/10)):
infile=open("test/"+unicode(i),"r")
outfile.write(infile.read());
printtime.time()-starttime
system(flush)
print"\nreadrandom:"
starttime=time.time()
outfile=open("/dev/null","w")
foriinxrange(int(filecount/10)):
infile=open("test/"+unicode(int(random.random()*filecount)),"r")
outfile.write(infile.read());
printtime.time()-starttime
system(flush)
print"\ndeleteallfiles:"
starttime=time.time()
system("rm-rftest")
printtime.time()-starttime
system(flush)
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语