Python实现测试磁盘性能的方法
本文向大家介绍Python实现测试磁盘性能的方法,包括了Python实现测试磁盘性能的方法的使用技巧和注意事项,需要的朋友参考一下
本文实例讲述了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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。