ich bin am Verzweifeln!!!
Ich habe Serverbenchmarks gemacht und ne Menge Files generiert:
6 Server * 4 URLs * 4 Concurrency Level * 5 Testdurchläufe = 480 Files
Diese Files genauergenommen die Testruns müssen nun gemerged werden.
Das File hat folgende Struktur:
Percentage served, Time in ms
0,2.345
1,3.45
2,5.33
...
99, 12.567
Jetzt würde ich gerne durch die Testläufe gehen und pro Testfall folgende Werte haben: Mean, Min, Max, Standardabweichung.
Also Struktur hatte ich mir bis jetzt folgendes gedacht:
testruns[ testcase1 : {Zeile1: [Wert aus Run 1, Wert aus Run 2, ..., Wert aus Run 5], Zeile2: [...]}, testcase2 : {}, ...]
Dann bräuchte man über die Listen nur noch ein bisschen Statistik zu jagen, was definitiv nicht das Problem ist.
Ich scheitere am Aufbau des Konstrukt
Bis hier hin komme ich:
print testruns
{'h104_c1000_n10000_u100kb': {0: [], 1: [], ..., 99: []}, 'h105_c750_n10000_u1b': {...} , ... }
Das Hinzufügen von Werten zu den Listen aus den einzelnen Files klappt nicht.
Hier der Code:
Code: Alles auswählen
import os
path = '/perc'
all = os.listdir(path)
testruns = {}
lines = {}
for i in range(0,100):
lines[i] = []
for host in range (100, 106):
for cc in [250, 500, 750, 1000]:
for n in [10000]:
for u in ['1b', '1kb', '10kb', '100kb']:
testruns["h" + str(host) + "_c" + str(cc) + "_n" + str(n) + "_u" + u] = lines
for file in all:
for key in testruns:
if key in file:
for linenumber in testruns[key]:
pairlist=[]
for line in open(path + '/' + file, 'r').readlines():
pair = line.strip().split(",")
pairlist.append(pair)
for val in pairlist:
if ((str(linenumber) == val[0]) & (key in file)):
testruns[key][linenumber].append(val[1])
Testrun: h104_c1000_n10000_u100kb
Files: bench_h104_c1000_n10000_u100kb_r1_percentage_31-08_13:47:46.data
bench_h104_c1000_n10000_u100kb_r2_percentage_31-08_14:13:09.data
bench_h104_c1000_n10000_u100kb_r3_percentage_31-08_14:58:17.data
bench_h104_c1000_n10000_u100kb_r4_percentage_31-08_16:38:44.data
bench_h104_c1000_n10000_u100kb_r5_percentage_31-08_16:33:54.data
Hoffentlich ist das einigermaßen verständlich...
Ich bin verzweifelt...
Hat jemand eine Idee?