개발/성능개선 2

커넥션 풀 그거 크면 좋은 거 아니야? - 성능 개선(커넥션)

DB 연결은 생각보다 비용이 비싼 작업일반적으로 서버에서 DB를 사용할 때는 다음과 같은 단계를 거침DB연결 → 쿼리 실행 → 연결 해제 쿼리 자체는 빠르게 끝날 수 있지만, DB와의 연결을 새로 열고 닫는 과정은 생각보다 많은 비용이 발생한다. 예를 들어, 쿼리 실행 자체는 10ms밖에 걸리지 않아도 연결과 해제에 100ms가 들면 전체 요청에 110ms 이상이 소요된다. 트래픽이 많아질수록 이런 비효율은 성능에 치명적이다. 커넥션 풀(Connection Pool)이란?커넥션 풀은 이러한 비효율을 줄이기 위한 전략이다. 미리 DB와 연결된 커넥션을 생성해 놓고, 필요할 때 꺼내 쓰고 작업이 끝나면 다시 반환하는 방식이다.새로운 연결을 생성하는 오버헤드를 줄일 수 있음이미 연결된 커넥션을 재사용하므로 ..

개발/성능개선 2025.05.11

수직 확장, 수평 확장 뭐가 좋음? - 성능 개선(수직 확장, 수평 확장)

서비스를 운영하다 보면 사용자 수나 트래픽이 증가하면서 응답 시간이 점차 느려지는 문제가 발생할 수 있다.전체 요청 응답 시간이 길어지고, 일부 요청은 10초 이상 걸리기도 함간헐적으로 연결 시간 초과 오류가 발생서버 재시작 시 일시적으로 해결되지만 곧 같은 현상이 반복이러한 문제의 근본적인 원인은 TPS(Transaction Per Second), 즉 초당 처리 가능 요청 수를 초과하는 트래픽이 유입되기 때문이다. 모니터링 도구를 활용해 실행 시간을 추적하거나 모니터링 도구가 없다면 로그라도 남겨야 한다. 수직 확장 급한 불을 끌때는 수직확장을 고려해볼 필요가 있다. 수직 확장은 기존 서버의 성능 자체를 향상시키는 방식이다. 즉, 하나의 서버에 더 좋은 하드웨어(CPU, 메모리, 디스크 등)를 추가..

개발/성능개선 2025.05.10