Оболочка Django против производительности runserver
У меня есть функция, которая импортирует данные из CSV-файла в базу данных Django.
Я поставил таймер для измерения времени выполнения функции. Он печатает шаги сценария и время, необходимое для выполнения задачи. Я выясняю, что этот же скрипт требует в 5 раз больше времени при вызове через представление, чем с оболочкой django.
Когда я запускаю его через оболочку, это в среднем занимает 3 секунды, чтобы обработать 50 элементов.
$ python manage.py shell
>>> from recommend.import_data import import_csv as i
>>> i(50)
1. File downloaded
2. Data importation |████████████████████████████████| 50/50 100%
3. Task completed in 0:00:03
>>>
Когда сценарий вызывается в представлении, выполнение этого же сценария занимает от 14 до 20 секунд.
$ python manage.py runserver
1. File downloaded
2. Data importation |████████████████████████████████| 50/50 100%
3. Task completed in 0:00:18
[07/Jul/2017 16:18:59] "GET /import_data/50 HTTP/1.1" 200 19
Есть ли у кого-нибудь объяснение этому и / или способ улучшить производительность в runserver.
Это очень важно, так как я обычно импортирую тысячи предметов, и в итоге получается, что разница между ними составляет десятки минут.
Спасибо за помощь!