- CollectDB 다중 신호 수집 → S&P Global AIS API 단일 수집으로 전환 - sig_src_cd + target_id 이중 식별자 → mmsi(VARCHAR) 단일 식별자 - t_vessel_latest_position → t_ais_position 테이블 전환 - 레거시 배치/유틸 ~30개 클래스 삭제 (VesselAggregationJobConfig, ShipKindCodeConverter 등) - AisTargetCacheManager 기반 캐시 이중 구조 (최신위치 + 트랙 버퍼) - CacheBasedVesselTrackDataReader + CacheBasedTrackJobListener 신규 추가 - VesselStaticStepConfig: 정적정보 CDC 변경 검출 + hourly job 편승 - SignalKindCode enum: vesselType/extraInfo 기반 선종 자동 분류 - WebSocket/STOMP 전체 mmsi 전환 (StompTrackStreamingService ~40곳) - 모니터링/성능 최적화 코드 mmsi 기반 전환 - DataSource 설정 통합 (snpdb 단일 DB) - AreaBoundaryCache Polygon→Geometry 캐스트 수정 (MULTIPOLYGON 지원) - ConcurrentHashMap 적용 (VesselTrackStepConfig 동시성 버그 수정) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
73 lines
1.6 KiB
Markdown
73 lines
1.6 KiB
Markdown
# /perf-check - 성능 체크 명령어
|
|
|
|
Spring Boot 배치 애플리케이션의 성능 관련 이슈를 점검합니다.
|
|
|
|
## 분석 영역
|
|
|
|
### 1. 데이터베이스 성능
|
|
- JPA/MyBatis 쿼리 분석
|
|
- N+1 문제 확인
|
|
- 인덱스 활용 여부
|
|
- Batch Insert/Update 적용 여부
|
|
|
|
### 2. 메모리 관리
|
|
- 대량 데이터 처리 시 메모리 사용
|
|
- Stream 활용 여부
|
|
- 페이징 처리 적용 여부
|
|
|
|
### 3. 배치 처리
|
|
- Chunk 크기 적절성
|
|
- 병렬 처리 설정
|
|
- Reader/Writer 최적화
|
|
|
|
### 4. 커넥션 관리
|
|
- 커넥션 풀 설정 (HikariCP)
|
|
- 트랜잭션 범위 적절성
|
|
- 커넥션 누수 가능성
|
|
|
|
### 5. 외부 통신
|
|
- HTTP Client 설정 (타임아웃, 커넥션 풀)
|
|
- 재시도 정책
|
|
- Circuit Breaker 패턴 적용
|
|
|
|
## 출력 형식
|
|
|
|
```markdown
|
|
## 성능 체크 결과
|
|
|
|
### 데이터베이스
|
|
- [ ] N+1 문제: [발견 여부]
|
|
- [ ] Batch 처리: [적용 현황]
|
|
- [ ] 인덱스 활용: [상태]
|
|
|
|
### 메모리
|
|
- [ ] 대량 데이터 처리: [상태]
|
|
- [ ] Stream 활용: [적용 여부]
|
|
- [ ] 페이징: [적용 여부]
|
|
|
|
### 배치 처리
|
|
- [ ] Chunk 크기: [값 및 적절성]
|
|
- [ ] 병렬 처리: [설정 상태]
|
|
|
|
### 커넥션 관리
|
|
- [ ] 풀 설정: [상태]
|
|
- [ ] 트랜잭션 범위: [적절성]
|
|
|
|
### 외부 통신
|
|
- [ ] 타임아웃 설정: [상태]
|
|
- [ ] 재시도 정책: [적용 여부]
|
|
|
|
### 우선순위 개선 항목
|
|
1. [항목1] - 예상 효과: [설명]
|
|
2. [항목2] - 예상 효과: [설명]
|
|
```
|
|
|
|
## 인자
|
|
|
|
`$ARGUMENTS`: 특정 영역만 체크 (db, memory, batch, connection, external)
|
|
|
|
예시:
|
|
- `/perf-check` - 전체 체크
|
|
- `/perf-check db` - 데이터베이스만 체크
|
|
- `/perf-check batch` - 배치 처리만 체크
|