# 树莓派 3B 测试为例
import time
# 测试写入速度
def test_write_speed(file_path, data_size):
# 开始时间
start_time = time.time()
# 写入数据
with open(file_path, 'wb') as f:
data = b'0' * data_size
f.write(data)
# 结束时间
end_time = time.time()
# 计算耗时
elapsed_time = end_time - start_time
# 计算写入速度
write_speed = data_size / (1024 * 1024 * elapsed_time)
return write_speed
# 测试读取速度
def test_read_speed(file_path, data_size):
# 开始时间
start_time = time.time()
# 读取数据
with open(file_path, 'rb') as f:
f.read(data_size)
# 结束时间
end_time = time.time()
# 计算耗时
elapsed_time = end_time - start_time
# 计算读取速度
read_speed = data_size / (1024 * 1024 * elapsed_time)
return read_speed
# 测试存储读写速率
def test_storage_speed(file_path, data_size):
# 测试写入速度
write_speed = test_write_speed(file_path, data_size)
print(f'写入速度: {write_speed:.2f} MB/s')
# 测试读取速度
read_speed = test_read_speed(file_path, data_size)
print(f'读取速度: {read_speed:.2f} MB/s')
# 测试存储读写速率的主程序
if __name__ == '__main__':
# 测试文件的路径和大小
file_path = '/mnt/mystorage/flash_throughput.dat'
data_size = 1024 * 1024 * 100 # 100 MB
# 测试存储读写速率
test_storage_speed(file_path, data_size)
1,测试文件路径:file_path = '/mnt/mystorage/flash_throughput.dat'
2,测试文件大小:data_size = 1024 * 1024 * 100 # 100 MB
# 删除测试余留文件
测试后会余留一个.dat文件
这时需要os.remove(),但必须导入 OS 模块import os
在最后加上os.remove(file_path)
# 完整程序
新建 vi flash_throughput.py文件
import time
import os
# 测试写入速度
def test_write_speed(file_path, data_size):
# 开始时间
start_time = time.time()
# 写入数据
with open(file_path, 'wb') as f:
data = b'0' * data_size
f.write(data)
# 结束时间
end_time = time.time()
# 计算耗时
elapsed_time = end_time - start_time
# 计算写入速度
write_speed = data_size / (1024 * 1024 * elapsed_time)
return write_speed
# 测试读取速度
def test_read_speed(file_path, data_size):
# 开始时间
start_time = time.time()
# 读取数据
with open(file_path, 'rb') as f:
f.read(data_size)
# 结束时间
end_time = time.time()
# 计算耗时
elapsed_time = end_time - start_time
# 计算读取速度
read_speed = data_size / (1024 * 1024 * elapsed_time)
return read_speed
# 测试存储读写速率
def test_storage_speed(file_path, data_size):
# 测试写入速度
write_speed = test_write_speed(file_path, data_size)
print(f'写入速度: {write_speed:.2f} MB/s')
# 测试读取速度
read_speed = test_read_speed(file_path, data_size)
print(f'读取速度: {read_speed:.2f} MB/s')
# 测试存储读写速率的主程序
if __name__ == '__main__':
# 测试文件的路径和大小
file_path = 'flash_throughput.dat'
data_size = 1024 * 1024 * 32 # 32 MB
# 测试存储读写速率
test_storage_speed(file_path, data_size)
os.remove(file_path)
执行 python flash_throughput.py
这个程序使用了 Python 标准库中的 open()
函数来进行文件读写操作,并使用了 time.time()
函数来计算耗时。程序分别测试了写入速度和读取速度,并输出结果。在主程序中,可以自定义测试文件的路径和大小来进行测试。其中,路径需要是一个已经挂载的存储设备的路径。