2011-08-18 3 views
1

저는 우리가 사용하는 커다란 복잡한 장고 앱을 가지고 있습니다. 장고 디버그 툴바 (Django Debug Toolbar)에서 우리의 견해 중 일부는 많은 SQL 요청을합니다. SQL 요청 수를 줄이면 (예 : select_related을 더 추가하여 더 많은 영리한 쿼리 등) 성능을 향상시키고 싶습니다. 나는 내가 따라갈 때 개선을 측정 할 수 있고, 나를 격려하고 얼마만큼의 지방이 정돈되었는지 말할 수 있기를 바란다. 나는 코드의 많은 부분을 터치하는이 앱을위한 django 단위 테스트의 큰 세트를 가지고있다.Django App에서 SQL 요청을 벤치마킹 할 수있는 라이브러리가 있습니까?

일부 라이브러리/프로그램/스크립트가 unittests를 실행 한 다음 총 얼마나 많은 SQL 요청이 실행되었는지 인쇄 할 수 있습니까? 이렇게하면 앱을 반복적으로 개선 할 수 있습니다.

답변

4

이 정보는 디버그 모드에서만 사용할 수 있습니다. 나는 당신이하려고하는 것을 정확히하기 위해 어떤 라이브러리에 대해서도 알지 못한다. 그러나 당신은 꽤 쉽게 뭔가를 조작 할 수있을 것이다.

디버그 모드에서 실행중인 경우 connection.queries과 함께 실행 된 모든 쿼리를 볼 수 있습니다. 이것은 장고 디버그 도구 모음이 효과적으로 작동하는 방법입니다.

그래서 unittest를 connection.queries dict를 보면 바꿔서 꽤 잘 시작할 수 있습니다.

+2

실행 종료시 총 쿼리 수를 출력하는 사용자 지정 테스트 러너를 작성할 수도 있습니다. –

+0

@Daniel Roseman 코드가 살아갈 수있는 좋은 생각입니다. – John

+0

예 맞춤 테스트 러너는 내가 원하는 것입니다. 모든 것이 통합되어있어 좋을 것입니다. – Rory