Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/python
from threading import Thread
import os, sys, subprocess, time, argparse
parser = argparse.ArgumentParser()
parser.add_argument("-t", "--threads", type=int, default=1, help="set number of threads")
parser.add_argument("-s", "--sublevels", type=int, default=1, help="set number of nested folder sublevels")
args = parser.parse_args()
class CephFioThread (Thread):
def __init__(self, name, prefixes):
Thread.__init__(self)
self.name = name
self.prefixes = prefixes
def run(self):
for i in range(len(self.prefixes)):
os.system("dd if=/dev/zero bs=1024 count=1000000 of=%s/file_1GB_%s" % (self.prefixes[i], self.name))
print ("Thread '" + self.name + "' started write test on folder level " + str(i))
for i in range(len(self.prefixes)):
os.system("dd if=%s/file_1GB_%s of=/dev/null bs=1024" % (self.prefixes[i], self.name))
print ("Thread '" + self.name + "' started read test on folder level " + str(i))
#Creazione dei livelli
prefixes = []
prefix = "${PWD}"
prefixes.append(prefix)
for i in range(args.sublevels):
prefix = "%s/level_%s" % (prefix, str(i+1))
status = os.system("mkdir %s" % prefix)
if status == 0:
prefixes.append(prefix)
# Creazione dei thread
thread_lst = [CephFioThread("Thread#%s" % str(i+1), prefixes) for i in range(args.threads)]
# Avvio dei thread
for i in range(args.threads):
thread_lst[i].start()
# Join
for i in range(args.threads):
thread_lst[i].join()
# Fine dello script
print("The End")