原创-性能测试篇-USB读写性能测试脚本优化
·
shell脚本,命名为 usb500M_Test.sh
#!/bin/sh
echo "此脚本必须放在usb目录下"
echo "正在创建一个500M左右的测试文件"
sudo dd if=/dev/zero of=/home/usb500M bs=1M count=500
#清除页缓存
echo "正在清除页缓存"
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
echo "清除页缓存完毕"
echo "创建测试目录"
sudo mkdir /home/test_usb500M/
echo "正在读文件测试"
#time cp ./usb500M /home/test_usb500M/
python -c 'import handle_usb500M; handle_usb500M.Test_read()'
echo "读文件测试完毕"
#清除页缓存
echo "正在清除页缓存"
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
echo "清除页缓存完毕"
echo "删除本目录测试文件"
rm -rf ./usb500M
echo "删除完毕"
echo "正在写文件测试"
#time cp /home/test_usb500M/usb500M ./
python -c 'import handle_usb500M; handle_usb500M.Test_write()'
echo "写性能测试完毕"
echo "正在清除所有测试创建的文件及其目录"
rm -rf /home/test_usb500M/usb500M
rm -rf /home/test_usb500M
rm -rf ./usb500M
#rm -rf usb500M_read.txt
#rm -rf usb500M_write.txt
echo "清除完毕"
echo "所有测试完毕"
python脚本用于测试,命名为handle_usb500M.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import commands
import re
import sys,os
def Test_read():
output = commands.getoutput('(time cp ./usb500M /home/test_usb500M/) >& usb500M_read.txt')
read_txt = open("usb500M_read.txt","r")
read_line = read_txt.readlines()
read_2_line = read_line[1]
print '所用时间:' + read_2_line
read_data = read_2_line.split()[1]
read_data_min = read_data.split('m')[0]
read_data_sec = read_data.split('m')[1].split('s')[0]
if int(read_data_min) == 0 and float(read_data_sec) >= 0:
read_result = 10240 / float(read_data_sec)
print "read speed:" + str(read_result) + "Mb/s"
elif int(read_data_min) > 0:
read_result = (10240 / ((int(read_data_min) * 60) + float(read_data_sec)))
print "read speed:" + str(read_result) + "Mb/s"
else:
print "no result"
print "min:" + read_data_min + '\r\n' + 'sec:' + read_data_sec
return
def Test_write():
output2 = commands.getoutput('(time cp /home/test_usb500M/usb500M ./) >& usb500M_write.txt')
write_txt = open("usb500M_write.txt","r")
write_line = write_txt.readlines()
write_2_line = write_line[1]
print '所用时间:' + write_2_line
write_data = write_2_line.split()[1]
write_data_min = write_data.split('m')[0]
write_data_sec = write_data.split('m')[1].split('s')[0]
if int(write_data_min) == 0 and float(write_data_sec) >= 0:
write_result = 10240 / float(write_data_sec)
print "write speed:" + str(write_result) + "Mb/s"
elif int(write_data_min) > 0:
write_result = (10240 / ((int(write_data_min) * 60) + float(write_data_sec)))
print "write speed:" + str(write_result) + "Mb/s"
else:
print "no result"
return
#def test():
# print "ok";
# return;
更多推荐
所有评论(0)