Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Django 프로파일링 완벽 가이드: django-silk로 성능 모니터링하기

이 글에서는 Django 프로파일링 환경을 구축하는 방법을 알아보겠습니다. 설정이 완료되면 특정 URL 엔드포인트에서 총 GET 요청 수, 데이터베이스 쿼리 등 웹사이트에 대한 다양한 리포트를 확인할 수 있습니다. 사이트가 실제 운영 중일 때는 여러 가지 지표를 지속적으로 점검해야 하기 때문에 프로덕션 환경에서 특히 유용합니다.

실제 서비스를 배포하는 프로젝트를 진행할 때 활용도가 높은 자료이니 끝까지 따라와 보세요.

프로젝트 준비하기

먼저 Django 프로젝트와 앱을 생성하고, 기본 설정을 마친 후 URL을 구성합니다.

그다음 django-silk 패키지를 설치합니다.

pip install django-silk

settings.py 설정

settings.py 파일에 다음 내용을 추가합니다.

MIDDLEWARE = [
    ...
    'silk.middleware.SilkyMiddleware',
    ...
]

INSTALLED_APPS = [
    ...
    'silk'
]

즉, silk를 하나의 앱으로 등록하고 동시에 미들웨어로 추가하는 것입니다. 미들웨어가 요청과 응답을 가로채 성능 데이터를 수집하며, 앱 등록을 통해 silk의 모델과 관리 화면을 사용할 수 있게 됩니다.

URL 연결하기

프로젝트의 urls.py 파일에 아래 코드를 추가합니다.

urlpatterns += [path('silk/', include('silk.urls',
namespace='silk'))]

여기서 정의한 엔드포인트(/silk/)에서 프로파일링 결과를 확인하게 됩니다.

마이그레이션 실행

이제 다음 명령어를 순서대로 실행합니다.

python manage.py makemigrations
python manage.py migrate

이 명령들은 silk에 필요한 마이그레이션 파일을 생성하고 이를 데이터베이스에 적용하는 역할을 합니다. silk는 수집한 요청 정보와 쿼리 데이터를 자체 데이터베이스 테이블에 저장하기 때문에 이 과정이 반드시 필요합니다.

여기까지 완료되면 모든 설정이 끝난 것이므로 바로 결과를 확인할 수 있습니다.

결과 확인하기

브라우저에서 https://127.0.0.1:8000/silk/ 주소로 접속해 보세요.

Django 프로파일링 완벽 가이드: django-silk로 성능 모니터링하기

대시보드에서 요청 목록, 각 요청의 처리 시간, 실행된 SQL 쿼리 내역 등을 한눈에 살펴볼 수 있습니다. 느린 쿼리나 비효율적인 API 응답을 찾아내 최적화하는 데 큰 도움이 되니, 개발 단계부터 꾸준히 활용해 보시기 바랍니다.