Skip to main content

EFS vs FSx for Lustre 비교 분석 (실제 테스트 결과 포함)

BLAST 파일 시스템 성능 비교 테스트

1. 테스트 환경 구성

1.1 인프라 설정

EC2 인스턴스

  • 타입: c5n.9xlarge (36 vCPU, 96GB RAM, 50 Gbps 네트워크)
  • AMI: Amazon Linux 2023
  • 배치: 동일 AZ에 FSx/EFS 배치
  • 수량: 2대 (동시 테스트용)

스토리지

  • FSx for Lustre: Scratch 2, 1.2 TB (1,200 MB/s 처리량)
  • EFS: Max I/O 모드, 버스팅 처리량
  • 둘 다 동일 VPC/서브넷

2. 실제 테스트 결과 (2026-01-06)

테스트 환경

인프라 구성 (ap-northeast-2)

구성요소 상세
EC2 인스턴스 r6i.24xlarge / r7i.24xlarge (96 vCPU, 768 GB RAM)
EFS fs-0d2d032d1cca25f3f, Elastic 처리량 모드
FSx Lustre fs-0d75b85b2d9519a04, Scratch 2, 1.2 TB, S3 통합
BLAST 데이터베이스 core_nt (NCBI NT Core, ~254 GB)
AWS Batch 64 vCPU, 512 GB Memory Job Definition

쿼리 파일

파일명 시퀀스 수 크기
query.fasta 500 77 KB
query_5000.fasta 5,000 755 KB
query_50000.fasta 50,000 7.4 MB
query_500000.fasta 500,000 74 MB

3. EFS 테스트 결과

BLAST 성능 측정 (EFS Elastic 처리량 모드)

시퀀스 수 BLAST 실행 시간 총 작업 시간 시퀀스당 처리 시간
500 209초 224초 0.42초
5,000 213초 238초 0.043초
50,000 336초 352초 0.0067초
500,000 ~1,490초 ~1,507초 0.003초

주요 관찰 사항

  1. 데이터베이스 로딩 오버헤드: ~200초 (BLAST 시작 시 데이터베이스 초기 로딩)
  2. 시퀀스 증가에 따른 선형 확장: 1,000배 시퀀스 증가 시 약 7배 처리 시간 증가
  3. 병렬 처리 효율: 64 vCPU에서 높은 CPU 활용률

EFS 비용 분석 (ap-northeast-2)

비용 항목 단가 계산
스토리지 (254 GB) $0.36/GB-month $91.56/month
읽기 처리량 (Elastic) $0.043/GB BLAST 작업당 ~$17
일일 테스트 비용 ~$70+ (처리량)

4. FSx for Lustre 테스트 결과

인프라 구성

  • FSx Lustre: fs-0d75b85b2d9519a04, Scratch 2, 1.2 TB
  • S3 Data Repository: s3://blast-nt-lustre-apne2-664263524008/nt/
  • 마운트 경로: /blast-lustre-data (Launch Template v5)
  • 데이터베이스: core_nt (254 GB, 78개 청크 파일)

Hydration 테스트

문제점 발견: FSx for Lustre의 S3 Data Repository는 "Lazy Loading" 방식으로 동작

  • 파일이 S3에만 있고, FSx에서 처음 접근 시 hydration 발생
  • 첫 접근 시 S3→FSx 데이터 전송으로 인해 심각한 성능 저하

Hydration 방법 테스트:

  1. dd 명령어 기반: 모든 파일을 순차적으로 읽어 hydration (1,075초, 18분 소요)
  2. lfs hsm_restore 기반: AWS 권장 병렬 hydration 방식 (검증 완료, 0초 - 이미 hydration됨)

FSx BLAST 성능 측정

v11 테스트 (S3 Lazy Loading 영향 받음)

시퀀스 수 BLAST 실행 시간 비고
500 1,266초 부분 hydration
5,000 3,959초 S3에서 hydration 중
50,000 238초 Hydration 완료 후 - 매우 빠름
500,000 19,318초 S3에서 hydration 중

v13 테스트 (Full Hydration 후, 4개 작업 동시 실행)

