From 0ddc31bc4629c7d2eee004f98e5293296ae55234 Mon Sep 17 00:00:00 2001 From: M1ha Date: Sun, 3 Feb 2019 21:19:34 +0500 Subject: [PATCH] Added profiling test --- tests/test_sync.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/test_sync.py b/tests/test_sync.py index c24276a..231d988 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -199,3 +199,33 @@ class KillTest(TransactionTestCase): p_update.wait() self._check_data() + + +# Used to profile sync execution time. Disabled by default +@skip +class ProfileTest(TransactionTestCase): + BATCH_SIZE = 10000 + + def setUp(self): + ClickHouseTestModel.get_storage().flush() + connections['default'].drop_database() + connections['default'].create_database() + migrate_app('tests', 'default') + + # Disable sync for not interesting models + ClickHouseMultiTestModel.sync_enabled = False + ClickHouseTestModel.sync_enabled = False + + TestModel.objects.bulk_create([ + TestModel(created=datetime.datetime.now(), created_date='2018-01-01', value=i) + for i in range(self.BATCH_SIZE) + ]) + + def tearDown(self): + # Disable sync for not interesting models + ClickHouseMultiTestModel.sync_enabled = True + ClickHouseTestModel.sync_enabled = True + + def test_sync(self): + ClickHouseCollapseTestModel.sync_batch_size = self.BATCH_SIZE + ClickHouseCollapseTestModel.sync_batch_from_storage()