From 1491e20a07483a4c28fbcc3a605c22a1711412c0 Mon Sep 17 00:00:00 2001 From: Michael Vrable Date: Thu, 3 Jun 2010 15:25:31 -0700 Subject: [PATCH] Updates to script for testing multiple parallel fetches. --- cloudbench/paralleltest.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/cloudbench/paralleltest.py b/cloudbench/paralleltest.py index 5084b62..b447938 100755 --- a/cloudbench/paralleltest.py +++ b/cloudbench/paralleltest.py @@ -10,7 +10,7 @@ import sys, threading, time, Queue import azure BUCKET_NAME = 'mvrable-benchmark' -SIZES = [64, 4096, 32 << 10, 256 << 10, 1 << 20, 4 << 20, 32 << 20] +SIZES = [(1 << s) for s in range(12, 23)] class S3TestConnection: def __init__(self): @@ -48,16 +48,29 @@ def parallel_get(name, connections, delay1=0.0): res = [] while not q.empty(): res.append(q.get()) - return res -def run_test(size, threads, num): + if len(res) == len(connections): + return res + +def run_test(size, threads, num, logfile=sys.stdout, delay=1.0): connections = [S3TestConnection() for _ in range(threads)] for i in range(num): + print " ...test", i res = parallel_get('file-%d-%d' % (size, i), connections) - print res - time.sleep(1.0) + if res is not None: + logfile.write(str(min(res)) + "\n") + if delay > 0: + time.sleep(delay) + +for s in SIZES: + print "Priming objects: %d-byte objects" % (s,) + logfile = open('/dev/null', 'w') + run_test(s, 1, 100, logfile, 0.0) -run_test(32768, 4, 500) + for t in [4, 2, 1]: + print "Running tests: %d-byte objects, %d parallel fetches" % (s, t) + logfile = open('parallel-%d-%d.data' % (s, t), 'w') + run_test(s, t, 100, logfile) sys.exit(0) if __name__ == '__main__': -- 2.20.1