시퀀스 수 BLAST 실행 시간 EFS 대비
500 3,324초 (55분) 16배 느림
5,000 1,853초 (31분) 8.7배 느림
50,000 11,755초 (3.3시간) 35배 느림
500,000 37,935초 (10.5시간) 25배 느림

FSx 성능 분석

예상과 다른 결과의 원인

  1. 처리량 공유 문제:

    • FSx Scratch 2 (1.2 TB) 기본 처리량: 240 MB/s (200 MB/s/TiB × 1.2 TiB)
    • 4개 작업 동시 실행 시: 작업당 ~60 MB/s
    • 254 GB 데이터베이스 읽기: 60 MB/s로 70분+ 소요
  2. 버스트 크레딧 소진:

    • 버스트 처리량: 최대 ~1.44 GB/s
    • 크레딧 기반으로 장시간 워크로드에서 소진됨
  3. v11 50,000 테스트가 빨랐던 이유:

    • 단일 작업 실행으로 전체 처리량 독점
    • 이전 hydration으로 데이터가 FSx 캐시에 존재

FSx Lustre 처리량 상세 사양

항목 Scratch 2 (1.2 TB) Persistent 2 (1000 MBps/TiB)
기본 처리량 240 MB/s 1,200 MB/s
버스트 처리량 ~1,440 MB/s (크레딧) 해당 없음
4개 동시 작업 시 60 MB/s/작업 300 MB/s/작업

FSx Lustre 비용 (ap-northeast-2)

비용 항목 단가 계산
스토리지 (1.2 TB) $0.14/GB-month $168/month
처리량 스토리지에 포함 $0 추가 비용
S3 Data Repository S3 표준 요금 ~$6/month

5. 비용 비교 분석

월간 비용 시나리오

시나리오 1: 간헐적 사용 (주 1-2회, 일일 1시간)

스토리지 월 스토리지 비용 월 처리량 비용 총 비용
EFS Elastic $91.56 ~$280 (8회 × $35) ~$371
FSx Lustre $168 $0 $168

시나리오 2: 집중 사용 (일일 수십 회)

스토리지 월 스토리지 비용 월 처리량 비용 총 비용
EFS Elastic $91.56 ~$2,100+ $2,191+
FSx Lustre $168 $0 $168

손익분기점 분석

  • 일일 4회 이상 BLAST 실행 시: FSx Lustre가 더 경제적
  • 주 1회 미만: EFS가 더 경제적 (스토리지 비용만 발생)

6. 최종 권장사항 (실제 테스트 결과 기반)

주요 발견사항

  1. FSx Scratch 2는 BLAST 워크로드에 부적합:

    • 1.2 TB Scratch 2의 기본 처리량(240 MB/s)이 다중 작업 시 병목
    • 4개 동시 작업 시 작업당 60 MB/s로 EFS 대비 8-29배 느림
    • S3 Data Repository의 Lazy Loading으로 첫 접근 시 심각한 지연
  2. EFS Elastic이 BLAST 워크로드에 적합:

    • 워크로드에 따른 자동 처리량 확장
    • 다중 작업 시에도 안정적인 성능
    • 설정 및 관리가 간편

EFS 추천 ✅ (BLAST 워크로드)

테스트 결과:

시퀀스 수 EFS BLAST 시간 FSx v13 BLAST 시간 성능 비교
500 209초 3,324초 (55분) EFS 16배 빠름
5,000 213초 1,853초 (31분) EFS 8.7배 빠름
50,000 336초 11,755초 (3.3시간) EFS 35배 빠름
500,000 ~1,490초 37,935초 (10.5시간) EFS 25배 빠름

장점:

  1. 탄력적 처리량: 워크로드에 따라 자동 확장
  2. 안정적 성능: 다중 작업 시에도 일관된 성능
  3. 간편한 설정: AWS Batch ECS 네이티브 지원
  4. 다중 AZ 내구성: 높은 가용성

권장 사용 사례:

  • 모든 BLAST 워크로드 (소규모~대규모)
  • 다중 사용자 동시 접근 환경
  • 빠른 구축이 필요한 경우

