Test archiviazione
Controlla la quota di archiviazione disponibile del tuo browser, quindi misura la capacità di localStorage e la velocità effettiva di lettura/scrittura di IndexedDB, con pulizia automatica.
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.
Guida rapida: come usare Test Archiviazione
Ci vuole meno di un minuto- 1Clicca Esegui benchmark per scrivere e leggere un payload di test temporaneo.
- 2Compara i risultati di localStorage e IndexedDB.
- 3La quota indica quanto il browser permetterà a questo sito di archiviare.
- 4Tutto ciò che è stato scritto durante il test viene eliminato al termine.
Panoramica
I browser non si limitano a visualizzare le pagine, ma archiviano anche dati localmente in modo che i siti possano ricordare le preferenze, memorizzare dati per l'uso offline ed evitare di scaricare ripetutamente le stesse informazioni. Questa archiviazione locale risiede in alcuni sistemi diversi con limiti di dimensione e caratteristiche di velocità molto diversi, e questo test misura direttamente i due più comuni: localStorage e IndexedDB.
La pagina inizia chiamando navigator.storage.estimate(), un'API standard del browser che riporta la quantità di spazio di archiviazione che questo sito sta attualmente utilizzando e all'incirca quanto gli è consentito utilizzare in totale. Da lì, l'esecuzione del benchmark scrive una piccola quantità di dati di test in localStorage per trovare il suo limite di capacità pratica e misurare la latenza di scrittura e lettura, quindi scrive e legge un set più ampio di record in IndexedDB per misurare la velocità effettiva in megabyte al secondo. Ogni byte scritto durante il test viene eliminato automaticamente una volta terminato il benchmark.
Comprendere questi numeri è più importante di quanto possa sembrare. Una lenta archiviazione locale può rendere le app web che si basano sulla cache offline, come client di posta elettronica, app per prendere appunti o progressive web app, lente durante il salvataggio o la sincronizzazione dei dati, anche se la tua connessione di rete e la CPU sono entrambe veloci.
Come leggere i risultati
Barra della quota di archiviazione
La barra mostra quanto della tua quota stimata è attualmente utilizzata specificamente da questo sito, non dall'intero browser o dispositivo. Una piccola quantità utilizzata rispetto a una grande quota è normale per la maggior parte dei siti, poiché pochi siti web devono archiviare grandi quantità di dati localmente.
Capacità e latenza di localStorage
La maggior parte dei browser limita localStorage a 5-10 MB per sito, quindi vedere il test di capacità fermarsi in quell'intervallo è previsto e non è un segno di un problema. La latenza di scrittura e lettura è misurata in millisecondi per operazione; localStorage è sincrono, il che significa che la pagina si mette in pausa mentre ogni scrittura viene completata, quindi una maggiore latenza qui può effettivamente rendere una pagina meno reattiva se un sito ne abusa.
Velocità effettiva di IndexedDB
Questi numeri sono riportati in megabyte al secondo e riflettono la velocità con cui il tuo browser può inviare blocchi di dati più grandi al suo livello di database e leggerli di nuovo. Numeri più veloci generalmente significano un'esperienza più reattiva in qualsiasi app web che si basa sulla cache locale, sul supporto offline o sull'archiviazione di file più grandi lato client.
Risoluzione dei problemi
Il test fallisce immediatamente con un errore
Questo di solito significa che IndexedDB è bloccato o limitato, il che accade comunemente nelle finestre di navigazione privata o in incognito, o quando un'estensione del browser blocca aggressivamente le API di archiviazione per la privacy. Prova a eseguire il test in una finestra di navigazione normale e disabilita temporaneamente le estensioni di privacy rigorose se il problema persiste.
La quota risulta non supportata
navigator.storage.estimate() non è disponibile in tutti i browser e richiede un contesto sicuro (HTTPS), che questo sito già utilizza. Se non è ancora supportato, la versione del tuo browser potrebbe semplicemente essere precedente a questa API; l'aggiornamento alla versione più recente di solito risolve il problema.
Sono preoccupato che il test abbia lasciato dei dati
Apri gli strumenti per sviluppatori del tuo browser, vai alla scheda Applicazione o Archiviazione e controlla le voci di localStorage e IndexedDB per questo sito. Il passaggio di pulizia viene eseguito automaticamente alla fine di ogni test riuscito ed elimina esplicitamente il database IndexedDB e la chiave di test di localStorage, quindi nulla dovrebbe rimanere dopo un'esecuzione completata.
localStorage vs IndexedDB, in termini semplici
localStorage è il più semplice dei due: memorizza solo stringhe, ogni operazione è sincrona, il che significa che la pagina aspetta che finisca prima di continuare, e ha un limite di dimensione fisso in ogni browser. È adatto per piccole cose come una preferenza del tema o un token di accesso, ma scarsamente adatto a qualsiasi cosa più grande o sensibile alle prestazioni.
IndexedDB è un vero database lato client. Archivia dati strutturati inclusi blob binari, funziona in modo asincrono in modo da non bloccare la pagina durante la lettura o la scrittura, e supporta quantità di dati molto maggiori, spesso centinaia di megabyte o più a seconda dello spazio su disco disponibile e della politica del browser. La maggior parte delle moderne app web in grado di funzionare offline utilizza IndexedDB proprio per questo motivo.
- Utilizza localStorage solo per valori piccoli e semplici inferiori a pochi kilobyte.
- Utilizza IndexedDB per qualsiasi cosa più grande, strutturata o sensibile alle prestazioni.
- Entrambi sono separati dai cookie, che vengono inviati con ogni richiesta di rete e hanno i propri limiti, più piccoli.
Cosa influisce sulla tua velocità di archiviazione
Il tipo di disco sottostante è importante, un SSD generalmente supererà un disco rigido meccanico per questo tipo di carico di lavoro di piccole scritture casuali, ma non è l'unico fattore. Il motore di archiviazione del browser, quanto è pieno il tuo disco attualmente, se la crittografia del disco è attiva e persino quante altre schede stanno contemporaneamente leggendo o scrivendo sull'archiviazione, influenzano tutti i numeri che vedrai qui.
Se stai cercando di diagnosticare se una specifica app web sembra lenta a causa del tuo dispositivo o a causa dell'app stessa, l'esecuzione di questo test insieme ai benchmark di CPU e memoria su questo sito ti offre un quadro più completo. Un dispositivo che ottiene buoni risultati in tutti e tre i test ma che esegue ancora lentamente una particolare app probabilmente ha un problema con il codice di quell'app piuttosto che con il tuo hardware.
Domande frequenti
Questo test misura direttamente la velocità del mio disco rigido o SSD?
No, misura la velocità con cui il tuo browser può scrivere e leggere dai propri sistemi di archiviazione (localStorage e IndexedDB), che si trovano al di sopra del file system del tuo sistema operativo e del motore di archiviazione del tuo browser. La velocità effettiva del disco influenza il risultato, ma lo fa anche l'overhead del browser stesso, quindi i numeri non corrisponderanno a uno strumento di benchmark del disco dedicato.
L'esecuzione di questo test riempirà il mio spazio di archiviazione o lascerà file?
No. Il test scrive una piccola quantità fissa di dati di prova, generalmente qualche megabyte, e include un passaggio esplicito di pulizia alla fine che elimina tutto ciò che ha creato sia da localStorage che da IndexedDB. Puoi verificarlo controllando l'utilizzo dello spazio di archiviazione del tuo browser negli strumenti per sviluppatori prima e dopo.
Cosa mi dice effettivamente navigator.storage.estimate()?
Riporta una quantità approssimativa di spazio di archiviazione attualmente utilizzata da questo sito e una quota approssimativa disponibile per esso, entrambe stime piuttosto che cifre esatte per design. I browser arrotondano intenzionalmente questi numeri per ridurre la precisione con cui un sito può rilevare lo spazio su disco disponibile.
Perché la capacità del mio localStorage è limitata solo a pochi megabyte?
localStorage ha un limite fisso per sito in ogni browser principale, tipicamente da 5 a 10 MB, indipendentemente da quanto spazio su disco libero tu abbia. Questo è un limite di progettazione deliberato sin dall'introduzione di localStorage, inteso a renderlo utilizzabile per piccole impostazioni e token piuttosto che per l'archiviazione di grandi quantità di dati.
Perché la velocità effettiva di IndexedDB è diversa da quella di localStorage?
IndexedDB è progettato per quantità maggiori di dati strutturati e utilizza transazioni asincrone supportate da un motore di database adeguato, mentre localStorage è sincrono e memorizza tutto come semplici stringhe. IndexedDB è tipicamente molto più veloce per carichi di dati maggiori e non ha lo stesso rigido limite di dimensione.
La mia quota mostra un numero enorme, come centinaia di gigabyte. È reale?
I browser riportano una quota teorica basata sullo spazio su disco disponibile e sulle politiche interne, ma raramente consentono a un singolo sito di utilizzare effettivamente così tanto prima di richiedere il permesso o applicare limiti aggiuntivi. Considera la cifra della quota come un limite massimo piuttosto che una garanzia che tu possa usarla tutta immediatamente.
Perché il test di archiviazione ha fallito o ha mostrato un errore in modalità privata/incognito?
Molti browser limitano o disabilitano completamente le API di archiviazione persistente come IndexedDB in modalità di navigazione privata come misura di privacy, o le cancellano aggressivamente tra le operazioni. Se hai bisogno di un test di archiviazione accurato, esegui questo test in una normale finestra del browser.
La pulizia della cache del browser influisce su questi risultati?
Clearing cache alone typically doesn't touch localStorage or IndexedDB, which are stored separately from the HTTP cache. If you specifically clear 'site data' or 'cookies and other site data' for this site, that will remove localStorage and IndexedDB content, which could very slightly change fresh benchmark numbers by starting from an empty state.
Perché le velocità di scrittura sono talvolta più lente di quelle di lettura?
La scrittura comporta tipicamente più overhead rispetto alla lettura perché il browser deve persistere i dati in modo sicuro, a volte scrivendoli su disco o in un log write-ahead per proteggersi dalla perdita di dati in caso di crash del browser. Le letture possono spesso essere servite più rapidamente dalle cache residenti in memoria.
Un punteggio di archiviazione basso è un segnale che il mio disco sta fallendo?
Non di per sé. La velocità di archiviazione del browser è influenzata da molti strati software al di sopra del disco fisico, quindi un punteggio basso qui non è un indicatore affidabile della salute del disco. Se sospetti un disco difettoso, usa invece gli strumenti di controllo dello stato del disco integrati nel tuo sistema operativo (come lo stato SMART).
Posso usare questo test per verificare se un sito web è in grado di eseguire bene le funzionalità offline?
È un proxy ragionevole. Le progressive web app e i siti web capaci di funzionare offline si affidano pesantemente a IndexedDB per la memorizzazione nella cache dei dati localmente, quindi un dispositivo con una buona velocità effettiva di scrittura e lettura di IndexedDB gestirà generalmente senza problemi le web app capaci di funzionare offline.