knowledge(M01화면): 화면 늦음 다시 재기 — 캐시 뒤 로직 목록 5.6초→0.6초

일감 29(읽기 전용). 켠 뒤 첫 목록만 그대로(캐시가 비어 1,354줄을 한 번은 훑음) ·
그다음부터는 /api/m01/logics 175ms 로 뚝 떨어져 단가산출 로직·로직 개선 시험 다
1초 안쪽. 조합 목록도 1.6초→0.1초. 자재품목·소요량·계수는 원래도 빠르고 그대로.
같은 시간에 들어오던 캐시 고침의 흠(check_logics 인자 개수 안 맞음)으로 저장 길이
전부 500 이라 조합 상세·로직 저장·인력 저장은 못 잼 — 브레인에 알림용으로 적어 둠.
This commit is contained in:
2026-09-22 03:10:20 +09:00
parent 67cc8d291c
commit 323e1d2c3d
@@ -4,16 +4,23 @@
## 표
| 컨테이너 | 첫 목록 | 상세 | 가장 무거운 요청 |
|---|---|---|---|
| 자재품목(3만 줄) | 0.6초 | 해당 없음 — 줄이 곧 상세(칸 바로 고침) | `/api/m01/rows?...자재품목...` 213ms · 2.2KB |
| 단가산출 로직(1,354) | **6.0초** | 0.5초 | `/api/m01/logics` **5.6초** · 40.7KB |
| 로직 개선 시험 | **5.9초** | 0.5초 | `/api/m01/logics` **5.4초** · 40.7KB(같은 길) |
| 일위대가 조합 | 1.6초 | 정본이 빈 채라 잴 줄 없음 | `/api/m01/combos` 1.6초 · 0.3KB(빈 목록인데도) |
| 소요량(2,535) | 0.8초 | 0.5초 | `/api/m01/tables?group=소요량...` 308ms |
| 계수 | 0.5초 | 0.5초 | `/api/m01/table?...계수...` 80ms |
| 컨테이너 | 첫 목록 | 상세 | 가장 무거운 요청 | 고친 뒤(데스크탑) |
|---|---|---|---|---|
| 자재품목(3만 줄) | 0.6초 | 해당 없음 — 줄이 곧 상세(칸 바로 고침) | `/api/m01/rows?...자재품목...` 213ms · 2.2KB | 0.5초(그대로) |
| 단가산출 로직(1,354) | **6.0초** | 0.5초 | `/api/m01/logics` **5.6초** · 40.7KB | 켠 뒤 첫 목록 **5.6초**(그대로) · **그다음 목록 0.6초**(요청 175ms) · 상세 0.5초 |
| 로직 개선 시험 | **5.9초** | 0.5초 | `/api/m01/logics` **5.4초** · 40.7KB(같은 길) | 0.8초(웜 상태 — 같은 길이라 단가산출 로직과 같이 빨라짐) |
| 일위대가 조합 | 1.6초 | 정본이 빈 채라 잴 줄 없음 | `/api/m01/combos` 1.6초 · 0.3KB(빈 목록인데도) | 목록 0.1초(요청 97ms) · 상세는 **못 잼**(아래 흠 참고) |
| 소요량(2,535) | 0.8초 | 0.5초 | `/api/m01/tables?group=소요량...` 308ms | 0.6초(그대로) |
| 계수 | 0.5초 | 0.5초 | `/api/m01/table?...계수...` 80ms | 0.5초(그대로) |
굵게 = 2초 넘는 자리(둘 다 같은 길 `/api/m01/logics`).
굵게 = 2초 넘게 남은 자리. 「고친 뒤」 는 이 창(desktop)에서 잰 값 — 코드는 이 일감에서 안 고침(다른 창이 같은 시간에 캐시 길을 넣는 중이었음).
## 고친 뒤 다시 잼 (일감 29)
- **켠 뒤 첫 목록은 그대로 5.6초** — 서버가 막 뜬 뒤 캐시가 비어 있어 처음 한 번은 1,354줄을 다 훑어야 함(캐시를 미리 데우는 `store.warm()` 함수는 있는데 서버 뜰 때 부르는 자리가 아직 없어 보임).
- **그다음부터는 0.6~0.8초로 뚝 떨어짐** — `/api/m01/logics` 요청이 5.6초 → 175ms. 「로직 개선 시험」 도 같은 길이라 같이 빨라짐. 일위대가 조합 목록도 1.6초 → 0.1초.
- 자재품목·소요량·계수는 원래도 빨랐고 그대로.
- **일위대가 조합 상세(견본)를 못 잼** — 같은 시간에 들어오던 고침에 흠이 있어 **저장 길이 전부 500 으로 막혀 있음**(`M01_MasterData_Store_Cache.check_saved``check_master.check_logics` 를 인자 4개로 부르는데 그 함수는 3개까지만 받음 — `TypeError: check_logics() takes from 2 to 3 positional arguments but 4 were given`). 조합 새로 만들기 · 로직 저장 · 인력 저장 다 이 오류라 ⑤·⑥·조합 견본 상세를 잴 수 없었음 — 이 흠은 브레인에게 바로 알림(이 창이 고치지 않음 · 시도한 조합 만들기는 실패해 정본 파일 그대로).
## 왜 오래 걸리나 (요청인지 그리기인지)