0
this post을 사용하여 json 응답으로 ajax django보기를 프로파일 링했습니다. 다음은 가장 큰 시간의 흡혈자입니다 :예기치 않은 db 쿼리로 인해 긴 django 응답 시간을 디버그했습니다.
ncalls tottime percall cumtime percall filename:lineno(function)
1 1.502 1.502 1.502 1.502 c:\python27\lib\socket.py:336(read)
1 1.501 1.501 1.501 1.501 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\psycopg2\__init__.py:119(connect)
2 0.749 0.375 0.749 0.375 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\django\db\backends\postgresql_psycopg2\base.py:50(execute)
1 0.245 0.245 0.245 0.245 c:\python27\lib\socket.py:406(readline)
2 0.240 0.120 1.741 0.871 c:\users\jonathan\virtual_environments\myapp\lib\site-packages\django\db\backends\postgresql_psycopg2\base.py:157(_cursor)
이봐, 그게 뭐야?! postgresql 데이터베이스 액세스? 그러나 뷰 코드는 데이터베이스에 액세스하지 않습니다!
@login_required
@debug_ajax
@json_error_on_exception
def my_ajax_view(request):
json_response = redis_conn.get('precompiled-json-response')
return HttpResponse(json_response, mimetype='application/json')
나는 데코레이터를 확인하고
@login_required
기본에만 장고 인증은 의심이다.
어떻게 디버깅 할 수 있습니까? 발행 된 쿼리는 어떻게 볼 수 있습니까?
auth가 db를 쿼리하더라도 이러한 응답 시간은 미약합니다. 무슨 일이 일어나는지 자세히 알아 보려면 어떻게 드릴까요?
디버그 툴바가 정말 도움이됩니다. 지금까지 내가 기억하는 한, 장고는 사이트 프레임 워크와 인증 프레임 워크에 대한 모든 요청에서 데이터베이스 작업을 수행합니다. – Jingo