Skip to content

성능 테스트를 위한 대용량 더미 데이터 삽입 #365

@mangsuyo

Description

@mangsuyo

📄 설명

현재 운영 DB는 데이터 규모가 가장 큰 테이블도 약 3,000건 수준으로, 데이터 양이 부족하여 신뢰성 있는 성능 측정이 어렵습니다.

이에 개발 서버에 수백만 건의 더미 데이터를 구축하여, 향후 예상되는 쿼리 지연 및 부하를 미리 식별하고 선제적으로 개선하고자 합니다.

🖥️ EC2 t2.micro 리소스 현황

현재 개발 서버로 사용 중인 EC2 t2.micro 인스턴스의 리소스 현황을 측정한 결과, 대용량 데이터 처리 작업에 명백한 한계가 있음을 확인했습니다.

  1. 메모리(RAM) 상태
              total        used        free      shared  buff/cache   available
Mem:          949Mi       623Mi        72Mi       1.0Mi       253Mi       183Mi
Swap:         2.0Gi       568Mi       1.4Gi

전체 물리 메모리(RAM)는 약 1GB에 불과하며, 현재 가용 가능한 메모리(available)는 183MB로 매우 낮습니다.

여기에 메모리를 많이 사용하는 Spring Batch 작업을 실행할 경우, 극심한 성능 저하 또는 시스템 다운으로 이어질 확률이 매우 높습니다.

  1. 디스크(EBS) 상태
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           475M     0  475M   0% /dev/shm
tmpfs           190M  484K  190M   1% /run
/dev/xvda1      8.0G  6.1G  2.0G  76% /
tmpfs           475M  524K  475M   1% /tmp
/dev/xvda128     10M  1.3M  8.7M  13% /boot/efi
tmpfs            95M     0   95M   0% /run/user/1000

메인 디스크(/dev/xvda1)의 전체 용량은 8GB이며, 현재 사용 가능한 공간은 2.0GB에 불과합니다.

우리가 목표로 하는 수백만 건의 데이터는, 데이터 자체의 크기뿐만 아니라 빠른 조회를 위한 인덱스(Index) 생성 시 상당한 추가 공간을 요구합니다.

✅ TO-DO-LIST

  • Spring Batch를 이용한 더미 데이터 삽입 환경 구축
  • 더미 데이터 생성 및 삽입

🤔 고민해볼 점

데이터의 평균 크기 및 cpu, 메모리 사용량을 기반으로 수백만 건의 데이터를 삽입하기 위해 업 스케일을 진행해야할지 추후 공유하도록 하겠습니다.


🙋🏻 참고 자료

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions