diff options
author | Alex Gorrod <alexg@wiredtiger.com> | 2013-05-24 15:49:46 +1000 |
---|---|---|
committer | Alex Gorrod <alexg@wiredtiger.com> | 2013-05-24 15:49:46 +1000 |
commit | 97da5e3a953cdc75dc5010d2b4f66e9d6f99e1a7 (patch) | |
tree | 87cecdc973fcc5a98d2e4e19f13c813a2299a06e | |
parent | 26e0087918a210949adfb558e84893cc48cc1abb (diff) | |
download | mongo-97da5e3a953cdc75dc5010d2b4f66e9d6f99e1a7.tar.gz |
Update index performance test to test combinations of file and LSM.
-rw-r--r-- | test/suite/test_perf001.py | 65 |
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() |