Camera Test
Тесты производительности

Тест хранилища

Проверьте доступную квоту хранилища вашего браузера, затем измерьте емкость 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Нажмите «Запустить тест», чтобы записать и прочитать временную тестовую нагрузку.
  2. 2Сравните результаты localStorage и IndexedDB.
  3. 3Квота показывает, сколько браузер позволит этому сайту хранить.
  4. 4Всё записанное во время теста удаляется по его завершении.

Обзор

Браузеры не только отображают страницы, но и хранят данные локально, чтобы сайты могли запоминать предпочтения, кэшировать данные для использования в автономном режиме и избегать повторной загрузки одной и той же информации. Это локальное хранилище находится в нескольких различных системах с очень разными ограничениями по размеру и характеристиками скорости, и этот тест непосредственно измеряет две наиболее распространенные: localStorage и IndexedDB.

Страница начинается с вызова navigator.storage.estimate() – стандартного API браузера, который сообщает, сколько хранилища этот сайт использует в настоящее время и сколько ему приблизительно разрешено использовать в общей сложности. Затем, запуск бенчмарка записывает небольшой объем тестовых данных в localStorage, чтобы найти его практический предел емкости и измерить задержку записи и чтения, а затем записывает и считывает больший набор записей в IndexedDB для измерения пропускной способности в мегабайтах в секунду. Каждый байт, записанный во время теста, автоматически удаляется по завершении бенчмарка.

Понимание этих чисел имеет большее значение, чем может показаться. Медленное локальное хранилище может замедлять работу веб-приложений, которые полагаются на автономное кэширование, таких как почтовые клиенты, приложения для заметок или прогрессивные веб-приложения, при сохранении или синхронизации данных, даже если ваше сетевое соединение и CPU работают быстро.

Как интерпретировать результаты

Полоса квоты хранилища

Полоса показывает, сколько от вашей предполагаемой квоты в настоящее время используется именно этим сайтом, а не всем вашим браузером или устройством. Небольшой объем использованного пространства относительно большой квоты является нормой для большинства сайтов, поскольку мало каким веб-сайтам требуется хранить большие объемы данных локально.

Емкость и задержка localStorage

Большинство браузеров ограничивают localStorage от 5 до 10 МБ на сайт, поэтому остановка теста емкости где-то в этом диапазоне ожидаема и не является признаком проблемы. Задержка записи и чтения измеряется в миллисекундах на операцию; localStorage синхронен, что означает, что страница приостанавливается, пока каждая запись не будет завершена, поэтому более высокая задержка здесь может фактически сделать страницу менее отзывчивой, если сайт злоупотребляет этим.

Пропускная способность IndexedDB

Эти числа сообщаются в мегабайтах в секунду и отражают, насколько быстро ваш браузер может записывать большие блоки данных в свой уровень базы данных и считывать их обратно. Более высокие показатели обычно означают более быструю работу в любом веб-приложении, которое полагается на локальное кэширование, автономную поддержку или хранение больших файлов на стороне клиента.

Устранение неполадок

Тест немедленно завершается с ошибкой

Обычно это означает, что IndexedDB заблокирован или ограничен, что часто происходит в приватных или анонимных окнах браузера, или когда расширение браузера агрессивно блокирует API хранилища для обеспечения конфиденциальности. Попробуйте запустить тест в обычном окне браузера и временно отключите строгие расширения для конфиденциальности, если проблема сохраняется.

Квота отображается как неподдерживаемая

navigator.storage.estimate() доступен не во всех браузерах и требует безопасного контекста (HTTPS), который уже используется этим сайтом. Если он всё ещё не поддерживается, ваша версия браузера может просто предшествовать этому API; обновление до последней версии обычно решает эту проблему.

Я беспокоюсь, что тест оставил данные

Откройте инструменты разработчика вашего браузера, перейдите на вкладку «Приложение» или «Хранилище» и проверьте записи localStorage и IndexedDB для этого сайта. Этап очистки запускается автоматически в конце каждого успешного теста и явно удаляет базу данных IndexedDB и тестовый ключ localStorage, поэтому после завершения выполнения ничего не должно остаться.

localStorage против IndexedDB, простыми словами

localStorage проще из двух: он хранит только строки, каждая операция синхронна, что означает, что ваша страница ждет её завершения, прежде чем продолжить, и он имеет жесткий потолок размера в каждом браузере. Он хорошо подходит для небольших вещей, таких как предпочтения темы или токен входа, но плохо подходит для чего-либо большего или чувствительного к производительности.

IndexedDB — это полноценная клиентская база данных. Она хранит структурированные данные, включая бинарные объекты, работает асинхронно, поэтому не блокирует страницу во время чтения или записи, и поддерживает значительно большие объемы данных, часто сотни мегабайт и более, в зависимости от доступного дискового пространства и политики браузера. Большинство современных веб-приложений, способных работать в автономном режиме, используют IndexedDB именно по этой причине.

  • Используйте localStorage только для небольших, простых значений размером до нескольких килобайт.
  • Используйте IndexedDB для всего, что больше по объему, структурировано или чувствительно к производительности.
  • Оба отличаются от файлов cookie, которые отправляются с каждым сетевым запросом и имеют свои собственные, меньшие ограничения.

Что влияет на скорость вашего хранилища

