当前位置: 首页 > 编程笔记 >

Python实现测试磁盘性能的方法

袁建木
2023-03-14
本文向大家介绍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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Linux和Unix使用DD命令测试磁盘I / O性能,包括了Linux和Unix使用DD命令测试磁盘I / O性能的使用技巧和注意事项,需要的朋友参考一下 您知道如何检查硬盘性能,例如检查Linux操作系统上的读写速度吗?然后,这篇文章适合您!它的创建主要是为了向您提供DD命令的概述,该指南旨在为新用户提供更好的指导,并作为Linux入门入门的探索之旅。 什么是DD命令? DD是用

  • 本文向大家介绍Vmware添加磁盘的方法:扩展磁盘,包括了Vmware添加磁盘的方法:扩展磁盘的使用技巧和注意事项,需要的朋友参考一下 这篇文章介绍了一下如何在Vmare下添加或扩展磁盘并使之有效。 场景 创建Linux时分配磁盘空间随着使用的增加,使用率逐渐升高,此时需要在添加或者扩展一下磁盘。 比如:此Linux(CentOS 7.3)的磁盘为20G,目前已经使用到接近80% 扩展磁盘或者添加

  • 问题内容: 我的硬盘上有两个(每个2GB)文件,想要将它们相互比较: 使用Windows资源管理器复制原始文件大约需要花费时间。2-4分钟(即在同一物理和逻辑磁盘上进行读写)。 读取两次并逐字节比较字节数组需要20多分钟。 缓冲区为64kb,将文件分块读取然后进行比较。 比较完成是一个紧密的循环 我该怎么做才能加快速度?NIO是否应该比普通流更快?Java是否无法使用DMA / SATA技术,而是

  • 本文向大家介绍C#实现获取磁盘空间大小的方法,包括了C#实现获取磁盘空间大小的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现获取磁盘空间大小的方法。分享给大家供大家参考。具体实现方法如下: 方法一:利用System.IO.DriveInfo.GetDrives方法来获取 方法二:利用ManagementClass("Win32_LogicalDisk")来获取 希望本文所述对

  • 本文向大家介绍python实现全盘扫描搜索功能的方法,包括了python实现全盘扫描搜索功能的方法的使用技巧和注意事项,需要的朋友参考一下 由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: 以上这篇python实现全盘扫描搜索功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Linux磁盘挂载、分区、扩容操作的实现方法,包括了Linux磁盘挂载、分区、扩容操作的实现方法的使用技巧和注意事项,需要的朋友参考一下 基本概念 在操作前,首先要了解一些基本概念 磁盘 在Linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 …,sdb、sdb1…,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是