Node.js + MariaDB 운영하면서 느낀 병목 포인트 몇가지
안녕하세요.
최근 Node.js + MariaDB 기반 사이트를 운영하면서 관리자 통계 페이지 때문에 이것저것 많이 테스트해봤는데요.
생각보다 사소한 부분에서 병목이 꽤 생기더군요.
특히 체감됐던 부분 몇가지만 적어봅니다.
- SELECT * 남발
- 인덱스 안탄 조회
- 관리자 페이지에서 동일 통계 반복조회
- 매 요청마다 COUNT(*) 실행
- JOIN 과다 사용
이런 부분들이 생각보다 누적되니 관리자페이지가 버벅거리더라구요.
최근에는:
- node-cache
- Redis
- 쿼리 캐싱
- 통계 테이블 분리
이런 방식으로 조금씩 개선중입니다.
특히 “실시간 정확한 통계”가 꼭 필요하지 않은 경우에는
몇 초~몇 분 캐시만 넣어도 체감이 엄청 좋아졌습니다.
다른분들은 운영하면서 어떤 부분이 가장 병목 많이 생기셨나요?
답변 1개
2026-05-13 (수) 14:28:18
저도 과도한 쿼리 누적으로 캐싱으로 해결했는데요
실시간이 꼭 필요한 건 DB 직접 조회하고,
대략적인 현황만 보면 되는 건 Redis나 node-cache로 10초~5분 정도만 캐시해도 체감 차이가 크더라구요.
대시보드에선 특히 상태 표시줄이나 카운트를 넣어서 갱신 시점을 안내하고 몇초 간격으로 갱신을 하면
그것도 의외로 볼거리라고 생각합니다..
태양광 실시간 전력 계산에서는 클라이언트도 만족했습니다.
그냥 계속 빠르게 변화하는것보다 그래프같은 경우엔 3초 정도. 하니까
뭔가 대시보드가 움직이니까 더 좋아했던것 같네요
실시간이 꼭 필요한 건 DB 직접 조회하고,
대략적인 현황만 보면 되는 건 Redis나 node-cache로 10초~5분 정도만 캐시해도 체감 차이가 크더라구요.
대시보드에선 특히 상태 표시줄이나 카운트를 넣어서 갱신 시점을 안내하고 몇초 간격으로 갱신을 하면
그것도 의외로 볼거리라고 생각합니다..
태양광 실시간 전력 계산에서는 클라이언트도 만족했습니다.
그냥 계속 빠르게 변화하는것보다 그래프같은 경우엔 3초 정도. 하니까
뭔가 대시보드가 움직이니까 더 좋아했던것 같네요
답변을 작성하려면 로그인이 필요합니다.