pypy.dev

Written by@[joon hwan]
Interested with python, django, serverless architecture, machine learning. I love Automation, development website or web service.

GitHubLinkedIn

Django + Zappa 동시성 문제 해결 시도 (cold start)

Zappa 란? zappa 는 파이썬 코드를 aws lambda 에서 쉽게 웹서비스 할 수 있도록 만들어주는 패키지이다 발생한 문제점 lambda 동시 호출 수가 늘어날때 lambda 에서 자동으로 스케일업을 해주는데, 이때 접속한 유저는 timeout (약 10초) 을 경험함 (오른쪽 표시된 부분의 바닥의 울퉁불퉁한 부분이 그것이다) 문제 발생 원인 cold start lambda 에서 스케일업을 할때 cold start 가 발생하는데, 문서에 따르면 python 의 cold start 시간은 길어봐야 0.5초 내외인것을 확인…

git flow 잘못 쓰고 있었다 - azure devops 에서 권장하는 브랜치 전략

개요 git 을 관리하는 기법이 정해진것은 없겠지만 그동안 제가 git flow 를 사용하면서 느꼈던점을 정리해 보려고 합니다 git flow 가 뭔가요? git flow 는 git 을 관리하는 도구 중 하나입니다. git flow cheatsheet 위 글은 제가 생각하기에 git flow 를 제일 잘 설명한 글입니다 왜 git flow 를 사용했나요? 시작은 이 글이었습니다. 우린 Git-flow를 사용하고 있어요 우형 정도 회사라면 모든 부분이 배울점이라고 생각했기 때문에 무작정 따라서 사용해보게 되었습니다. 내가 사용했던…

우리가 코드를 관리하는 방법 - 코드 작성부터 배포까지

개요 사내 또는 개인적인 프로젝트에서 사용하고 있는 코드 관리하는 방법을 적어보려고 합니다. 시행착오를 겪는 중이고 이런 케이스도 있구나 정도로 참고하면 좋을 것 같습니다 잘못된 브랜치 전략을 사용하고 있습니다. 이것에 대한 회고 전체적인 흐름을 적은 내용이고 구체적인 내용은 링크를 걸어놓았으니 참고해주시면 좋을것 같습니다. 사용하는 언어, 프레임워크, 테스트는 , , , 입니다. 프로젝트 관리는 를 사용합니다 모든 내용은 결과적으로 실수를 줄이기 위한 과정입니다 처음에는 조금 귀찮지만 프로젝트가 커질수록 퍼포먼스가 증가한다고…

높은 트래픽 유저를 수용하는 확장 가능한 시스템 설계 with AWS

개요 서버는 예상 사용자 수 그리고 용도에 따라 서버 설계가 달라집니다. 예를들어 사내에서만 사용하는 서버에 (역시 용도에 따라 다르지만 일반적인 백오피스를 가정합니다) 최대 100만명을 수용하는 scalable 한 서버 설계는 오버엔지니어링이 될 것 입니다. AWS 에서 낮은 수의 유저부터 최대 5천만명 이상의 트래픽을 커버하는 설계까지 알아보겠습니다. 참고사항 이 게시글은 사용자들이 글을 올리고, 보는 커뮤니티 웹사이트를 설계한다고 가정하겠습니다. 편의를 위해 DNS, VPC 등 네트워크는 그리지 않습니다. 활성 사용자 숫자는…

Django like 쿼리 성능 개선기 GIN Index

문제 확인 사내 메세지 플랫폼에 메세지 검색이 안된다는 이슈가 올라와서 확인해보니 특정 API의 응답이 유독 오래 걸리는 문제가 있었습니다 다음 endpoint 의 API 를 요청했을때 29.99초가 걸리는 것을 확인할 수 있었습니다 DEBUG 라는 파이썬 패키지를 이용해서 쿼리 성능을 측정했습니다 다음 명령어로 설치하였습니다 에 다음을 작성했습니다. 에 다음을 추가했습니다 접속 시 오른쪽 탭에 새롭게 메뉴가 생긴 것을 확인할 수 있었습니다. 아쉽게도 swagger 에서는 debug-toolbar 가 제대로 작동되…