Skip to content
This repository was archived by the owner on Mar 20, 2026. It is now read-only.

Commit aad550c

Browse files
committed
changes in benchmark performance for prod
1 parent 79d94f7 commit aad550c

3 files changed

Lines changed: 17 additions & 324 deletions

File tree

tests/performance/django_spanner/test_benchmark.py

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,18 @@
1-
import datetime
21
import random
3-
import statistics
42
import time
5-
from decimal import Decimal
6-
from typing import Any
73
import unittest
8-
import pandas as pd
9-
from tests.settings import INSTANCE_ID, DATABASE_NAME
4+
from typing import Any
105

6+
import pandas as pd
7+
import pytest
118
from django.db import connection
12-
from django.test import TransactionTestCase
139
from google.api_core.exceptions import Aborted
1410
from google.cloud import spanner_dbapi
1511
from google.cloud.spanner_v1 import Client, KeySet
16-
from scipy.stats import sem
17-
18-
from tests.system.django_spanner.utils import (
19-
setup_database,
20-
setup_instance,
21-
teardown_database,
22-
teardown_instance,
23-
)
24-
import pytest
25-
2612

2713
from tests.performance.django_spanner.models import Author
14+
from tests.settings import DATABASE_NAME, INSTANCE_ID
15+
from tests.system.django_spanner.utils import setup_database, setup_instance
2816

2917

3018
def measure_execution_time(function):
@@ -77,7 +65,6 @@ def insert_many_rows(transaction, many_rows):
7765

7866
class DjangoBenchmarkTest():
7967
def __init__(self):
80-
setup_database()
8168
with connection.schema_editor() as editor:
8269
# Create the tables
8370
editor.create_model(Author)
@@ -95,7 +82,6 @@ def _cleanup(self):
9582
with connection.schema_editor() as editor:
9683
# delete the table
9784
editor.delete_model(Author)
98-
teardown_database()
9985
# teardown_instance()
10086

10187
@measure_execution_time
@@ -152,7 +138,6 @@ def run(self):
152138
class SpannerBenchmarkTest():
153139
"""The original Spanner performace testing class."""
154140
def __init__(self):
155-
setup_database()
156141
self._create_table()
157142
self._one_row = (
158143
1,
@@ -249,11 +234,12 @@ def run(self):
249234
self._cleanup()
250235
return measures
251236

252-
@pytest.mark.django_db(transaction=True)
237+
@pytest.mark.django_db()
253238
class BenchmarkTest(unittest.TestCase):
254239

255240
def test_run(self):
256241
setup_instance()
242+
setup_database()
257243
django_obj = pd.DataFrame(columns = ['insert_one_row_with_fetch_after', 'read_one_row', 'insert_many_rows', 'select_many_rows',
258244
'insert_many_rows_with_mutations'])
259245
spanner_obj = pd.DataFrame(columns = ['insert_one_row_with_fetch_after', 'read_one_row', 'insert_many_rows', 'select_many_rows',
@@ -263,13 +249,12 @@ def test_run(self):
263249
django_obj = django_obj.append(DjangoBenchmarkTest().run(), ignore_index=True)
264250
spanner_obj = spanner_obj.append(SpannerBenchmarkTest().run(), ignore_index=True)
265251

266-
django_avg = django_obj.mean(axis = 0)
267-
spanner_avg = spanner_obj.mean(axis = 0)
268-
django_std = django_obj.std(axis = 0)
269-
spanner_std = spanner_obj.std(axis = 0)
270-
django_err = django_obj.sem(axis = 0)
271-
spanner_err = spanner_obj.sem(axis = 0)
272-
print("Django Average: ", django_avg, "\n Spanner Average: ", spanner_avg, "\n Django Standard Deviation: ", django_std,
273-
"\n Spanner Standard Deviation: ", spanner_std, "\n Django Error: ", django_err, "\n Spanner Error: ", spanner_err, sep='\n')
274-
275-
252+
avg = pd.concat([django_obj.mean(axis = 0), spanner_obj.mean(axis = 0)], axis=1)
253+
avg.columns=['Django','Spanner']
254+
std = pd.concat([django_obj.std(axis = 0), spanner_obj.std(axis = 0)], axis=1)
255+
std.columns=['Django','Spanner']
256+
err = pd.concat([django_obj.sem(axis = 0), spanner_obj.sem(axis = 0)], axis=1)
257+
err.columns=['Django','Spanner']
258+
259+
print("Average: ", avg, "Standard Deviation: ", std, "Error:", err, sep='\n')
260+

tests/performance/django_spanner/test_perfomance.py

Lines changed: 0 additions & 292 deletions
This file was deleted.

tests/system/django_spanner/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def setup_database():
126126
creation._create_test_db(verbosity=0, autoclobber=False, keepdb=True)
127127

128128
# Running migrations on the db.
129-
#call_command("migrate", interactive=False)
129+
call_command("migrate", interactive=False)
130130

131131

132132
def teardown_database():

0 commit comments

Comments
 (0)