Cleaner fix part 1
[bluesky.git] / cloudbench / cloudtest.py
index 3743282..31c188a 100755 (executable)
@@ -24,7 +24,7 @@ class S3TestConnection:
         k.set_contents_from_string(buf)
         print "%s: %f" % (name, time.time() - start_time)
 
-    def get_object(self, name, size):
+    def get_object(self, name):
         k = Key(self.bucket, name)
         start_time = time.time()
         buf = k.get_contents_as_string()
@@ -41,7 +41,7 @@ class AzureTestConnection:
                                {'x-ms-blob-type': 'BlockBlob'})
         print "%s: %f" % (name, time.time() - start_time)
 
-    def get_object(self, name, size):
+    def get_object(self, name):
         start_time = time.time()
         self.conn.make_request('/benchmark/' + name, 'GET')
         print "%s: %f" % (name, time.time() - start_time)
@@ -56,18 +56,31 @@ def run_test():
     c = S3TestConnection()
     for repeat in range(4):
         for size in SIZES:
-            c.get_object('file-%d-%d' % (size, repeat), size)
+            c.get_object('file-%d-%d' % (size, repeat))
 
-#    print "==== AZURE ===="
-#    c = AzureTestConnection()
-#    for repeat in range(4):
-#        for size in SIZES:
-#            c.put_object('file-%d-%d' % (size, repeat), size)
-#
-#    c = AzureTestConnection()
-#    for repeat in range(4):
-#        for size in SIZES:
-#            c.get_object('file-%d-%d' % (size, repeat), size)
+    print "==== AZURE ===="
+    c = AzureTestConnection()
+    for repeat in range(4):
+        for size in SIZES:
+            c.put_object('file-%d-%d' % (size, repeat), size)
+
+    c = AzureTestConnection()
+    for repeat in range(4):
+        for size in SIZES:
+            c.get_object('file-%d-%d' % (size, repeat))
 
 if __name__ == '__main__':
-    run_test()
+    #run_test()
+    SIZES = [4096, 32 << 10, 256 << 10, 1 << 20, 4 << 20]
+    PRIME = (1 << 20) + (1 << 10)
+    c = AzureTestConnection()
+    for size in SIZES:
+        c.put_object('file-%d-%d' % (size, 0), size)
+    c.put_object('file-%d-%d' % (PRIME, 0), PRIME)
+
+    for size in SIZES:
+        for n in range(50):
+            c = AzureTestConnection()
+            c.get_object('file-%d-%d' % (PRIME, 0))
+            time.sleep(2.0)
+            c.get_object('file-%d-%d' % (size, 0))