2014-12-09 8 views
20

Attualmente sto facendo questo, ma è molto lento in quanto ho diversi terabyte di dati nel secchio:Il modo più veloce per ottenere le dimensioni del bucket di Google Storage?

gsutil du -sh gs://my-bucket-1/ 

E lo stesso per una sottocartella:

gsutil du -sh gs://my-bucket-1/folder 

E 'possibile in qualche modo ottenere la dimensione totale di un bucket completo (o una sottocartella) altrove o in qualche altro modo che è molto più veloce?

risposta

9

Purtroppo, no. Se hai bisogno di sapere quali sono le dimensioni del bucket in questo momento, non c'è modo più veloce di quello che stai facendo.

Se è necessario controllarlo regolarmente, è possibile abilitare la registrazione della benna. Google Cloud Storage genererà un registro di archiviazione giornaliero che puoi utilizzare per verificare la dimensione del bucket. Se ciò fosse utile, puoi leggere ulteriori informazioni qui: https://cloud.google.com/storage/docs/accesslogs#delivery

+0

Quante richieste esegue 'du'? Uno per oggetto o è in qualche modo ottimizzato? Buono a sapersi dal punto di vista della fatturazione. –

5

Se il log di archiviazione giornaliero ottenuto dall'abilitazione della registrazione del bucket (per suggerimento di Brandon) non funzionerà per te, una cosa che potresti fare per velocizzare le cose su è dividere la richiesta. Ad esempio, si potrebbe fare qualcosa di simile:

gsutil du -s gs://my-bucket-1/a* > a.size & 
gsutil du -s gs://my-bucket-1/b* > b.size & 
... 
gsutil du -s gs://my-bucket-1/z* > z.size & 
wait 
awk '{sum+=$1} END {print sum}' *.size 

(supponendo che i vostri sottocartelle sono denominate iniziando con le lettere dell'alfabeto inglese, in caso contrario, avresti bisogno per regolare come è stato eseguito i comandi di cui sopra).

Problemi correlati