코루틴과 멀티 스레드의 차이
·
CS/CPU
보호되어 있는 글입니다.
다중 데이터 DB I/O 로직 성능 향상
·
백엔드/FastAPI
다중 데이터 DB Input / Output 로직 성능 향상 최근에 새로운 기능을 추가해야하는 일이 있었는데, 요청사항은 이러하다. - AS-IS : 현 시점 기준으로 하나의 사이트 오브젝트 목록을 받아온 후 보여준다.- TO-BE : 사용자가 원하는 시점 기준으로 여러 사이트의 오브젝트 목록을 한 번에 받아와서 보여줘야 함. Gap 차이로는1. 사용자가 원하는 시점 기준으로 오브젝트를 볼 수 있음.2. 하나 이상의 사이트를 모두 한눈에 볼 수 있음. 원하는 시점을 불러오는 기능 부분은 오브젝트 History 관련 내용이오니, 해당 글에서는 여러 사이트 목록을 한 번에 가져오는 로직의 성능 향상 부분에 대해서 다룹니다.원래 하나의 사이트 오브젝트를 가져오는 로직은 단순하게 이루어진다.def get_obj..
서버 DB 커넥션 풀 관리
·
DB, SQL/Connection Pool
서버에서 DB 커넥션 풀 설정 정리 현재 웹 서비스 및 별도 서비스 제공 목적으로 총 세개의 백엔드 프레임워크를 사용하고 있다.- FastAPI- Spring Boot- Node.js Express 대학생때 개발했던 토이 프로젝트들은 어차피 실제 서비스하는 프로그램들이 아니기도 했고, 성능 최적화에 큰 의미가 없었기에 기능 개발하기에만 바빴는데 실무에서는 성능 최적화 및 보안 점검 부분들에 대해 고려해야하는 부분들이 많이 있다. 현재 개발하면서 많이 신경쓰고 있는 부분들을 나열해보면- Fiddler Classic 트래픽 캡쳐를 통한 Injection 시도 및 패킷 Parameter 변조- Http Watch를 사용하여 API 호출에 몇초의 시간이 걸리는지 점검- 클러스터 내 백엔드 서버 파드에 연결되어있..