summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gorrod <alexg@wiredtiger.com>2013-05-24 15:49:46 +1000
committerAlex Gorrod <alexg@wiredtiger.com>2013-05-24 15:49:46 +1000
commit97da5e3a953cdc75dc5010d2b4f66e9d6f99e1a7 (patch)
tree87cecdc973fcc5a98d2e4e19f13c813a2299a06e
parent26e0087918a210949adfb558e84893cc48cc1abb (diff)
downloadmongo-97da5e3a953cdc75dc5010d2b4f66e9d6f99e1a7.tar.gz
Update index performance test to test combinations of file and LSM.
-rw-r--r--test/suite/test_perf001.py65
1 files changed, 36 insertions, 29 deletions
diff --git a/test/suite/test_perf001.py b/test/suite/test_perf001.py
index 5d80b96f634..7df5e3fab29 100644
--- a/test/suite/test_perf001.py
+++ b/test/suite/test_perf001.py
@@ -26,7 +26,7 @@
# OTHER DEALINGS IN THE SOFTWARE.
#
# test_perf001.py
-# Test performance when inserting into a table with an index.
+# Test performance when inserting into a table with an index.
import wiredtiger, wttest
import random
@@ -34,38 +34,45 @@ from time import clock, time
# Test performance of inserting into a table with an index.
class test_perf001(wttest.WiredTigerTestCase):
- table_name = 'test_perf001'
+ table_name = 'test_perf001'
- def setUpConnectionOpen(self, dir):
- wtopen_args = 'create,cache_size=512M,statistics_log=(wait=5)'
- conn = wiredtiger.wiredtiger_open(dir, wtopen_args)
- self.pr(`conn`)
- return conn
+ scenarios = [
+ #('file-file', dict(tabletype='file',indextype='file')),
+ #('file-lsm', dict(tabletype='file',indextype='lsm')),
+ ('lsm-file', dict(tabletype='lsm',indextype='file')),
+ #('lsm-lsm', dict(tabletype='lsm',indextype='lsm')),
+ ]
- def insert_one(self, c, k1, v1, v2):
- c.set_key(k1)
- c.set_value(v1, v2)
- self.assertEqual(c.insert(), 0)
+ def setUpConnectionOpen(self, dir):
+ wtopen_args = 'create,cache_size=512M'
+ conn = wiredtiger.wiredtiger_open(dir, wtopen_args)
+ self.pr(`conn`)
+ return conn
- def test_performance_of_indeces(self):
- uri = 'table:' + self.table_name
- create_args = 'key_format=i,value_format=ii,columns=(a,c,d)'
- self.session.create(uri, create_args)
- self.session.create('index:' + self.table_name + ':ia',
- 'columns=(d,c)')
+ def insert_one(self, c, k1, v1, v2):
+ c.set_key(k1)
+ c.set_value(v1, v2)
+ self.assertEqual(c.insert(), 0)
- c = self.session.open_cursor('table:' + self.table_name, None, None)
- start_time = clock()
- for i in xrange(750000):
- # 100 operations should never take 5 seconds, sometimes they take
- # 2 seconds when a page is being force-evicted.
- if i % 100 == 0 and i != 0:
- end_time = clock()
- self.assertTrue(end_time - start_time < 5)
- start_time = end_time
- self.insert_one(c, i, int(time()), random.randint(1,5))
- c.close()
+ def test_performance_of_indeces(self):
+ uri = 'table:' + self.table_name
+ create_args = 'key_format=i,value_format=ii,columns=(a,c,d),type=' + self.tabletype
+ self.session.create(uri, create_args)
+ self.session.create('index:' + self.table_name + ':ia',
+ 'columns=(d,c),type=' + self.indextype)
+
+ c = self.session.open_cursor('table:' + self.table_name, None, None)
+ start_time = clock()
+ for i in xrange(750000):
+ # 100 operations should never take 5 seconds, sometimes they take
+ # 2 seconds when a page is being force-evicted.
+ if i % 100 == 0 and i != 0:
+ end_time = clock()
+ self.assertTrue(end_time - start_time < 5)
+ start_time = end_time
+ self.insert_one(c, i, int(time()), random.randint(1,5))
+ c.close()
if __name__ == '__main__':
- wttest.run()
+ wttest.run()