DB 실행계획도 안 까보고 장고 느리다고 궁시렁 거린 자신을 반성합니다. 파이썬은 적당하게

 
Seungho Kim

DB 실행계획도 안 까보고 장고 느리다고 궁시렁 거린 자신을 반성합니다. 파이썬은 적당하게(?) 느려 성능에 대해 항상 고민하게하는 점이 참 좋습니다 ㅋㅋ

  • Kenial Sookyum Lee

    일단은 개발하고 보는거죠 (…)

    JeongHwan Kim

    제가 겪은 파이썬이 느리다고 할만할 때는
    64G 의 사진들을 분석해서 얼굴 찾을 때나…
    프로그램을 잘못 짜서 하위 폴더의 전체 경로 찾는데 오만가지 모듈을 로딩한다가나(경험담…)

    다양한 경험이 있지만 결국은 대부분 다른 언어로 짜도 느릴만하게 짰을 경우나,
    초기 로딩이 정말 빨리 되서 반복 되어야 하는 경우는 (bash 에서 루프를 돌리거나) 오래걸리더라구요

    하지만 일단 개발하고 본다는 개념에서 따지면 개발이후 성능은 잡아갈 수 있더라구요
    (아주 대부분의 경우 그렇다는 것이고, 아닌 경우도 많을 수 있다는 이야기죠…)

    Seungho Kim

    성능이 완전 좋으면 그냥 생각없이 짤텐데. 적당히 느리니까 효율적으로 생각해서 프로그래밍하게 되더라구여 ㅋㅋㅋ

    Kenial Sookyum Lee

    그리고 개발 중에는 db쪽 로그 옵션을 켜서, 개발 서버에서 db 접근하는 코드가 실행될 때마다 해당 sql statement가 콘솔로 출력되도록 설정해 놓으시길 권장합니다. 별 것 아니지만, django ORM의 매직으로 쿼리가 망한(…) 케이스를 추적할 때 매우 유용합니다.

    ※ 이미 하고 계시다면 낭패

    Seungho Kim

    저는 망할때만 .query 로 망한걸 찾습니다 ㅋㅋㅋㅋ 어차피 db first 환경이라 망해봐야 ㅋㅋ

    Donghyun Cho

    이미 아시겠지만.. django debug toolbar 쓰시면 쿼리 쉽게 볼 수 있어요. 저는 콘솔로그로 찍지만.. 🙂
    어플리케이션 성능의 90프로는 디비 모델링과 쿼리에서 좌우한다고 생각해요. select_related 와 prefetch_related만 잘 써도 성능 올라가고.. 캐쉬 등등 많은 옵티마이제이션 방법들이 있어서..
    저는 미쳐 장고가 느리다고 생각해본적이 없네요. ㅠ.ㅠ 그냥 대충 만족하고 있었나봐요.

    박영록

    쿼리가 느리면 C로 짜도 마찬가지긴 하죠 ㅎㅎ

Advertisements