Тип используемого диска имеет значение: SSD обычно превосходит механический жесткий диск для такого рода случайных нагрузок с мелкими записями, но это не единственный фактор. Собственный механизм хранения браузера, степень заполнения вашего диска, активность шифрования диска и даже количество других вкладок, одновременно читающих или записывающих данные в хранилище, — все это влияет на цифры, которые вы здесь увидите.

Если вы пытаетесь диагностировать, медленно ли работает конкретное веб-приложение из-за вашего устройства или из-за самого приложения, запуск этого теста вместе с тестами производительности CPU и памяти на этом сайте даст вам более полную картину. Устройство, которое хорошо показывает себя во всех трех тестах, но при этом медленно запускает одно конкретное приложение, скорее всего, имеет проблему с кодом этого приложения, а не с вашим оборудованием.

Часто задаваемые вопросы

Измеряет ли этот тест напрямую скорость моего жесткого диска или SSD?

Нет, он измеряет, насколько быстро ваш браузер может записывать данные в свои собственные системы хранения (localStorage и IndexedDB) и читать из них. Эти системы находятся поверх файловой системы вашей операционной системы и механизма хранения данных браузера. Фактическая скорость диска влияет на результат, но также влияет и накладные расходы самого браузера, поэтому полученные цифры не будут совпадать с показателями специализированного инструмента для тестирования дисков.

Заполнит ли этот тест моё хранилище или оставит после себя файлы?

Нет. Тест записывает небольшой, фиксированный объем тестовых данных, обычно несколько мегабайт, и включает в себя явный этап очистки в конце, который удаляет все созданное как из localStorage, так и из IndexedDB. Вы можете убедиться в этом, проверив использование хранилища вашего браузера в инструментах разработчика до и после.

Что на самом деле показывает navigator.storage.estimate()?

Он сообщает приблизительный объем хранилища, используемого в данный момент этим сайтом, и приблизительную квоту, доступную для него; обе эти величины являются оценками, а не точными цифрами по задумке. Браузеры намеренно округляют эти числа, чтобы уменьшить точность, с которой сайт может определить доступное дисковое пространство.

Почему емкость моего localStorage ограничена всего несколькими мегабайтами?

localStorage имеет жестко заданный лимит на каждый сайт в каждом крупном браузере, обычно от 5 до 10 МБ, независимо от того, сколько свободного места на диске у вас фактически есть. Это преднамеренное проектное ограничение, введенное при появлении localStorage, предназначенное для использования его для небольших настроек и токенов, а не для большого хранилища данных.

Почему пропускная способность IndexedDB отличается от пропускной способности localStorage?

IndexedDB предназначен для больших объемов структурированных данных и использует асинхронные транзакции, поддерживаемые полноценным движком базы данных, тогда как localStorage является синхронным и хранит все в виде обычных строк. IndexedDB обычно намного быстрее для больших объемов данных и не имеет такого жесткого потолка по размеру.

Моя квота показывает огромное число, например, сотни гигабайт. Это реально?

Браузеры сообщают теоретическую квоту, основанную на доступном дисковом пространстве и внутренних политиках, но они редко позволяют одному сайту фактически использовать такой объем до запроса разрешения или применения дополнительных ограничений. Рассматривайте показатель квоты как верхний предел, а не как гарантию того, что вы можете использовать все это немедленно.

Почему тест хранилища завершился с ошибкой или показал ошибку в приватном режиме/режиме инкогнито?

Многие браузеры ограничивают или полностью отключают постоянные API хранилища, такие как IndexedDB, в режиме приватного просмотра в качестве меры конфиденциальности или агрессивно очищают их между операциями. Если вам необходимо точное тестирование хранилища, запустите этот тест в обычном окне браузера.

Влияет ли очистка кэша браузера на эти результаты?

Очистка только кэша обычно не затрагивает localStorage или IndexedDB, которые хранятся отдельно от кэша HTTP. Если вы специально очищаете «данные сайта» или «файлы cookie и другие данные сайта» для этого сайта, это приведет к удалению содержимого localStorage и IndexedDB, что может очень незначительно изменить новые результаты тестов, начиная с пустого состояния.

Почему скорость записи иногда ниже скорости чтения?

Запись обычно требует больше накладных расходов, чем чтение, потому что браузеру необходимо безопасно сохранять данные, иногда записывая их на диск или в журнал предзаписи, чтобы защититься от потери данных в случае сбоя браузера. Чтение часто может быть выполнено быстрее из кэшей, находящихся в оперативной памяти.

Является ли низкий показатель хранилища признаком отказа моего диска?

Само по себе нет. Скорость хранения данных в браузере зависит от множества программных слоев над физическим диском, поэтому низкий балл здесь не является надежным показателем состояния диска. Если вы подозреваете отказ диска, используйте встроенные в операционную систему инструменты для проверки его состояния (например, статус SMART).

Могу ли я использовать этот тест, чтобы проверить, будет ли веб-сайт хорошо работать в автономном режиме?

Это разумный показатель. Прогрессивные веб-приложения и сайты, способные работать в автономном режиме, в значительной степени полагаются на IndexedDB для кэширования данных локально, поэтому устройство с хорошей пропускной способностью записи и чтения IndexedDB, как правило, будет плавно обрабатывать веб-приложения, способные работать в автономном режиме.

Связанные тесты

Связанные руководства

Written by Chhandita ShitReviewed by Buddheswar DandapatLast updated July 28, 2026