Простое профилирование Django приложений

23 июня 2012

Оказывается, профилировать Django приложения очень просто. Для того, чтобы посмотреть SQL запросы, есть замечательный Django Debug Toolbar, а для классического профилирования времени/вызовов есть вот такой рецепт:

  1. Добавляем в requirements.txt django-extensions==0.9
  2. Ставим kcachegrind через порты: sudo port install kcachegrind
  3. Запускаем приложение: ./manage.py runprofileserver --kcachegrind --prof-path=/tmp/my-profile-data
  4. Вызываем интересующие нас view
  5. Запускаем X11, потом kcachegrind и скармливаем ему лог.

Встроенный cProfile мне показался не слишком удобным.

Ответы на: Простое профилирование Django приложений

  • adw0rd пишет:

    24 июня, 2012

    Пользовался Profiling в Django Debug Toolbar? Он умеет профилировать вьюху и показывает статистику по ней.

    Там был баг https://github.com/django-debug-toolbar/django-debug-toolbar/pull/290 которую пофиксил, сейчас я пишу новую панельку с нормальным профилировщиком и графом + будет файлик для kcachegrid и прочие плюшки, интересно?

    • krvss пишет:

      25 июня, 2012

      Не пользовался, я в DjDT смотрю SQL в основном 🙂 Иметь полноценный профайлер там было бы очень в тему!

Comments closed