diff --git a/journey/troubleshooting/251117_admin_dashboard_code_refactoring_loading_optimization.md b/journey/troubleshooting/251117_admin_dashboard_code_refactoring_loading_optimization.md index 98a40e2..f8d03f6 100644 --- a/journey/troubleshooting/251117_admin_dashboard_code_refactoring_loading_optimization.md +++ b/journey/troubleshooting/251117_admin_dashboard_code_refactoring_loading_optimization.md @@ -69,6 +69,19 @@ Admin Dashboard의 `index.html` 파일이 1546줄로 과도하게 길어 유지 - `app.js` 전역에 `console.log('[DEBUG] ...')` 추가 - 주요 단계별 로그: 스크립트 로드, DOMContentLoaded, JWT 확인, 로그인 폼 등록, API 호출, 응답 처리 +### 6. API 응답 속도 문제 + +**문제**: 로그인 후 대시보드 로딩 시 24~30초 소요 + +**원인**: +- admin_routes.py: system/overview API에서 Docker API 호출, psutil 시스템 메트릭 수집 등 무거운 동기 작업 +- 백엔드 자체 처리 시간 24초 (네트워크 문제 아님) + +**해결 방안** (로컬 개발자 작업 필요): +- admin_routes.py: asyncio로 비동기 처리 변경 +- Redis 캐싱 추가 (5초 TTL) +- 무거운 작업 백그라운드 태스크로 분리 + ## 교훈 - 대용량 HTML 파일은 CSS/JS 분리로 유지보수성 향상 @@ -76,4 +89,5 @@ Admin Dashboard의 `index.html` 파일이 1546줄로 과도하게 길어 유지 - DOMContentLoaded 체크로 스크립트 실행 시점 보장 - 디버깅 로그는 문제 해결에 필수적 - 로딩 바로 사용자 경험 개선 +- 백엔드 API 응답 시간 모니터링 필수 (24초는 비정상)