프로젝트/WelKo

채팅 성능 테스트

juni_shin 2025. 3. 12. 17:23

채팅 관련 로직 개선 전

// ChatList 컴포넌트 마운트 시
ChatList Performance Metrics: {
  renderTime: "156.42ms",      // 초기 렌더링 시간
  memoryUsage: "24.85MB",      // 메모리 사용량
  renderCount: 1               // 렌더링 횟수
}

// ChatRoom 컴포넌트 (각각)
ChatRoom Performance Metrics: {
  renderTime: "12.31ms",       // 개별 채팅방 렌더링 시간
  memoryUsage: "0.45MB",       // 추가 메모리 사용량
  renderCount: 1               // 렌더링 횟수
}

// 채팅방 입장 시
Chat Performance Metrics: {
  renderTime: "89.76ms",       // 채팅방 초기 로딩 시간
  memoryUsage: "18.32MB",      // 메모리 사용량
  renderCount: 1               // 렌더링 횟수
}

// 메시지 전송 시
Chat Performance Metrics: {
  renderTime: "45.23ms",       // 메시지 전송 후 리렌더링 시간
  memoryUsage: "19.15MB",      // 메모리 사용량
  renderCount: 2               // 누적 렌더링 횟수
}

// 실시간 메시지 수신 시
// 채팅방에서
Chat Performance Metrics: {
  renderTime: "28.45ms",       // 새 메시지 수신 시 리렌더링 시간
  memoryUsage: "19.42MB",      // 메모리 사용량
  renderCount: 3               // 누적 렌더링 횟수
}

// 채팅 목록에서
ChatList Performance Metrics: {
  renderTime: "34.67ms",       // 목록 업데이트 시간
  memoryUsage: "25.12MB",      // 메모리 사용량
  renderCount: 2               // 누적 렌더링 횟수
}

 

채팅 관련 로직 개선 후

-> 데이터 동기화 로직 단순화, 불필요한 리랜더링 제거, 서버 코드 개선

// ChatList 컴포넌트 마운트 시
ChatList Performance Metrics: {
  renderTime: "142.18ms",      // 초기 렌더링 시간 (9% 개선)
  memoryUsage: "23.12MB",      // 메모리 사용량 (7% 개선)
  renderCount: 1               // 렌더링 횟수 (동일)
}

// ChatRoom 컴포넌트 (각각) -> 챗리스트 컴포넌트와 병합하여 각각의 채팅방 랜더링 시간으로 계산
ChatRoom Performance Metrics: {
  renderTime: "11.85ms",       // 개별 채팅방 렌더링 시간 (4% 개선)
  memoryUsage: "0.42MB",       // 추가 메모리 사용량 (7% 개선)
  renderCount: 1               // 렌더링 횟수 (동일)
}

// 채팅방 입장 시
Chat Performance Metrics: {
  renderTime: "85.34ms",       // 채팅방 초기 로딩 시간 (5% 개선)
  memoryUsage: "17.85MB",      // 메모리 사용량 (3% 개선)
  renderCount: 1               // 렌더링 횟수 (동일)
}

// 메시지 전송 시
Chat Performance Metrics: {
  renderTime: "32.15ms",       // 메시지 전송 후 리렌더링 시간 (29% 개선)
  memoryUsage: "18.45MB",      // 메모리 사용량 (4% 개선)
  renderCount: 1               // 누적 렌더링 횟수 (50% 개선)
}

// 실시간 메시지 수신 시
Chat Performance Metrics: {
  renderTime: "25.32ms",       // 새 메시지 수신 시 리렌더링 시간 (11% 개선)
  memoryUsage: "18.95MB",      // 메모리 사용량 (2% 개선)
  renderCount: 1               // 누적 렌더링 횟수 (66% 개선)
}

// 채팅 목록에서
ChatList Performance Metrics: {
  renderTime: "28.45ms",       // 목록 업데이트 시간 (18% 개선)
  memoryUsage: "24.35MB",      // 메모리 사용량 (3% 개선)
  renderCount: 1               // 누적 렌더링 횟수 (50% 개선)
}