게이트웨이 한글 POST 5초 지연 근본수정 (2026-06-23)
개요
에임드/크라우니엔터프라이즈 서비스의 제출 버튼(견적작성·출퇴근·견적/제안/턴키 등)을 누르면 한참(5초) 기다리던 문제의 근본 원인을 게이트웨이 코어에서 찾아 수정. 전 *.crowny.org 한글 POST 서비스 공통 버그였음.
진단 (격리 단계)
- 페이지 로딩 5초 = 외부폰트 렌더블로킹 (이전 세션에 해소: @import→@font-face swap + 워머).
- 버튼 클릭(POST) 5초 = 별개 문제. raw 소켓으로 백엔드(9914) 직접 POST → 17~25ms 응답. 백엔드 무죄.
- ASCII body POST = 0.04s vs 한글 body POST = 5.07s → 멀티바이트 body가 트리거.
- 게이트웨이
_요청누적읽기에서 본문 수신완료를 char수로 Content-Length(byte수)와 비교 → 한글은 char<byte라 영원히 미충족 → 블로킹 TCP읽기 5초 대기.
무엇을 했나
게이트웨이통합.한선 (/Users/ef/crowny-gateway/한선게이트웨이/)
_바이트수(문)헬퍼 신설: 버퍼생성→버퍼추가(raw str_len)→버퍼길이 = 정확한 바이트수._요청누적읽기본문 루프:글자수(누적)→_바이트수(누적)(2곳). 헤더 ASCII라 본문시작 char index==byte offset.- 응답측 임시변경(소켓폴링 250→3000) 원복.
start.sh — 컴파일 CWD 함정 수정
- hanseonc_high
가져오기가 CWD-상대 해석 →/crowny-gateway에서 컴파일 시 pathRoute 없는crownyc/libs/설정.한선링크 → 전 pathRoutes 소멸. - 컴파일을
( cd "$GWDIR" && ... )서브셸로 — 로컬한선게이트웨이/설정.한선(pathRoute 5건) 링크 보장.
검증 결과
| 항목 | 수정 전 | 수정 후 |
|---|---|---|
| 한글 body POST | 5.07s | 0.046s |
| 백엔드 디코드 | 정상(느림) | ok:true, 견적 생성 |
| pathRoute(/quote·/mgmt·os/pkg) | — | 200·301 정상 |
| 전 도메인 회귀 | — | 0 (crowny/docs/os/aimed/tiomta/kps/finance/bible 200) |
| 안정성 | — | 15초 무크래시 |
관련 파일
/Users/ef/crowny-gateway/한선게이트웨이/게이트웨이통합.한선(_바이트수, _요청누적읽기)/Users/ef/crowny-gateway/start.sh(cd $GWDIR 컴파일)- 라이브:
/tmp/gwlive.toau(31687큐브, 핀됨), 백업/tmp/gwlive.good.toau - 게이트웨이 세션 공유문:
/Users/ef/crowny-gateway/공유-한글POST-5초-바이트수정-2026-06-23.md
잔여 이슈
- 핀(toau>소스)은 belt-and-suspenders. 소스에 byte fix가 있어 재컴파일해도 동일 good toau 생성(start.sh cd $GWDIR 수정 덕).
- 작업 중 반복 재시작이 워치독(gwhealth/supervisor)과 일시 경합(crash-loop)했으나 현재 안정.
/work/api/work/list404는 9918 백엔드에 해당 엔드포인트가 없을 뿐(라우팅 정상, 출퇴근은 별도 엔드포인트).