시놀로지 SSD 캐시, 정말 빨라질까 — DS423+ 읽기 전용 캐시 체감과 작동 원리

들어가며

시놀로지 NAS에 SSD 캐시를 달면 빨라진다는 이야기를 듣고 저도 하나 달았습니다. 그런데 막상 쓰면서 느낀 첫인상은 “생각보다 체감이 크지 않다”였습니다.

처음에는 “괜히 달았나” 싶었지만, 저장소 관리자에서 캐시 적중률(hit rate)을 들여다보니 이야기가 달라졌습니다. 이 숫자가 볼 때마다 96%였다가 39%였다가 요동치고 있었거든요. 그 이유를 따라가 보니, SSD 캐시는 “효과가 있다/없다”로 잘라 말할 물건이 아니라, “어떤 작업에서 언제 효과가 나는지”가 정해져 있는 물건이라는 걸 알게 됐습니다.

이 글에서는 먼저 캐시가 어떻게 동작하는지 원리를 짚고, 그 원리대로 제 NAS에서 실제로 무슨 일이 일어났는지 실측으로 확인해 보겠습니다.

제 셋업

  • NAS: 시놀로지 DS423+ (4베이)
  • 캐시: 256GB SSD(실사용 약 238GB), 읽기 전용(read-only) — 기본 제공 M.2 슬롯
  • 저장: HDD 스토리지 풀(볼륨1, 대용량) + 별도 512GB SSD 볼륨(볼륨2)
  • 네트워크: 2.5GbE

시놀로지 저장소 관리자 개요 — 4베이 HDD와 기본 제공 M.2 슬롯, 볼륨1/볼륨2 구성

여기서 중요한 구조 하나. 사진 데이터는 HDD 스토리지 풀(볼륨1)에 저장되고, 그 앞단에서 256GB M.2 SSD가 읽기 캐시 역할을 합니다. 즉 “느린 HDD” 앞에 “빠른 SSD”를 한 겹 세워둔 구성입니다. 이 구조를 기억해 두시면 뒤의 실측이 쉽게 이해됩니다.

먼저, SSD 읽기 캐시는 어떻게 동작하나

읽기 전용 SSD 캐시의 원리는 단순합니다.

  • 데이터를 읽을 때마다, NAS는 그 데이터 조각을 빠른 SSD에도 복사해 둡니다.
  • 다음에 같은 데이터를 다시 요청하면, 느린 HDD 대신 SSD에서 바로 꺼내 줍니다. 이걸 **캐시 적중(hit)**이라고 합니다.
  • 캐시에 없는 데이터를 처음 읽을 때는 어쩔 수 없이 HDD에서 읽습니다. 이걸 **캐시 미스(miss), 또는 콜드 리드(cold read)**라고 합니다. 이때는 캐시가 없는 것과 속도가 같습니다.
  • 캐시 용량은 유한하므로, 새 데이터가 들어오면 오래 안 쓴 데이터부터 밀려납니다. 즉 캐시에는 대체로 “최근에 자주 읽은 것”만 남습니다.

여기서 핵심은 HDD가 어떤 작업에 약한가입니다. HDD는 큰 파일을 쭉 읽는 순차 읽기에는 의외로 강합니다. 반대로 작은 파일 여러 개를 여기저기서 읽는 랜덤 읽기에는 헤드가 물리적으로 움직여야 해서 크게 느려집니다. SSD는 이 랜덤 읽기 지연이 사실상 없습니다.

그래서 SSD 캐시가 진짜 빛나는 구간은 “작은 파일을 반복적으로, 랜덤하게 읽는 작업”입니다. 사진 썸네일 수백 장 불러오기, 파일 목록·메타데이터 조회, 도커/DB의 잦은 소규모 접근 같은 것들입니다.

그래서 일반적인 사용에선 체감이 크지 않습니다

원리를 알고 나면, 왜 평소에 체감이 별로 없었는지가 설명됩니다.

  • 대용량 순차 작업엔 도움이 거의 없습니다. 영화 스트리밍이나 큰 파일 하나 전송 같은 건 HDD도 이미 충분히 빠르고, 그마저도 네트워크(제 경우 2.5GbE, 약 280MB/s)가 병목이라 캐시가 낄 자리가 없습니다.
  • 처음 읽는 데이터엔 효과가 없습니다. 캐시는 “다시 읽을 때” 빨라지는 구조라, 새 파일·안 보던 폴더는 첫 접근에서 무조건 HDD 속도입니다.
  • 캐시 용량이 전체 데이터보다 작습니다. 제 캐시는 238GB인데 사진첩 전체는 그보다 훨씬 큽니다. 결국 캐시는 **자주 쓰는 일부(워킹셋)**만 담을 수 있습니다.

즉 NAS를 “큰 파일 저장고”로 쓰는 일반적인 패턴에서는, 캐시가 개입할 여지 자체가 적습니다. 제가 처음에 “체감이 없다”고 느낀 건 이 때문이었습니다.

그런데 특정 작업에선 효과가 분명히 보입니다 — 사진 스크롤