FSx for Lustre 고려 시 (조건부)

FSx가 적합할 수 있는 경우:

  1. 단일 작업 순차 실행: 전체 처리량을 독점할 수 있는 경우
  2. Persistent 2 타입 사용: 1000 MBps/TiB 이상의 높은 처리량
  3. 더 큰 용량 프로비저닝: 처리량이 용량에 비례 (3.6 TB = 720 MB/s)
  4. 직접 데이터 복사: S3 Data Repository 대신 DataSync로 직접 복사

FSx 성능 개선을 위한 권장사항:

  • Scratch 2 대신 Persistent 2 (1000 MBps/TiB) 사용
  • 최소 3.6 TB 이상 프로비저닝 (720 MB/s 기본 처리량)
  • S3 Data Repository 대신 DataSync로 직접 데이터 복사
  • 사전 hydration 필수 (lfs hsm_restore 사용)

비용 대비 성능 최종 비교

항목 EFS Elastic FSx Scratch 2 (1.2 TB)
월 스토리지 비용 $91.56 $168
월 처리량 비용 사용량 기반 포함
500 시퀀스 처리 209초 3,324초
5,000 시퀀스 처리 213초 1,853초
다중 작업 성능 안정적 급격히 저하
권장도 ⭐⭐⭐⭐⭐ ⭐⭐

7. 실제 비용 분석 (2026-01-06~07)

테스트 기간 발생 비용

서비스 일일 비용 (USD) 비고
EC2 Compute $234.97 Batch 작업 인스턴스
EC2 Other $58.44 EBS, 네트워크
EFS $69.65 스토리지 + 처리량
FSx $87.34 Scratch 2 스토리지
S3 $9.42 FSx Data Repository
합계 $459.82

작업당 비용 분석

EFS 테스트 비용

시퀀스 수 실행 시간 EC2 비용 EFS 처리량* 합계
500 209초 $0.35 $10.93 $11.28
5,000 213초 $0.36 $10.93 $11.29
50,000 336초 $0.56 $10.93 $11.49
500,000 1,490초 $2.50 $10.93 $13.43

*EFS 처리량: 254 GB × $0.043/GB = $10.93/작업

FSx 테스트 비용 (v13)

시퀀스 수 실행 시간 EC2 비용 FSx 처리량 합계
500 3,324초 $5.58 $0 $5.58
5,000 1,853초 $3.11 $0 $3.11
50,000 11,755초 $19.74 $0 $19.74
500,000 37,935초 $63.72 $0 $63.72

총 소유 비용 (TCO) 비교 - 500,000 시퀀스 기준

항목 EFS FSx Scratch 2
인프라 비용 $13.43 $63.72
대기 시간 비용* $21 $525
총 TCO $34.43 $588.72

*연구원 시간 비용 $50/시간 가정

월간 비용 예측 (일일 1회 500K 시퀀스)

항목 EFS FSx Scratch 2
스토리지 $91.56 $168
처리량 $328 $0
EC2 $75 $1,912
월 총계 $495 $2,080

ROI 요약

  • EFS가 FSx Scratch 2 대비 4.2배 저렴 (월간 기준)
  • EFS가 FSx 대비 25배 빠름 (500K 시퀀스)
  • 총 TCO 기준 EFS가 17배 더 경제적

8. 개선 권장 사항

BLAST 워크로드 최적화

  1. EFS Elastic 사용: 처리량 자동 확장으로 최적 성능
  2. Spot 인스턴스: EC2 비용 60-80% 절감 가능
  3. 병렬 처리: 큰 쿼리를 분할하여 동시 실행

FSx 사용 시 권장 구성 (필요시)

  1. Persistent 2 타입: 1000 MBps/TiB 이상
  2. 최소 4.8 TB: 960 MB/s 기본 처리량 확보
  3. 직접 데이터 복사: S3 Data Repository 대신 DataSync 사용
  4. 사전 hydration 필수: lfs hsm_restore 사용

테스트 일자: 2026-01-06~07 테스트 환경: AWS ap-northeast-2 (서울) 분석자: Claude Code