一个用于测试磁盘性能的 Python 代码,磁盘性能python,#!/usr/bin/p


#!/usr/bin/python# -*- coding: utf-8 -*-filecount = 300000filesize = 1024import random, timefrom os import systemflush = "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() - starttimesystem(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() - starttimesystem(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() - starttimesystem(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() - starttimesystem(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() - starttimesystem(flush)print "\ndelete all files:"starttime = time.time()system("rm -rf test")print time.time() - starttimesystem(flush)

评论关闭