파일시스템 압축은 홈 NAS가 저장 작업보다 CPU 작업을 덜 추가할 때 더 빠르게 쓸 수 있게 하지만, 지연 시간을 증가시킬 수도 있습니다.
결과는 NAS가 저장하는 데이터, 사용하는 압축 알고리즘과 수준, 그리고 현재 병목 현상이 프로세서, 드라이브 풀, 또는 동기식 쓰기 경로 중 어디인지에 따라 달라집니다. 이 글은 ZIP 아카이브나 SMB 압축이 아닌 투명 파일시스템 압축에 초점을 맞추는데, 각기 데이터 경로의 다른 단계에서 작동하기 때문입니다.
핵심 절충점: 적은 바이트 기록, 더 많은 CPU 작업
투명 압축은 파일시스템 쓰기 경로 내에 위치합니다. 애플리케이션은 논리적 데이터를 제출하고, 파일시스템은 그 데이터를 레코드나 익스텐트로 나누며, 압축 엔진은 할당 전에 각 단위를 더 적은 바이트로 인코딩하려 시도합니다. 성공하면 저장 풀에 도달하는 블록 수가 줄어듭니다. 투명 파일시스템 압축에 대한 자세한 설명은 레코드 크기, 압축 비율, 물리적 블록 크기가 실제로 절약되는 I/O 양에 어떻게 영향을 미치는지 보여줍니다.
이는 보편적인 속도 향상보다는 교환 관계를 만듭니다. CPU는 반복되는 패턴을 찾는 데 시간을 쓰지만, 디스크, SSD, 패리티 계층 및 저장 버스는 더 적은 물리적 데이터를 처리합니다. 저장 장치 시간이 압축 시간보다 크면 애플리케이션에서 보이는 쓰기 처리량이 증가합니다. CPU가 이미 바쁘거나 데이터가 거의 줄어들지 않으면 이 추가 단계가 쓰기 지연 시간을 늘리고 충분한 I/O 감소를 보상하지 못할 수 있습니다.
보고된 속도는 오해를 불러일으킬 수 있습니다. 복사 도구는 클라이언트로부터 수신한 논리적 바이트를 측정하는 반면, 드라이브 통계는 압축 후 기록된 물리적 바이트를 보여줍니다. 따라서 NAS는 논리적 진행 속도로 500MB/s를 보고할 수 있지만 디스크에는 500MB/s보다 훨씬 적은 데이터가 기록됩니다. 파일시스템 압축은 들어오는 SMB 트래픽을 자동으로 줄이지 않으며, 네트워크 압축이 경로 상 더 이른 단계에서 작동해야 합니다.
압축 가능성이 저장 작업량 감소를 결정합니다
압축은 입력에 재사용 가능한 패턴이 포함되어 있을 때만 작업을 제거합니다. 텍스트, 로그, 소스 코드, 반복된 데이터베이스 필드 및 0으로 채워진 영역은 종종 상당한 중복성을 가지고 있어 크게 축소될 수 있습니다. JPEG, HEVC 비디오, ZIP 아카이브 및 암호화된 파일은 이미 이러한 패턴을 제거하거나 숨겼습니다. 데이터 중복성과 압축 간의 관계는 크기가 같은 두 NAS 폴더가 정반대의 쓰기 성능 결과를 낼 수 있는 이유를 설명합니다.
홈 NAS는 거의 단일 작업 부하만을 보유하지 않으므로, 유용한 질문은 압축이 단독으로 빠른지 여부가 아니라 활성 데이터셋이 자체 쓰기 경로의 가장 느린 부분을 줄일 만큼 충분히 작아지는지 여부입니다.
| 홈 NAS 작업 부하 | 압축 가능성 높음 | 압축으로 작업 이동 | 예상 쓰기 결과 |
|---|---|---|---|
| 로그, JSON, 소스 코드 및 문서 | 높음 | 많은 저장 블록이 CPU 작업으로 대체됨 | 논리적 처리량이 종종 더 높음 |
| VM 이미지 및 데이터베이스 파일 | 가변적 | 제로 값과 반복 페이지는 축소될 수 있으나, 무작위 업데이트는 유지됨 | 작업 부하 및 블록 크기에 따라 다름 |
| RAW 사진 및 압축되지 않은 프로젝트 자산 | 낮음에서 중간 정도 | 일부 디스크 트래픽 제거 | 작은 이득 또는 중립적 결과 |
| JPEG, HEVC, MP3 및 ZIP 아카이브 | 낮음 | CPU가 데이터를 테스트하지만 바이트를 거의 제거하지 않습니다 | 보통 중립적이거나 약간 느림 |
| 암호화된 백업 및 암호화된 볼륨 | 암호화 후 매우 낮음 | 물리적 I/O가 거의 제거되지 않습니다 | CPU 오버헤드가 더 눈에 띕니다 |
순서도 중요합니다. 암호화 전에 압축된 데이터는 여전히 공간을 절약할 수 있지만, 암호문은 일반적으로 나중에 파일 시스템 계층에서 높은 엔트로피로 보입니다. 마찬가지로, 희소하거나 부분적으로 비어 있는 VM 이미지는 내부 운영 체제가 혼합된 콘텐츠를 저장하더라도 잘 압축될 수 있습니다. 파일 확장자는 유용한 단서일 뿐, 파일 시스템이 보는 블록을 신뢰할 수 있는 측정값은 아닙니다.
알고리즘과 압축 수준이 CPU–I/O 교환 비율을 결정합니다
빠른 알고리즘은 낮은 처리 시간과 적당한 크기 감소를 선호하는 반면, 더 무거운 알고리즘은 더 나은 비율을 찾기 위해 더 많은 CPU 시간을 소비합니다. 이는 독립적인 압축 방법 비교에서 볼 수 있는 속도 대 크기 경계와 동일합니다. 항상 켜져 있는 NAS의 경우, 최상의 비율이 반드시 최상의 쓰기 성능을 의미하지는 않습니다. 모든 전경 및 백그라운드 작성자가 동일한 프로세서를 공유하기 때문입니다.
압축 레벨은 그 경계를 더 세분화합니다. 공개된 Zstandard 레벨 측정은 요청된 비율이 높아질수록 압축 속도가 떨어지는 반면, 압축 해제는 비교적 빠르게 유지됨을 보여줍니다. 이는 유휴 하드웨어에서 아카이브 쓰기에 높은 레벨이 매력적이지만, 라이브 데이터베이스, 컨테이너 로그, 여러 클라이언트가 동시에 쓰는 경우에는 잠재적으로 방해가 될 수 있음을 의미합니다.
어떤 알고리즘 레이블도 보편적인 결과를 제공하지 않습니다. 프로세서 세대, 사용 가능한 코어 수, 메모리 대역폭, 구현, 청크 크기, 데이터셋 모두가 중요합니다. 저전력 CPU에서 빠른 알고리즘이 빠른 NVMe 풀 뒤의 병목 현상이 될 수 있는 반면, 느린 디스크가 지배하는 동일한 NAS에서는 더 강력한 알고리즘이 사실상 무료일 수 있습니다.
드라이브 미디어와 쓰기 패턴이 병목 현상을 이동시킵니다
회전식 디스크는 일반적으로 제거된 블록 하나가 상대적으로 비용이 많이 드는 장치 작업을 피하기 때문에 압축이 도움이 될 기회가 더 많습니다. NVMe 풀은 저장소가 한계에 도달하기 전 훨씬 더 많은 데이터를 흡수할 수 있어 압축 CPU 시간을 더 쉽게 드러낼 수 있습니다. 더 넓은 원칙은 CPU 작업이 저장소 I/O를 대체할 수 있다는 것이지만, 실제 하드웨어 균형에 따라 어떤 자원을 사용하는 것이 더 나은지는 다릅니다.
쓰기 형태도 결과를 바꿉니다. 큰 비동기 스트림은 파일 시스템이 작업을 배치하고 병렬 처리할 공간을 제공합니다. 작은 동기 업데이트는 여전히 내구성 확인을 기다리므로, 페이로드 크기를 줄여도 플러시나 저널 커밋의 고정 지연 시간을 제거하지 못할 수 있습니다. 파일 시스템 구현은 또한 특정 단위로 압축을 수행합니다. 예를 들어 현재 Btrfs 압축 동작은 제한된 청크, 병렬 처리, 구현별 규칙을 사용하여 메타데이터 사용과 쓰기 지연 시간을 변경할 수 있습니다.
동시성은 또 다른 경계를 추가합니다. 여러 백업, 앱 데이터베이스, 미디어 가져오기, 컨테이너 작성기가 각각 단독으로는 이점을 누리더라도 함께 CPU를 포화시킬 수 있습니다. 따라서 압축은 네트워크, 메모리, 드라이브, 백그라운드 작업 병목 현상과 함께 해석되어야 하며, 특히 처리량이 예약된 작업이나 다중 사용자 활동 중에만 떨어질 때 더욱 그렇습니다.
압축 벤치마크는 논리적 작업과 물리적 작업을 모두 비교해야 합니다
제로나 반복 바이트로 채운 벤치마크는 압축된 파일 시스템이 드라이브가 실제로 쓸 수 있는 속도보다 빠른 것처럼 보이게 할 수 있습니다. 이 결과는 논리적 작업 부하에 대해 수학적으로는 맞을 수 있지만 사진 아카이브나 암호화된 백업에는 쓸모없습니다. 일반적인 저장 장치 벤치마크 오류에는 매우 압축 가능한 테스트 데이터, 캐시된 읽기, 플러시되지 않은 쓰기, 애플리케이션 처리량과 장치 활동 비교 실패가 포함됩니다.
의미 있는 홈 NAS 테스트는 동일한 하드웨어, 데이터 세트, 클라이언트 경로, 백그라운드 부하를 사용해 압축을 켜고 끈 상태를 비교합니다. 논리적 처리량, 물리적 장치 바이트, CPU 사용률, 압축 비율, 쓰기 지연 시간을 기록합니다. 동기식 또는 다중 클라이언트 작업 부하에서는 단일 최고 MB/s 수치보다 백분위 지연 시간이 더 유용합니다. 짧은 지연이 높은 평균 속도 안에 숨겨질 수 있기 때문입니다.
최종 해석은 조건적입니다. 물리적 쓰기가 급격히 줄고 CPU가 포화 상태에 이르지 않으면 압축이 처리량 증폭기로 작용하는 것입니다. 비율이 1:1에 가깝고 CPU나 지연이 증가하면 대부분 추가 작업입니다. 네트워크가 이미 한계라면 클라이언트 복사 완료 시간을 단축하지 않고도 저장 장치가 더 효율적일 수 있습니다.
자주 묻는 질문
파일 시스템 압축이 항상 NAS 쓰기를 느리게 하나요?
아니요. 압축 가능한 데이터와 저장 병목 현상이 있을 때 저장된 I/O가 CPU 비용을 상쇄하면 논리적 쓰기 처리량이 증가할 수 있습니다. 고엔트로피 데이터, 제한된 CPU 여유, 공격적인 압축 수준, 또는 지연에 민감한 쓰기에서는 중립적이거나 느려질 수 있습니다.
어떤 홈 NAS 파일이 압축으로 가장 큰 혜택을 받나요?
로그, 텍스트, 소스 코드, 반복되는 구조화된 데이터, 그리고 부분적으로 비어 있는 가상 디스크가 일반적인 후보입니다. 이미 압축된 미디어, 아카이브, 암호화된 데이터는 보통 이점이 적지만, 실제 결과는 파일 이름보다는 블록 내용에 따라 달라집니다.
파일 시스템 압축이 SSD 마모를 줄일 수 있나요?
블록이 잘 압축될 때 SSD에 기록되는 호스트 데이터를 줄여 장치 작업 부하의 일부를 낮출 수 있습니다. 그러나 컨트롤러 수준의 가비지 컬렉션이나 쓰기 증폭을 제거하지는 않으므로 내구성 향상은 파일 시스템, 작업 부하, 여유 공간 및 SSD 펌웨어에 따라 달라집니다.
기술 및 AI 허브
더 읽어보기

홈 AI 서버는 각 사용자의 컨텍스트를 어떻게 분리하나요?
홈 AI 서버는 동일한 모델을 공유하면서도 각 사용자의 컨텍스트를 분리할 수 있지만, 그 분리는 모델 자체에서 오는 것이 아닙니다. 모든 채팅, 메모리 기록, 검색된...

모델 제거가 홈 AI 서버에서 지연 시간 급증을 유발하는 이유는 무엇인가요?
모델 퇴출은 홈 AI 서버가 가중치를 다시 로드하고 런타임 상태를 재구성하도록 강제합니다. 콜드 스타트를 확인하고 첫 응답 지연 시간을 줄이는 방법을 알아보세요.

NAS 마이그레이션 중 타임스탬프를 가장 안전하게 보존하는 방법은 무엇인가요?
필수 필드를 정의하고, 메타데이터 인식 복사 경로를 테스트하며, 소스 매니페스트를 기록하고, 콘텐츠와 메타데이터를 별도로 검증하며, 전환 검증이 완료될 때까지 기존 NAS를 유지하여 NAS 타임스탬프를...

