django-debug-toolbar
вводить
Django — это тяжеловесный веб-фреймворк Python.
Описание: Django позволяет быстрее создавать лучшие веб-приложения с меньшим количеством кода.
При отладке и оптимизации мы часто хотим знать следующие вопросы:
- Сколько операторов SQL было выполнено, затраченное время и время, затраченное на запрос на каждый оператор
- Какие есть шаблоны для рендеринга страницы и время рендеринга
- Влияет ли кеширование на производительность
django-debug-toolbar — очень мощный инструмент для тестирования производительности Django.
Установить
скачатьdjango-debug-toolbar
pip install django-debug-toolbar
Исправлятьsetting.py
Обязательно включите отладку
DEBUG = True
INSTALLED_APPS
Присоединяйсяdebug-toolbar
INSTALLED_APPS = (
......
'django.contrib.messages',
'django.contrib.staticfiles',
'library.apps.libraryConfig',
'debug_toolbar',
)
Добавить промежуточное ПО
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
......
......
]
URL-адрес конфигурации
urls.py
добавлен файл:
from django.conf.urls import include, url
if settings.DEBUG:
import debug_toolbar
urlpatterns = [
url(r'^__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
запустить проект
python3 manage.py runserver 0.0.0.0:8000
Здесь я позаимствовал проект Django на github в качестве эксперимента:система библиотечного абонемента
Схема эффекта выглядит следующим образом:
Эксплуатация и конфигурация
Панель инструментов отладки работает в два этапа. Во-первых, он собирает данные по мере того, как Django обрабатывает запрос и сохраняет эти данные в памяти. Затем, когда панель открывается в браузере, она получает данные на сервере и отображает их. Если при просмотре сайта вы наблюдаете чрезмерное потребление ЦП или памяти, возможно, стоит подумать об оптимизации этапа «сбора». Если панель дисплея работает медленно, может потребоваться оптимизация этапа «рендеринга».
Django-Debug-панель инструментов сохраняет данные, собранные в течение последних 10 запросов в памяти по умолчанию.
допустимыйsetting.py
Внесите изменения, добавив или изменив следующую конфигурацию в DEBUG_TOOLBAR_CONFIG в:
RESULTS_CACHE_SIZE : 10 (默认)
Для некоторых других конфигураций см.:Конфигурация — документация Django Debug Toolbar 1.10.1
Плагины сторонних функций
django-debug-toolbar позволяет добавлять сторонние панели.
В настоящее время предлагает несколько плагинов, которые могут ссылаться на:Panels
Например, чтобы использовать график пламени для выявления проблем с производительностью процессора, вы можете использовать:djdt-flamegraph: Flamegraphs for Django Debug Toolbar
-
Установить djdt_flamegraph
-
существует
setting.py
Добавьте 'djdt_flamegraph.FlamegraphPanel' на панель со следующей конфигурацией:DEBUG_TOOLBAR_PANELS = [ 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', ………………………… ………………………… 'djdt_flamegraph.FlamegraphPanel', ]
-
Стартовый проект
python3 manage.py runserver --nothreading --noreload 0.0.0.0:8000
-
Эффект:
При нормальных обстоятельствах должен быть график пламени, который может быть причиной конфигурации или системы Windows, но сторонние панельные плагины добавляются и используются таким образом. Если используется база данных MongoDB, есть также Соответствующие сторонние плагины для наблюдения и отладки:MongoDB panel for the Django Debug Toolbar
использовать
В основном он имеет следующие функции, которые могут быть расширены в соответствии с вашими потребностями мониторинга.
- Мониторинг операций оператора SQL
- Мониторинг работы процессора
- Использование статических файлов
- Использование шаблона
Ссылаться на
Django Debug Toolbar 1.10.1 documentation
Установка и использование Django-debug-toolbar и как перехватывать ajax-запросы
Django + DebugToolbar создает полноценную веб-разработку — Блог Didi Cloud