Teste de Leitura/Gravação de Armazenamento
Ferramenta de teste de velocidade de leitura/gravação de armazenamento online grátis. Teste desempenho de disco com IndexedDB e localStorage. Meça velocidade de armazenamento, MB/s, operações por segundo e latência para sistemas de armazenamento de navegador.
| Nome do Teste | Velocidade | Latência | Status |
|---|---|---|---|
| Gravação IndexedDB Gravar 1.000 itens (1KB cada) no IndexedDB | - | - | Pendente |
| Leitura IndexedDB Ler 1.000 itens do IndexedDB | - | - | Pendente |
| Gravação localStorage Gravar 100 itens no localStorage | - | - | Pendente |
| Leitura localStorage Ler 100 itens do localStorage | - | - | Pendente |
| Manipulação de Arquivo Grande Ler/Gravar arquivo de 10MB | - | - | Pendente |
Teste de Leitura/Gravação - Teste o Desempenho do Seu Disco
Uma ferramenta abrangente de teste de velocidade de armazenamento online que mede desempenho de armazenamento de navegador usando IndexedDB e localStorage. Execute testes para velocidade de gravação, velocidade de leitura e manipulação de arquivos grandes para avaliar desempenho de armazenamento do seu sistema e eficiência de banco de dados do navegador.
Como funciona o teste de velocidade de armazenamento?
O teste mede o desempenho do armazenamento do navegador executando operações de leitura e gravação:
1. Gravação IndexedDB: Testa gravar 1.000 itens (1 KB cada) no IndexedDB
2. Leitura IndexedDB: Mede ler 1.000 itens
3. Gravação localStorage: Testa gravar 100 itens
4. Leitura localStorage: Mede ler 100 itens
5. Manipulação de Arquivo Grande: Testa ler/gravar um Blob de 10 MB
Cada teste calcula throughput (MB/s) e latência (ms por operação). MB/s maior e latência menor indicam melhor desempenho.
O que é IndexedDB vs localStorage?
IndexedDB e localStorage são sistemas de armazenamento com características diferentes:
localStorage:
- Armazenamento simples chave-valor
- API síncrona (bloqueia a thread principal)
- Limitado a ~5-10 MB por origem
- Armazena apenas strings (objetos precisam JSON.stringify)
- Bom para estado pequeno de UI
IndexedDB:
- Banco de dados completo com índices e cursores
- API assíncrona (não bloqueante)
- Cota muito maior (frequentemente gigabytes)
- Armazena clones estruturados (objetos, Blobs, ArrayBuffers)
- Melhor para grandes conjuntos de dados e apps offline
Este teste mede ambos para você comparar o custo real no seu dispositivo.
O que afeta velocidade de armazenamento?
Vários fatores influenciam desempenho de armazenamento de navegador:
- Tipo de Disco: SSD >> HDD
- Interface do Disco: NVMe > SATA SSD > eMMC > HDD
- Espaço Disponível: Discos acima de 80 % cheios ficam lentos (TRIM e over-provisioning encolhem)
- Motor do Navegador: Chromium usa IndexedDB com LevelDB; Firefox usa SQLite
- Sistema Operacional: Journaling do sistema de arquivos, comportamento fsync e tamanho do page cache importam
- Processos em Segundo Plano: Contenção de I/O por antivírus ou backup reduz leituras/gravações
- RAM: Mais RAM livre = melhor page cache do SO
Para resultados precisos, feche outros aplicativos e garanta espaço livre em disco suficiente.
O que é uma boa pontuação de velocidade de armazenamento?
Entendendo resultados de velocidade de armazenamento de navegador:
Velocidades típicas por tipo:
- NVMe SSD: 50-200+ MB/s no navegador (3-7 GB/s nativo)
- SATA SSD: 20-100 MB/s no navegador (550 MB/s nativo)
- HDD Rápido (7200 RPM): 5-20 MB/s
- HDD Lento (5400 RPM): 2-10 MB/s
- eMMC/UFS Mobile: 10-50 MB/s
Obs: Overhead do navegador e fronteiras JavaScript tornam essas velocidades 10-100x mais lentas que I/O nativo. Latência abaixo de 1 ms também é importante para UI responsiva.

Por que testar armazenamento de navegador?
Testar armazenamento de navegador é valioso porque:
- Desempenho de Web App: Mostra quão rápido apps web podem armazenar/recuperar dados
- Progressive Web Apps (PWAs): Crítico para apps com capacidade offline
- Cache do Navegador: Afeta tempos de carregamento e Service Worker
- Debugging: Identifique gargalos antes dos usuários reclamarem
- Comparação: Benchmark de navegadores e dispositivos diferentes
Este teste reflete desempenho real para qualquer app web que dependa de APIs de armazenamento de navegador.
Por que minhas gravações IndexedDB são mais lentas que leituras?
Gravações IndexedDB são tipicamente 2-10x mais lentas que leituras porque cada gravação deve:
1. Adquirir lock exclusivo no object store (leituras readonly usam locks compartilhados)
2. Atualizar índices secundários definidos (cada índice = gravação B-tree extra)
3. Anexar ao write-ahead log para durabilidade
4. Fazer flush no disco no commit da transação (fsync)
Leituras, em contraste, geralmente acertam o page cache do SO e retornam sem tocar o disco. Para acelerar gravações: agrupe muitos put em uma transação (commits amortizam fsync), evite índices desnecessários e use put() com chaves explícitas em vez de autoIncrement.
Qual é a cota de armazenamento do navegador e o que acontece ao atingi-la?
Navegadores modernos concedem a origens uma cota baseada em espaço livre e política. Limites típicos:
- Chrome/Edge: até 60 % do disco livre por origem
- Firefox: até 50 % do disco livre (cota de grupo)
- Safari: 1 GB sem prompt, depois requer permissão do usuário
Consulte seu limite real com navigator.storage.estimate(), que retorna {quota, usage} em bytes. Ao exceder a cota, transações IndexedDB abortam com QuotaExceededError e localStorage lança no setItem(). Armazenamento persistente via navigator.storage.persist() impede o navegador de despejar seus dados automaticamente sob pressão de disco.
Por que o teste de 10 MB às vezes falha em mobile?
Navegadores móveis impõem vários limites que podem quebrar o teste do Blob de 10 MB:
1. Tamanho de string: stringificar um Blob de 10 MB para localStorage dobra para 20 MB UTF-16; Safari iOS rejeita strings acima de 16 MB.
2. Pressão de heap: heap do Chrome mobile é 256-512 MB; alocar Blob mais copiá-lo para IndexedDB pode causar OOM na aba.
3. Cota de origem: dispositivos Android baratos com 8 GB internos podem conceder apenas 100-500 MB por origem.
4. Despejo em background: se trocar de app no meio do teste, iOS pode descartar a aba e a transação aborta silenciosamente.
Para testes confiáveis em mobile, libere pelo menos 2 GB e mantenha o navegador em foreground.
Recursos Principais
- 5 testes abrangentes de velocidade de armazenamento
- Benchmarks de gravação e leitura IndexedDB
- Testes de gravação e leitura localStorage
- Teste de manipulação de arquivo grande (10MB)
- Medição de velocidade em MB/s
- Medição de latência em milissegundos
- Exibição de cota e uso de armazenamento
- Cálculo de velocidade média de gravação e leitura
- Cronometragem e pontuação de teste individual
- Indicadores de progresso visual
- Parar teste a qualquer momento
- Limpeza automática após testes
- 100% lado do cliente - nenhum dado enviado
- Funciona offline
- Suporte mobile e desktop
- Compatível com modo escuro
