저장 공간 테스트
브라우저의 사용 가능한 저장소 할당량을 확인한 다음, localStorage 용량 및 IndexedDB 읽기/쓰기 처리량을 자동 정리와 함께 측정합니다.
Storage quota
navigator.storage.estimate() is not available in this browser, so quota cannot be shown.
Read/write benchmark
Tests localStorage capacity and latency, then IndexedDB throughput. Everything written is deleted automatically afterward.
저장 공간 테스트 사용 빠른 가이드
1분 이내 소요- 1임시 테스트 페이로드를 읽고 쓰려면 벤치마크 실행을 클릭하세요.
- 2localStorage 및 IndexedDB 결과를 비교하세요.
- 3할당량은 브라우저가 이 사이트에 저장할 수 있는 용량을 보여줍니다.
- 4테스트 중에 작성된 모든 내용은 테스트가 끝나면 삭제됩니다.
개요
브라우저는 단순히 페이지를 렌더링하는 것을 넘어, 사이트가 선호도를 기억하고, 오프라인 사용을 위한 데이터를 캐시하며, 동일한 정보를 반복적으로 다시 다운로드하지 않도록 데이터를 로컬에 저장합니다. 이 로컬 저장소는 크기 제한과 속성 특성이 매우 다른 몇 가지 시스템에 존재하며, 이 테스트는 가장 일반적인 두 가지인 localStorage와 IndexedDB를 직접 측정합니다.
페이지는 먼저 navigator.storage.estimate()를 호출하여 이 사이트가 현재 얼마나 많은 저장 공간을 사용하고 있고, 총 얼마나 사용할 수 있는지 보고하는 표준 브라우저 API를 실행합니다. 그 다음, 벤치마크를 실행하여 localStorage에 소량의 테스트 데이터를 기록하여 실제 용량 한계를 찾고 쓰기 및 읽기 지연 시간을 측정합니다. 이후 IndexedDB에 더 많은 레코드 세트를 기록하고 읽어서 초당 메가바이트 단위의 처리량을 측정합니다. 테스트 중에 기록된 모든 바이트는 벤치마크가 완료되면 자동으로 삭제됩니다.
이러한 수치를 이해하는 것은 생각보다 중요합니다. 느린 로컬 저장소는 이메일 클라이언트, 메모 앱, 프로그레시브 웹 앱과 같이 오프라인 캐싱에 의존하는 웹 앱이 데이터를 저장하거나 동기화할 때 네트워크 연결 및 CPU가 빠르더라도 느리게 느껴지게 만들 수 있습니다.
결과 확인 방법
저장소 할당량 막대
막대는 전체 브라우저나 장치가 아닌 이 사이트에서 현재 사용 중인 예상 할당량의 양을 보여줍니다. 대부분의 웹사이트는 대량의 데이터를 로컬에 저장할 필요가 없으므로, 큰 할당량에 비해 적은 사용량은 대부분의 사이트에서 정상입니다.
localStorage 용량 및 지연 시간
대부분의 브라우저는 localStorage를 사이트당 5~10MB로 제한하므로, 용량 테스트가 해당 범위 내에서 중단되는 것은 예상되는 일이며 문제가 있음을 의미하지 않습니다. 쓰기 및 읽기 지연 시간은 작업당 밀리초 단위로 측정됩니다. localStorage는 동기식이며, 이는 각 쓰기 작업이 완료될 때까지 페이지가 일시 중지된다는 의미이므로, 여기서 지연 시간이 길어지면 사이트가 localStorage를 과도하게 사용할 경우 페이지가 덜 반응적으로 느껴질 수 있습니다.
IndexedDB 처리량
이 수치들은 초당 메가바이트 단위로 보고되며, 브라우저가 더 큰 데이터 덩어리를 데이터베이스 계층에 얼마나 빠르게 커밋하고 다시 읽어올 수 있는지를 반영합니다. 더 빠른 수치는 일반적으로 로컬 캐싱, 오프라인 지원 또는 클라이언트 측에 더 큰 파일을 저장하는 모든 웹 앱에서 더 빠릿빠릿한 경험을 의미합니다.
문제 해결
테스트가 오류와 함께 즉시 실패합니다
이는 일반적으로 IndexedDB가 차단되거나 제한되었음을 의미하며, 주로 개인 정보 보호를 위해 브라우저 확장 프로그램이 저장소 API를 적극적으로 차단하는 경우나 사생활 보호 모드(시크릿 모드)에서 발생합니다. 일반 브라우징 창에서 테스트를 실행해보고, 문제가 지속되면 강력한 개인 정보 보호 확장 프로그램을 일시적으로 비활성화해보십시오.
할당량이 지원되지 않음으로 표시됩니다
navigator.storage.estimate()는 모든 브라우저에서 사용할 수 있는 것은 아니며, 이 사이트에서 이미 사용 중인 보안 컨텍스트(HTTPS)를 필요로 합니다. 여전히 지원되지 않는다면, 브라우저 버전이 이 API보다 오래된 것일 수 있습니다. 최신 버전으로 업데이트하면 대개 해결됩니다.
테스트가 데이터를 남겼을까 봐 걱정됩니다
브라우저 개발자 도구를 열고 '애플리케이션' 또는 '저장소' 탭으로 이동하여 이 사이트의 localStorage 및 IndexedDB 항목을 확인하십시오. 정리 단계는 모든 성공적인 테스트가 끝날 때 자동으로 실행되며, IndexedDB 데이터베이스와 localStorage 테스트 키를 명시적으로 삭제하므로 테스트 완료 후에는 아무것도 남아있지 않아야 합니다.
localStorage 대 IndexedDB, 쉽게 설명
localStorage는 두 가지 중 더 간단한 것으로, 문자열만 저장하며, 모든 작업이 동기식으로 이루어져 페이지가 작업이 완료될 때까지 기다렸다가 계속됩니다. 또한 모든 브라우저에서 엄격한 크기 제한이 있습니다. 테마 환경 설정이나 로그인 토큰과 같은 작은 것들에 적합하지만, 더 크거나 성능에 민감한 것들에는 적합하지 않습니다.
IndexedDB는 적절한 클라이언트 측 데이터베이스입니다. 바이너리 블롭을 포함한 구조화된 데이터를 저장하고, 비동기적으로 작동하여 읽거나 쓰는 동안 페이지를 차단하지 않으며, 사용 가능한 디스크 공간과 브라우저 정책에 따라 종종 수백 메가바이트 이상의 훨씬 더 많은 양의 데이터를 지원합니다. 대부분의 최신 오프라인 지원 웹 앱은 바로 이러한 이유 때문에 IndexedDB를 사용합니다.
- 몇 킬로바이트 미만의 작고 간단한 값에만 localStorage를 사용하십시오.
- 더 크거나 구조화되거나 성능에 민감한 모든 것에 IndexedDB를 사용하십시오.
- 둘 다 쿠키와는 별개입니다. 쿠키는 모든 네트워크 요청과 함께 전송되며 자체적으로 더 작은 제한이 있습니다.
저장소 속도에 영향을 미치는 요인
기본 디스크 유형은 중요합니다. SSD는 일반적으로 이러한 종류의 무작위 소량 쓰기 작업에서 기계식 하드 드라이브보다 우수한 성능을 발휘하지만, 유일한 요인은 아닙니다. 브라우저 자체의 저장소 엔진, 현재 디스크 용량, 디스크 암호화 활성화 여부, 심지어 동시에 저장소에 읽거나 쓰는 다른 탭의 수도 여기에 표시되는 수치에 영향을 미칩니다.
특정 웹 앱이 기기 때문에 느리게 느껴지는지 아니면 앱 자체 때문에 느리게 느껴지는지 진단하려는 경우, 이 사이트의 CPU 및 메모리 벤치마크와 함께 이 테스트를 실행하면 더 완전한 그림을 얻을 수 있습니다. 세 가지 모두에서 좋은 점수를 얻었지만 특정 앱이 여전히 느리게 실행되는 기기는 하드웨어 문제보다는 앱 코드에 문제가 있을 가능성이 높습니다.
자주 묻는 질문
이 테스트가 내 하드 드라이브 또는 SSD 속도를 직접 측정합니까?
아니요, 이 테스트는 브라우저가 자체 저장 시스템(localStorage 및 IndexedDB)에 쓰고 읽는 속도를 측정합니다. 이 시스템은 운영체제의 파일 시스템과 브라우저의 저장 엔진 위에 있습니다. 실제 디스크 속도가 결과에 영향을 미치지만, 브라우저 자체의 오버헤드도 영향을 미치므로 이 수치는 전용 디스크 벤치마크 도구와 일치하지 않습니다.
이 테스트를 실행하면 저장 공간이 가득 차거나 파일이 남게 되나요?
아니요. 이 테스트는 일반적으로 몇 메가바이트의 작고 고정된 양의 테스트 데이터를 작성하며, 마지막에는 localStorage와 IndexedDB에서 생성된 모든 것을 삭제하는 명시적인 정리 단계를 포함합니다. 브라우저 개발자 도구에서 테스트 전후의 저장소 사용량을 확인하여 이를 확인할 수 있습니다.
navigator.storage.estimate()는 실제로 무엇을 알려줍니까?
이것은 이 사이트가 현재 사용 중인 대략적인 저장 공간과 사용 가능한 대략적인 할당량을 보고합니다. 둘 다 정확한 수치라기보다는 설계상 추정치입니다. 브라우저는 사이트가 사용 가능한 디스크 공간을 얼마나 정확하게 식별할 수 있는지 줄이기 위해 의도적으로 이러한 수치를 반올림합니다.
내 localStorage 용량이 왜 몇 메가바이트로 제한되나요?
localStorage는 실제로 사용 가능한 디스크 공간과 관계없이 모든 주요 브라우저에서 일반적으로 5MB에서 10MB 사이의 하드코딩된 사이트별 제한을 가집니다. 이는 localStorage가 도입될 때 의도적으로 설정된 설계 제한으로, 대용량 데이터 저장보다는 작은 설정 및 토큰에 사용 가능하도록 하기 위함입니다.
IndexedDB 처리량과 localStorage 처리량이 다른 이유는 무엇인가요?
IndexedDB는 대량의 구조화된 데이터용으로 설계되었으며 적절한 데이터베이스 엔진에 의해 지원되는 비동기 트랜잭션을 사용하는 반면, localStorage는 동기식이며 모든 것을 일반 문자열로 저장합니다. IndexedDB는 일반적으로 더 큰 페이로드에 훨씬 빠르며 동일한 엄격한 크기 제한이 없습니다.
할당량이 수백 기가바이트처럼 엄청난 숫자로 표시됩니다. 실제인가요?
브라우저는 사용 가능한 디스크 공간 및 내부 정책에 따라 이론적인 할당량을 보고하지만, 실제로 단일 사이트가 해당 양을 모두 사용하기 전에 권한을 요청하거나 추가 제한을 적용하는 경우는 거의 없습니다. 할당량 수치를 즉시 모두 사용할 수 있다는 보장보다는 상한선으로 간주해야 합니다.
시크릿/개인 모드에서 저장소 테스트가 실패하거나 오류가 표시되는 이유는 무엇인가요?
많은 브라우저가 개인 정보 보호 조치로 개인 브라우징 모드에서 IndexedDB와 같은 영구 저장소 API를 제한하거나 완전히 비활성화하거나, 작업 사이에 적극적으로 지웁니다. 정확한 저장소 테스트가 필요한 경우, 이 테스트를 일반 브라우징 창에서 실행하십시오.
브라우저 캐시를 지우는 것이 이 결과에 영향을 미치나요?
캐시만 지우는 것은 일반적으로 HTTP 캐시와 별도로 저장되는 localStorage 또는 IndexedDB에 영향을 주지 않습니다. 이 사이트에 대해 '사이트 데이터' 또는 '쿠키 및 기타 사이트 데이터'를 특별히 지우면 localStorage 및 IndexedDB 콘텐츠가 제거되어, 빈 상태에서 시작함으로써 새로운 벤치마크 수치가 아주 미미하게 변경될 수 있습니다.
쓰기 속도가 읽기 속도보다 느린 이유는 무엇인가요?
쓰기는 일반적으로 읽기보다 더 많은 오버헤드를 수반합니다. 브라우저가 데이터를 안전하게 유지해야 하고, 브라우저 충돌 시 데이터 손실을 방지하기 위해 때로는 디스크나 쓰기 전 로그에 플러시하기 때문입니다. 읽기는 종종 메모리에 상주하는 캐시에서 더 빠르게 제공될 수 있습니다.
낮은 저장소 점수가 드라이브 고장의 신호인가요?
그 자체만으로는 아닙니다. 브라우저 저장소 속도는 물리적 디스크 위의 많은 소프트웨어 계층에 의해 영향을 받으므로, 여기서 낮은 점수는 드라이브 상태의 신뢰할 수 있는 지표가 아닙니다. 드라이브 고장이 의심되는 경우, 대신 운영 체제의 내장 디스크 상태 도구(SMART 상태와 같은)를 사용하십시오.
이 테스트를 사용하여 웹사이트가 오프라인 기능을 잘 실행할 수 있는지 확인할 수 있나요?
합리적인 대리 지표입니다. 프로그레시브 웹 앱과 오프라인 사용 가능한 사이트는 데이터를 로컬에 캐싱하기 위해 IndexedDB에 크게 의존하므로, IndexedDB 쓰기 및 읽기 처리량이 좋은 장치는 일반적으로 오프라인 사용 가능한 웹 앱을 원활하게 처리할 것입니다.