http://djangotricks.blogspot.tw/2015/01/performance-bottlenecks-in-django-views.html
To setup line profiling, install line_profiler and django-devserver to you virtual environment:
(myproject_env)$ pip install line_profiler (myproject_env)$ pip install django-devserver
Then make sure that you have the following settings in your settings.py or local_settings.py:
# settings.py INSTALLED_APPS = ( # ... 'devserver', ) MIDDLEWARE_CLASSES = ( # ... 'devserver.middleware.DevServerMiddleware', ) DEVSERVER_MODULES = ( 'devserver.modules.sql.SQLRealTimeModule', 'devserver.modules.sql.SQLSummaryModule', 'devserver.modules.profile.ProfileSummaryModule', # Modules not enabled by default 'devserver.modules.profile.LineProfilerModule', ) DEVSERVER_AUTO_PROFILE = True # profiles all views without the need of function decorator
I try these tools and get a bunch of analysis report from them, and I think they are useful and convenient. The following picture is one part of my result: