DB 회원 찾기 메시지 auth check
Redis에서 memberID를 읽는 getMemberIdFromRequest() DB를 타격하지 않고 세션. 대신 getMessages()에서 사용 getCurrentMember() — 회원국은 이제는 null을 체크했습니다. 절대 사용. 모든 채팅 기록로드에서 하나의 DB 라운드 트...
Eliminate OTK Redis overhead and proxy log noise for message fetches
- Bypass OTK generation in the MediaService proxy route: forward the *** cookie directly instead of generating a one-time key, removing 4 Redis round-trips ...
Overhead와 async TTL를 삭제
- k8s configmap (실제 생산 구성) : 낮은 보안 / hikari INFO/DEBUG에서 WARN 로깅, HikariCP 풀 구성 추가 (최대 20) - KSessionService: 스트립 ~60 System.out.println 호출에 화재 128-char 세션 키의 문...
로그 소음 및 튜닝 연결 풀 감소
- TRACE에서 WARN, HikariCP, DEBUG에서 WARN - 비동기 로그의 수십 가지를 요청당 작성 제거 - HikariCP 풀 구성 추가 (최대 20, 최소 5) 방지 concurrent 짐의 밑에 연결 배기 - getCurrentMember에서 14 per-request...
응답 N+1를 삭제하는 동일한 질에 있는 Fetch 부모 메시지
별명으로 m.msg와 LEFT 합동 FETCH msg.parent 그래서 실을 꿰는 대답 메시지는 부모가 초기 쿼리에로드되어 있습니다. 응답 당 별도의 SELECT 트리밍
채팅 메시지 로딩 성능 향상
- Cache getCurrentMemberId()는 반복 /api/user-info를 방지하기 위해 ref에서 발생합니다. 각 WebSocket 메시지에 통화 및 표시 표시 표시 - 메시지 역사 fetch 및 Promise.all과 사용자 정보 fetch를 평행화, 초기 부하 대기시간...
채팅 메시지 endpoint에서 per-message 로깅 제거
시스템 제거.out.println 메시지 스트림 맵 내부 호출 메시지 당 한 번 제출 (100 요청당 I / O 운영), 최종 로그인하여 회원 ID 수집
N+1 쿼리 수정 및 채팅 메시지 로딩에 대한 복합 인덱스 추가
- LEFT JOIN FETCH m.msg를 eagerly 로드에 저장소 모두 추가 같은 쿼리에 MediaObjMsg, 최대 100 추가 SQL 쿼리 제거 채팅 창 열기 - 복합 지수 (SESSION ID, IS REMOVED, DATE CREATED) 추가 단일 효율적인 인덱스 스캔에...
Batch-load custom form data in getAllLeads (eliminate N+1)
Replace per-lead getCustomFormDataForLead calls (N+1 queries) with a single batch load via getCustomFormDataForLeads, grouped by lead ID using a Map lookup when...
리드 엔드포인트에 풀테이블 스캔 및 N+1 쿼리를 제거
- LeadRepository: findByOrganizationId JPQL 쿼리 추가 (ORG ID 인덱스 사용) 대신 전체 LEADS 테이블을로드하고 Java에서 필터링 - LeadCustomFormDataRepository : 일괄 로딩에 대한 findByLeadIn 추가 한 쿼...
시각적인 매력을 유지하면서 40-50%의 페이지 성능 최적화
- 초기 번들 크기를 줄이기 위해 Lazy load Swiper 배경 carousel - 불필요한 렌더링을 방지하기 위해 부품 (ThemeLogo, BrandIcon, LazySwiperBackground)을 제거 - GPU 가속 및 감소 된 blur 효과와 애니메이션 최적화 - 빠른 ...
Refactor to parallel deployment for k1m1 and k2m1
- Split build and deployment into separate jobs - Deploy to k1m1 and k2m1 in parallel after build completes - Reduces total deployment time significantly
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소
Revert to docker driver for faster builds - removes docker-container overhead
더 빠른 빌드를 위한 docker 드라이버로 바꾸기
- docker-container 드라이버는 초기화 오버 헤드를 추가합니다. - 빠른 구조 (<3min)를 위해, 도커 운전사는 능률적입니다 - 제거된 캐시 옵션 (Doller 드라이버에 의해 지원되지 않음)
Switch to docker-container driver with cache for optimal build performance
Switch to docker-container driver with cache for 최적의 빌드 성능
Switch to docker-container driver with cache for 최적의 빌드 성능
Switch to docker-container driver with cache for 최적의 빌드 성능
Switch to docker-container driver with cache for 최적의 빌드 성능
Switch to docker-container driver with cache for 최적의 빌드 성능
- 더 나은 성능을 위한 docker 드라이버 대신 docker-container 드라이버 사용 - Re-enable cache-from and cache-to 빠른 후속 빌드 - docker-container 드라이버는 캐시 수출 / 항구를 지원하며 일반적으로 더 빠릅니다