효과가 드러나는 건 앞서 말한 “작은 파일 반복 랜덤 읽기”를 할 때입니다. 제게는 그게 모바일 시놀로지 포토로 사진첩을 넘겨보는 작업이었습니다. 여기서 적중률의 정체도 함께 풀립니다.

DSM → 저장소 관리자 → SSD 캐시의 적중률을 보면 값이 계속 달라집니다.

SSD 캐시 적중률 96%

SSD 캐시 적중률 39% — 같은 캐시, 몇 분 뒤

캐시 용량도 상태도 그대로인데 적중률만 요동칩니다. 답은 “그 사이에 무엇을 읽고 있었는가”에 있었습니다. 사진 앱은 최신 사진부터 과거 순으로 정렬되는데, 스크롤 위치에 따라 화면이 이렇게 갈렸습니다.

최신 사진 구간 — 썸네일이 즉시 꽉 참
최신 구간 · 썸네일 즉시 표시 (적중률 높음)
과거 사진 구간 — 회색 빈칸과 미표시 썸네일 다수
과거 구간 · 미로드 썸네일 다수 (적중률 하락)
  • 최신 사진 구간: 썸네일이 바로바로 뜹니다. 이때 적중률은 높습니다(96%). 최근 사진은 자주 봐서 캐시에 올라와 있기 때문입니다.
  • 과거 사진 구간: 로드되지 않은 썸네일이 나타나기 시작합니다. 이미지가 뒤늦게 채워지고, 이때 적중률은 떨어져 있습니다(39%). 오래된 사진은 캐시 용량 밖으로 밀려나 콜드 리드, 즉 HDD에서 새로 읽는 상태이기 때문입니다.

과거 구간으로 스크롤하면 썸네일이 뒤늦게 채워진다

정리하면, 적중률 96%↔39%의 출렁임은 제가 지금 캐시 안쪽(최신)을 보고 있느냐, 바깥쪽(과거)을 보고 있느냐를 그대로 반영한 값이었습니다. 그리고 최신 구간에서 썸네일이 즉시 뜨는 것 자체가, 캐시가 이 작업에서는 확실히 일하고 있다는 증거입니다.

”체감이 없다”는 인상의 진짜 정체

이렇게 보면 제 첫인상은 두 가지 착각이 겹친 결과였습니다.

  • 최신 사진은 캐시 덕에 이미 빨라서 → 그게 캐시 덕인 줄 몰랐고,
  • 과거 사진은 캐시를 달아뒀는데도 여전히 느려서 → “소용없나” 싶었습니다.

하지만 과거가 느린 건 캐시가 고장 나서가 아니라, 애초에 캐시 용량 밖이라 도울 수 없는 구간이기 때문입니다. 캐시는 사진첩 전체를 빠르게 만들어 주는 물건이 아니라, 최근 워킹셋만 빠르게 만들어 주는 물건입니다. 스크롤을 내리다 썸네일이 느려지기 시작하는 그 지점이, 바로 캐시 용량의 경계입니다.

그럼 캐시를 더 키우면 되지 않나

이론적으로는 맞습니다. 예컨대 1TB짜리 캐시를 달면 용량 경계가 뒤로 밀려, 지금보다 더 과거의 사진까지 캐시에 담기고 즉시 뜨게 만들 수 있습니다.

하지만 “사진 스크롤을 조금 더 부드럽게” 하자고 1TB SSD를 캐시로 투입하는 건, 효용 대비 비용이 전혀 맞지 않는 사실상 낭비에 가까운 선택입니다. 캐시는 데이터 전체를 덮는 용도가 아니라 자주 쓰는 워킹셋을 덮는 용도라는 원칙에서 봐도 과합니다. 그 돈이면 차라리 다른 곳에 쓰는 편이 낫습니다.

결론 — 효과는 있지만 미미합니다. 사서 달 정도는 아닙니다

  • 캐시가 노는 건 아닙니다. 최신 사진이 즉시 뜨는 것, 그 구간의 높은 적중률이 캐시가 일하고 있다는 증거입니다.
  • 다만 일상 전체로 보면 체감으로 남는 이득은 크지 않습니다. 정작 답답한 과거 구간이나 대용량·순차 작업은 캐시가 손대지 못하는 영역이라, “가장 아쉬운 곳에는 안 듣는” 셈이 됩니다.
  • 그래서 구매 판단은 명확합니다. 남는 SSD가 있다면 달아 두어 나쁠 것은 없습니다. 다만 이걸 위해 SSD를 새로 사서 달 정도의 투자는 아니라고 봅니다.
  • 반대로 작은 파일을 대량으로 반복 접근하는 워크로드(사진 라이브러리 관리, 도커·DB, 잦은 파일 목록 조회)가 주력이라면, 캐시 값어치는 분명히 있습니다. 자신의 사용 패턴이 여기에 해당하는지부터 보시는 게 순서입니다.

한 줄로 줄이면 — SSD 읽기 캐시는 “없으면 아쉬운” 물건이 아니라 “맞는 작업에서만 빛나는” 물건입니다.


(이렇게 속도와 캐시를 다져둔 NAS를 실제로 어떻게 쓰고 있는지는 NAS를 서버로 쓴다는 것에서 이어집니다.)