Простое профилирование Django приложений
23 июня 2012
Оказывается, профилировать Django приложения очень просто. Для того, чтобы посмотреть SQL запросы, есть замечательный Django Debug Toolbar, а для классического профилирования времени/вызовов есть вот такой рецепт:
- Добавляем в requirements.txt django-extensions==0.9
- Ставим kcachegrind через порты: sudo port install kcachegrind
- Запускаем приложение:
./manage.py runprofileserver --kcachegrind --prof-path=/tmp/my-profile-data
- Вызываем интересующие нас view
- Запускаем X11, потом kcachegrind и скармливаем ему лог.
Встроенный cProfile мне показался не слишком удобным.