Author: brandonwilliams
Date: Sun Sep 19 20:59:37 2010
New Revision: 998730

URL: http://svn.apache.org/viewvc?rev=998730&view=rev
Log:
Optimize multiget in stress.py.  Patch by Nate McCall, reviewed by 
brandonwilliams for CASSANDRA-1520

Modified:
    cassandra/trunk/contrib/py_stress/stress.py

Modified: cassandra/trunk/contrib/py_stress/stress.py
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/contrib/py_stress/stress.py?rev=998730&r1=998729&r2=998730&view=diff
==============================================================================
--- cassandra/trunk/contrib/py_stress/stress.py (original)
+++ cassandra/trunk/contrib/py_stress/stress.py Sun Sep 19 20:59:37 2010
@@ -331,22 +331,27 @@ class MultiGetter(Operation):
                 self.opcounts[self.idx] += 1
                 self.keycounts[self.idx] += len(keys)
         else:
-            parent = ColumnParent('Standard1')
-            keys = [key_generator() for i in xrange(keys_per_thread)]
-            start = time.time()
-            try:
-                r = self.cclient.multiget_slice(keys, parent, p, consistency)
-                if not r: raise RuntimeError("Keys %s not found" % keys)
-            except KeyboardInterrupt:
-                raise
-            except Exception, e:
-                if options.ignore:
-                    print e
-                else:
+            parent = ColumnParent('Standard1')            
+            for zslab in xrange(n_threads):
+                kpt = (keys_per_thread/n_threads)
+                keys = [key_generator() for i in 
xrange(kpt*zslab,kpt*(zslab+1))]
+
+
+                start = time.time()
+                try:
+                    r = self.cclient.multiget_slice(keys, parent, p, 
consistency)
+                    if not r: raise RuntimeError("Keys %s not found" % keys)
+                except KeyboardInterrupt:
                     raise
-            self.latencies[self.idx] += time.time() - start
-            self.opcounts[self.idx] += 1
-            self.keycounts[self.idx] += len(keys)
+                except Exception, e:
+                    if options.ignore:
+                        print e
+                    else:
+                        raise
+                    
+                self.latencies[self.idx] += time.time() - start
+                self.opcounts[self.idx] += 1
+                self.keycounts[self.idx] += len(keys)
 
 
 class OperationFactory:


Reply via email to