OpenZFS로 성능과 비용, 두 마리 토끼 잡기
박명순 · 토스 · 토스 기술 블로그
소개
토스페이먼츠 DevOps 엔지니어가 스토리지 파일 시스템을 OpenZFS로 변경하면서 성능은 높이고 비용은 절감한 과정을 소개합니다.
AI 핵심 요약
Elasticsearch Warm 존에서 저렴한 st1 볼륨을 사용한 결과, 로그 조회 시간이 Hot 존보다 두세 배 느려졌지만 비용 때문에 gp3로 바꾸기는 어려웠습니다. 팀은 fio로 EBS 볼륨과 OpenZFS 설정을 비교하고, 실제 읽기·쓰기 블록 크기에 맞춰 recordsize와 볼륨 개수를 실험했으며 LZ4 압축도 성능 저하가 크지 않은지 확인했습니다. 그 결과 st1 2TB 볼륨 4개에 OpenZFS를 적용하고 recordsize를 128k로 설정해 기존 8TB st1 단일 볼륨과 ext4 구성보다 성능을 약 2.7배 높였습니다. 스토리지 성능은 볼륨 유형뿐 아니라 EBS의 버스트 특성, 파일 시스템 설정, 워크로드를 함께 측정해 최적화해야 한다는 점을 얻었습니다.
- fio 테스트는 실제 서비스의 I/O 패턴과 블록 크기를 반영하고, st1의 버스트 크레딧 영향을 줄이도록 충분히 길게 실행하세요.
- OpenZFS의 recordsize는 파일 시스템 기본값을 무조건 따르기보다 워크로드의 평균 읽기·쓰기 크기에 맞춰 비교해야 합니다.
- LZ4 압축은 테스트 데이터와 실제 데이터 특성을 고려해 성능 영향을 검증한 뒤 적용하세요.
- EBS 볼륨을 여러 개로 나누면 성능이 높아질 수 있지만, 일정 개수 이후에는 개선 폭과 운영 편의성을 함께 따져야 합니다.
비슷한 학습 자료
토스ㅣSLASH 24 - Kubernetes CPU 알뜰하게 사용하기
SLASH · YouTube
토스ㅣSLASH 23 - 프로파일러로 시스템 성능 향상시키기
SLASH · YouTube
고객은 절대 기다려주지 않는다: 빠른 데이터 서빙으로 고객 만족도를 수직 상승 시키는 법
이세찬 · 토스 기술 블로그
고성능 GPU 클러스터 도입기 #2: 이주하는 데이터
김진웅 · 토스 기술 블로그
SSR 서버 최적화로 비용 아끼기
정진우/문현경 · 토스 기술 블로그
대규모 로그 처리도 OK! Elasticsearch 클러스터 개선기
이준환 · 토스 기술 블로그