-
Notifications
You must be signed in to change notification settings - Fork 0
Home
John Park edited this page Jun 18, 2026
·
11 revisions
- WAS를 직접 구현하며 구조와 성능을 분석하고 개선한 엔지니어링 과정을 기록하였습니다.
- Wiki는 '문제 발생 -> 병목 계측 -> 원인 분석 -> 구조 개선 -> 성능 비교' 흐름으로 정리되어 있습니다.
- 상세 문서는 오른쪽 사이드바에 주제별로 정리되어 있습니다.
Dochi WAS 개발을 왜시작했는지, 사용자는 어떻게 실행하는지, 내부 요청 흐름은 어떻게 구성되어 있는지, 어떤 구조로 동작하는지를 설명합니다. 오른쪽 사이드바의 '최상단'에서 다음 문서를 확인할수있습니다.
OverviewHow to use?Sequence & Class Diagram
부하 테스트 환경을 구성하고 병목 분석 기준으로 성능 개선 방향을 세운 과정입니다. 오른쪽 사이드바의 '요청 처리 성능 개선' 부제목 밑에 정리되어 있습니다.
1. 부하 테스트 환경과 통과 기준 설정2. 성능 분석과 개선 방향
부하 테스트시 P99 Latency 높고 일정 주기로 급증/급감 패턴이 발생하여, 병목 계측 후 원인을 분석하고 해결한 과정입니다. 오른쪽 사이드바의 '스레드 풀과 I/O 모델 개선' 부제목 밑에 정리되어 있습니다.
1. 스레드 풀 증가 실험 기반 확장 스레드 풀 구현2. 지속 연결 설정값 감소 실험으로 요청량 분산3. Blocking 병목 해소4. Virtual Thread 도입 후 성능 비교와 한계
워커 스레드풀 동적 확장과 Keep-Alive 옵션 조정하여 성능 개선 후, 요청 처리 로직에서 병목을 계측하고 원인을 분석하면서 해결한 과정입니다. 오른쪽 사이드바의 'HTTP 요청 처리 로직 개선' 부제목 밑에 정리되어 있습니다.
1. 요청 처리 로직의 병목 분석2. 요청 처리 로직의 병목 개선3. 요청 처리 로직의 병목 개선 후 성능 비교4. HTTP 버전 확장성 설계 및 구현5. HTTP 입력 버퍼링 최적화와 역제어
HTTP/1.1 Keep-Alive를 직접 구현하고, TCP 연결 재사용 전후의 성능 차이를 비교한 과정입니다. 오른쪽 사이드바의 'TCP 연결과 해제 비용 줄이기' 부제목 밑에 정리되어 있습니다.
1. Keep Alive 구현2. Keep Alive 구현 전후 성능 테스트 비교
요청 처리 중 발생한 EOF, 연결 종료, 응답 전송 실패 등 HTTP와 TCP 경계에서 발생한 문제를 분석해서 해결한 과정입니다. 오른쪽 사이드바의 ' HTTP부터 TCP까지 문제 해결' 부제목 밑에 정리되어 있습니다.
1. Request line 읽기시 예상치 못한 EOF2. 서버가 응답을 보내기 전에 연결 종료
오른쪽 사이드 바를 참고해주세요.