| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- CSS
- 인텔리제이
- IntelliJ
- HashMap
- 문자열
- Java
- 정규식
- ArrayList
- Visual Studio Code
- 단위테스트
- Array
- string
- js
- 자바스크립트
- junit5
- Eclipse
- html
- java테스트
- list
- javascript
- 배열
- 스프링부트
- vscode
- SpringBoot
- 자바
- 자바문법
- math
- junit
- 테스트자동화
- input
- Today
- Total
목록2026/03/26 (2)
어제 오늘 내일
서버 개발자가 가장 많이 하는 실수 중 하나가 "DB 커넥션 풀 설정을 기본값(Default)으로 두는 것"입니다.HikariCP의 기본 최대 연결 수는 10개입니다. 트래픽이 적을 땐 문제없지만, 조금만 몰려도 11번째 사용자는 하염없이 기다리다가 타임아웃 에러를 맞게 됩니다.그렇다면 무조건 많이 늘리면 될까요? 아니요. 너무 많으면 오히려 느려집니다.오늘은 HikariCP의 동작 원리와 최적의 풀 사이즈(Pool Size)를 구하는 공식을 알아보겠습니다.1. 커넥션 풀(Connection Pool)이 뭔가요?DB 연결(TCP Connection)을 맺는 과정은 비용이 매우 비쌉니다. (3-way handshake 등)사용자가 올 때마다 연결을 새로 만들면 서버는 금방 지칩니다.그래서 미리 연결(Con..
열심히 만든 서버를 배포하고 퇴근했는데, 새벽에 알람이 울립니다. "서버 다운".부랴부랴 접속해서 로그를 보지만, 아무것도 없습니다. java.lang.OutOfMemoryError: Java heap space 이 에러는 JVM의 힙(Heap) 메모리가 꽉 차서 더 이상 객체를 만들 수 없을 때 발생합니다. 문제는 JVM 자체가 멈추기 때문에 로그를 남길 힘조차 없다는 것입니다.이때 필요한 것이 바로 힙 덤프(Heap Dump)입니다.1. 힙 덤프(Heap Dump)가 뭔가요?쉽게 말해 "서버가 죽기 직전의 메모리 스냅샷"입니다.어떤 객체가 메모리를 몇 GB나 차지하고 있었는지, 누가 그 객체를 참조하고 있었는지를 낱낱이 기록한 파일(hprof)입니다.이 파일만 있으면 범인을 100% 잡을 수 있습니..
