怎么模拟磁盘空间满的情况?附几个磁盘性能测试软件名备忘

可以用python脚本来填充文件快速创建一个让硬盘磁盘撑爆的文件。很简单的代码直接贴上了:

import shutil
import os

#DiskSpd是一款由微软开发的用于测试磁盘性能的工具。它可以模拟真实的应用负载,测试磁盘的读写速度、IOPS、延迟等性能指标。
#DiskSpd性能压测 参考https://cloud.tencent.com/developer/article/1835975
#SQLIO 模拟随机或者顺序的方式来测试磁盘IO的性能
# SQL Server压测工具对比 https://blog.51cto.com/u_13631369/6409699
#操作J盘分区
path='J:/'
# 获取的大小单位是字节
total,used,free = shutil.disk_usage(path)
# 换算单位为GB
total_gb = total / (1024 ** 3)
used_gb =  used / (1024 ** 3)
free_gb =  free / (1024 ** 3)
print(total_gb,used_gb,free_gb)


# 指定生成的文件路径
file_path = 'J:/enc.dat'
# 指定文件大小(单位为字节)1024 * 1024 * 1024 = 1GB
file_size = int(free_gb-1)*1024  * 1024 * 1024 
if file_size>1:#剩余空间必须大于1G
    # 创建指定大小的文件
    with open(file_path, 'wb+') as f:
        # 将文件指针移动到文件末尾,然后向文件中写入一个空字节
        f.seek(file_size - 1)#写文件大小为剩余空间减去1G
        f.write(b'')
    print("写入完成,文件大小"+str(file_size)+"GB")
else:
    print("文件大小错误,操作失败")

这种操作方式因为不是真的写文件数据,只是改变了文件指针,我这个快300G的单文件不到一秒就完成了。其实我本意是想找个能模拟mssql负载压测的工具(上面代码里面也贴了相关的软件名,但还没时间研究),在遨游冲浪的时候发现了这个么个有意思的python脚本就分享出来了!

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/fake-disk-partition-python/

赞赏

微信赞赏支付宝赞赏

发表评论