피드로 돌아가기
Dev.toBackend
원문 읽기
Magento 2 MSI 구조 단순화를 통한 카탈로그 로딩 및 체크아웃 성능 최적화
Magento 2 MSI Performance Optimization: Taming Multi-Source Inventory
AI 요약
Context
기존의 Flat 구조에서 Normalized 모델로 변경된 MSI 아키텍처로 인한 쿼리 복잡도 증가. 단순 SQL JOIN 기반에서 PHP 레이어의 다단계 테이블 집계 방식으로 변경됨에 따른 처리 지연 발생.
Technical Solution
- Single-Source 환경 설정을 통한 MSI 내부 Resolver의 Fast Path 유도
- Update on Save 방식을 Update by Schedule로 변경하여 프론트엔드 응답성 확보
- Append-only 모델인 inventory_reservation 테이블의 정리 주기 단축을 통한 조회 성능 개선
- Default Source 및 Stock 매핑 최적화로 불필요한 Fallback Resolution 경로 제거
- 대규모 카탈로그 대상 Partial Reindex 적용을 통한 인덱싱 병목 해소
- 극단적 성능 요구 시 MSI Chain을 우회하는 Single-table Lookup 커스텀 Preference 구현
실천 포인트
- inventory_reservation 테이블의 Row 수 확인 및 Cleanup Cron 주기 점검 - MSI 관련 Indexer 모드를 Schedule 기반으로 전환하여 DB Lock 최소화 - 단일 창고 운영 시 Default Source 외 모든 Source 비활성화 및 매핑 검증 - MAGE_PROFILER 또는 New Relic을 통한 InventoryCatalog 플러그인 호출 횟수 분석