Почему автокоммит в django 1.4 замедляет юнит-тесты? - PullRequest
0 голосов
/ 23 мая 2019

Django 1.4 работает по умолчанию с отключенной функцией автоматической фиксации на уровне базы данных.Недавно я попытался включить этот параметр, и это значительно замедлило мой набор тестов.

DATABASES['default']['OPTIONS'].update({'autocommit': True})

Насколько я понимаю, теперь каждый вызов create, save и т. Д. По умолчанию открывает транзакцию и выдает оператор фиксации.Будет ли стоимость всех этих дополнительных транзакций достаточной, чтобы объяснить замедление юнит-тестов?Как влияет поведение транзакции django TestCase на это (выполнение каждого теста в транзакции и откат после завершения)?Стоит ли ожидать, что снижение производительности в модульных тестах будет отражать производительность представлений в производстве?

1 Ответ

0 голосов
/ 13 июня 2019

Замедленные юнит-тесты были связаны с дополнительными затратами на открытие и совершение транзакции с каждым объектом, созданным как часть setUp, и не отражали замедления производительности в реальной среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...