본문 바로가기

(Django)데이터베이스 커넥션을 관리하는 방법  Connection 재사용Django는 데이터베이스에 쿼리를 처음 날리기 전에 Connection을 맺는다. 그리고 커넥션을 계속 열어뒀다가, 다음 요청이오면 이걸 재사용한다. Request가 날라올 때마다 Connetion을 새로 맺는건 부담이 큰 작업이다. 그래서 Django에는 CON_MAX_AGE라는 설정값이 있다. 여기에 설정된 기간만큼 Connection을 닫지않고, 보존하겠다는 개념이다. 따로 설정해주지 않..
(PostgreSQL) OOM Killer PostgreSQL 서버에 Out Of Memory가 발생하는 경우, PostgreSQL 자체를 재부팅해야지만 복구할 수 있다. 메모리가 부족해지고, Swap 영역이 증가하게 되면 Linux Kernel의 OOM Killer가 프로세스를 죽이게 된다. 그러면서 부족해진 메모리를 늘리고, Swap 영역을 줄인다. 이러면, 서버에 접속할 수 없는 수준으로 서버가 고장나는 일은 막을 수 있다. 그러나 OOM Killer가 Ses..
(PostgreSQL) work_mem 메모리 설정 postgresql의 work_mem이란? 이 값은 정렬 /  해시 / 조인 등의 동작에 사용될 수 있는 메모리 사용량을 의미한다.   이 메모리는 임시 디스크에 데이터를 쓰기 전에 사용된다.  기본값은 4MB으로 설정된다. 그런데 어떤 아티클에서는 일반적으로 64MB 정도가 적합한 수치라고 한다.  만약 PostgreSQL이 temporary file을 사용하고 있다면, work_mem을 늘리면 좋다..
애시 모리아 <린 스타트업> - 9장 요약 본문 중에서..전형적인 제품 개발 주기는 요구사항 / 개발 / 품질보증 / 출시로 이루어져있다.요구사항 수집 단계에서도 학습을 하지만, 많은 내용을 학습하게 되는건 제품 출시 이후다. 학습 단계에 빨리 도달하기 위해서는 가능한 한 최소 제품을 구축할 수 있게 MVP 범위를 핵심 기능으로 축소하는거다.- 가장 중요한 문제부터 시작해야한다.MVP의 핵심은 기장 중요한 문제를 해결하는 솔루션 데모에 반영되어야한다.- 있으면 좋은 기능과 필요없는 기능들을..