Django - silk 성능 프로파일러

런던행·2021년 3월 26일
0

Django 업그레이드

목록 보기
12/17

실크는 장고프레임워크를 위한 프로파일링 툴이다. 실크는 HTTP 요청들과 데이터베이스 쿼리들을 가로체고 저장한다.

주의해야 할 점은.

  • APM 솔루션이 아니다.
  • 보안 문제 때문에 Production 환경에서 사용하며 안 된다. 민감한 정보(패스워드) 이런것들이 평문화 되서 프로파이링 목적으로 저장된다.

설치법

어렵지 않다. 패키지 문서를 참고하자.
https://github.com/jazzband/django-silk

python3 ./manage.py migrate silk
python3 ./manage.py collectstatic

기본 설치 후 확인

Requests 탭

Requests 탭 -> SQL

Profiling

프로파일링 정보를 수행할려면 실크 추가설정을 한다.

프로파일링 켜기

setting 파일에 추가한다.

SILKY_PYTHON_PROFILER = True
SILKY_PYTHON_PROFILER_BINARY = True

프로파일링 할 소스코드에 아래와 같이 명시해준다. 명시하는 방법에 대해서 도큐먼트를 참고한다.
@silk_profile(name='View Blog Post')

class AccountViewSet(ModelViewSet):
    serializer_class = UserSerializer
    queryset = User.objects.all()
    pagination_class = StandardResultsSetPagination

    @silk_profile(name='View Blog Post')
    def list(self, request, *args, **kwargs):

프로파일 그래프

파이썬 프로파일러

profile
unit test, tdd, bdd, laravel, django, android native, vuejs, react, embedded linux, typescript

0개의 댓글