Last active
January 14, 2017 07:15
-
-
Save YoungForest/9faaa24df53b3e78d27c18155ee26384 to your computer and use it in GitHub Desktop.
硬盘读操作压力测试
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
import sys | |
def main(): | |
if (len(sys.argv) != 3): | |
sys.exit("Ususage: %s diskname level.(level can be 0, 1, 2, 3, Bigger level means higer disk read speed.)" %(sys.argv[0])) | |
disk = sys.argv[1] | |
# disk = r'/dev/vda' | |
if sys.argv[2] == '0': | |
speed = 10 | |
elif sys.argv[2] == '1': | |
speed = 50 | |
elif sys.argv[2] == '2': | |
speed = 100 | |
elif sys.argv[2] == '3': | |
speed = 200 | |
else: | |
sys.exit("Level has to be 0, 1, 2 or 3") | |
speed = 1024 * 1024 * speed | |
with open(disk, 'rb+') as f: | |
f.seek(0) | |
while True: | |
start = time.clock() | |
d = f.read(speed) | |
if len(d) <= 0: | |
break | |
end = time.clock() | |
if 1 > end - start: | |
time.sleep(1 - (end - start)) | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment