From d0ba8ed812abf7aa3e1db7be25a9075191066e3f Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 6 Sep 2026 21:24:21 +0900 Subject: [PATCH] =?UTF-8?q?fix(main):=20=EC=9D=91=EB=8B=B5=20=EC=95=95?= =?UTF-8?q?=EC=B6=95=20=EA=B0=95=EB=8F=84=EB=A5=BC=201=EB=A1=9C=20?= =?UTF-8?q?=E2=80=94=20=EA=B8=B0=EB=B3=B8=209=EA=B0=80=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=EC=9D=84=209.4=EC=B4=88=EB=A1=9C=20=EB=8A=98=EB=A6=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 등고선 도엽 36.8MB 를 매 요청 level 9 로 눌러 9.4초가 걸렸음(실측). level 1 은 줄어드는 양이 거의 같고(66MB 기준 24.0 vs 23.9MB) 시간만 1/3. 실측(8001, IPv4) — 등고선 도엽 739ms · 전송 11.3MB(전 65.9MB 무압축), 종횡단 상세 485ms · 전송 0.33MB(전 1.56MB), 배수유역 전송 22KB(전 151KB). Co-Authored-By: Claude Opus 5 (1M context) --- main.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 1ed147bc..ce531e7b 100644 --- a/main.py +++ b/main.py @@ -340,7 +340,12 @@ app.add_middleware( # # 딱 하나 예외 — 3D 예상형상(코리도)은 숫자 배열이라 절반밖에 안 줄면서 압축에만 493ms 가 # 든다(18.6MB → 9.4MB). 그 자리는 「덜 보내기」가 아니라 「안 보내기」로 푼다. +# +# 압축 강도는 **1**(가장 약하게). 기본값 9 로 두었더니 등고선 도엽 36.8MB 를 누르느라 +# 요청 하나가 9.4초 걸렸다(2026-09-06 실측). 1 로 낮춰도 줄어드는 양은 거의 같고 +# (66MB 기준 level 1 은 24.0MB, level 6 은 23.9MB) 시간만 1/3 이 된다. _COMPRESS_MIN_BYTES = 1024 +_COMPRESS_LEVEL = 1 def _skips_compression(path: str) -> bool: @@ -358,7 +363,11 @@ class _SelectiveGZipMiddleware(GZipMiddleware): await super().__call__(scope, receive, send) -app.add_middleware(_SelectiveGZipMiddleware, minimum_size=_COMPRESS_MIN_BYTES) +app.add_middleware( + _SelectiveGZipMiddleware, + minimum_size=_COMPRESS_MIN_BYTES, + compresslevel=_COMPRESS_LEVEL, +) # ───────────────────────────────────────────────────────────────────────── # 정적 파일 서빙 (프론트엔드)