# V13-FE-038: 그리드 성능 기준 승인 요청 **WBS Item:** V13-FE-038 **Status:** ⏳ IN_PROGRESS → DECISION_REQUIRED **Decision Owner:** FE Lead/SRE/QA **Blocks:** DataGrid production validation, 10k/100k fixture deployment, Performance SLO claim **Impact:** 성능 예산 미정, 브라우저 환경 보장 불가, 규모 검증 불가 --- ## 현재 상태 **문제:** - AG Grid 번들 크기: 1,027,848 → 588,718 bytes (44% 감소) - Vite 경고: >500 kB 청크 여전히 존재 - 성능 예산: **미정** - 브라우저 매트릭스: **미정** **구현 완료:** - ✅ ClientSideRowModelModule 전환 (AllCommunityModule 제거) - ✅ 청크 최적화 2회 시도 (추가 감소 없음) - ✅ 로컬 빌드 검증 **검증 필요:** - ⏳ 10k 행 × 100개 열 성능 정의 - ⏳ 브라우저 호환성 행렬 - ⏳ P95/P99 응답 시간 목표 --- ## 필요한 3가지 결정 ### 1️⃣ 성능 예산 (Performance Budget) **결정:** 그리드 성능의 정량적 기준 정의 ``` 현재 상태: ✅ 개발 서버: 즉시 렌더링 (10k 행) ⏳ 프로덕션 빌드: >500kB 청크 경고 (최적화 여지 있음?) ⏳ 네트워크: P95 load time (필요 명시) ⏳ CPU: Long task 예산 (필요 명시) Required decisions: ✅ 초기 로드 시간: [ ] ms (P95) ✅ Scroll 응답성: [ ] ms (첫 픽셀까지) ✅ 필터/정렬: [ ] ms (사용자 액션 → 결과) ✅ Long task 예산: [ ] ms (메인 스레드 블로킹) ✅ 메모리 한계: [ ] MB (모바일 고려) ``` ### 2️⃣ 브라우저 매트릭스 (Browser Matrix) **결정:** 지원 브라우저 및 버전 정의 ``` Current matrix (추정): - Chrome 120+ - Firefox 121+ - Safari 17+ - Edge 120+ Questions: ✅ 모바일 우선? (iOS Safari 버전) ✅ IE/Legacy 지원? (No로 가정) ✅ 태블릿 밀도: [ ] (compact/comfortable/touch) ✅ 네트워크 환경: [ ] (4G/5G/LTE) ✅ 디바이스 범주: [ ] (desktop/tablet/mobile) Associated metrics: - 각 브라우저별 Long task 제한 - 모바일 장치 성능 분류 (기본/중급/고급) - 폴백 UI (성능 저하 시) ``` ### 3️⃣ 10k/100k 테스트 환경 (Fixture Definition) **결정:** 성능 검증을 위한 테스트 데이터 및 서버 자원 ``` 10k rows × 100 columns fixture: ✅ 데이터 구조: [스키마 정의] ✅ 컬럼 타입: [숫자/문자열/날짜 혼합] ✅ 행 크기: [ ] KB (직렬화) ✅ 정렬 전략: [ ] (쿼리 기반/클라이언트 기반) ✅ 필터 전략: [ ] (서버 사이드/클라이언트) 100k rows fixture: ✅ 데이터 소스: [ ] (synthetic/production shadow) ✅ 서버 인프라: [ ] (t3.large? c5.xlarge?) ✅ 실행 반복: [ ] (single/multiple/stress) ✅ 네트워크 시뮬레이션: [ ] (none/throttle/WAN) Checksum & versioning: ✅ 기준선 애티팩트 SHA-256: [ ] ✅ 변경 추적: [ ] (git lfs? S3?) ✅ 재현성: [ ] (고정 seed, 리소스 고정) ``` --- ## 제출 형식 **승인자는 다음 정보 제공:** ### 1. Performance Budget Definition ```yaml Initial Load: P95 ms: [ ] Devices: [ ] Network: [ ] Interactivity: First Paint: [ ] ms First Contentful Paint: [ ] ms Scrolling: Long Task Budget: [ ] ms Frame Budget: 16ms (60fps) Memory: Max Heap (Mobile): [ ] MB Max Heap (Desktop): [ ] MB ``` ### 2. Browser Support Matrix ```csv Browser,Min Version,Mobile,Tablet Chrome,120,, Firefox,121,, Safari,17,, Edge,120,, ``` ### 3. Test Fixture Spec ``` 10k Fixture: - Schema: [link] - Row size: [ ] KB - Sorting: [ ] - Filtering: [ ] 100k Fixture: - Source: [ ] - Server size: [ ] - Runs: [ ] - Checksum: [ ] ``` --- ## 의존성 - **Blocks:** V13-FE-004/023 (AG Grid 완성), 프로덕션 배포 - **Related:** V13-FE-038 (이 항목), 성능 모니터링, RUM (Real User Monitoring) - **Prerequisite:** AG Grid 라이선스 검증, 서버 자원 예약 --- ## 현재 번들 상태 ``` Before: 1,027,848 bytes After: 588,718 bytes Saved: 439,130 bytes (42.7%) Gzip compression: Before: 285.75 kB After: 163.66 kB Saved: 122.09 kB (42.7%) Vite warning still present: >500 kB chunk detected Action needed: Further investigation or explicit acceptance ``` --- **제출 기한:** 2026-08-21 (1주) **승인자:** FE Lead, SRE Lead, QA Lead **Escalation:** Engineering Director (성능 SLO 최종 결정) --- ## 참고 - AEG-X-002: Frontend build optimization (completed, established baseline) - V13-FE-023: AG Grid server-side contract (in progress) - Vite >500kB warning: 선택적 무시 또는 추가 청크 분할 필요