2014-05-15 14 views
7

Abbiamo appena passato a Google Compute Engine e riscontriamo gravi problemi con la velocità del disco. È stato circa il 5% di Linode o peggio. Non ha mai superato i 20 M/s per la scrittura e 10 M/s per la lettura. Il più delle volte è 15M/s per la scrittura e 5M/s per la lettura.Il disco della VM di Google Compute Engine è molto lento

Attualmente stiamo utilizzando una macchina n1-highmem-4 (4 vCPU, 26 GB di memoria). CPU & memoria non sono il collo di bottiglia. Basta eseguire uno script che legge le righe dal database PostgreSQL, elaborarle, quindi scrivere nuovamente in PostgreSQL. È solo per un lavoro comune aggiornare la riga del database in batch. Ho provato a eseguire 20 processi per sfruttare il multi-core, ma il progresso complessivo è ancora lento.

Pensiamo che il disco potrebbe essere un collo di bottiglia perché il traffico è anormalmente basso.

Infine abbiamo deciso di fare benchmarking. Abbiamo scoperto che non è solo lento, ma sembra avere un bug importante che è riproducibile:

  1. creare & connettersi a un'istanza
  2. eseguire il punto di riferimento per almeno tre volte:

    dd if=/dev/zero bs=1024 count=5000000 of=~/5Gb.file 
    

Abbiamo scoperto che diventa estremamente lento e non sono in grado di completare il benchmarking.

+0

Questa è una non dichiarazione una domanda e deve essere chiuso. –

+2

Vedo la dichiarazione e ho una domanda: come posso risolvere questo? – blackjack75

risposta

8

Le prestazioni del disco persistente sono proporzionali alle dimensioni del disco stesso e della VM a cui è collegato. Più grande è il disco (o la VM), maggiore è la prestazione, quindi in sostanza, il prezzo che si paga per il disco o la VM paga non solo per il disco/CPU/RAM ma anche per IOPS e velocità effettiva.

Citando il Persistent Disk documentation:

prestazioni del disco persistente dipende dalle dimensioni del volume e il tipo di disco selezionato. Volumi più grandi possono raggiungere livelli di I/O più elevati rispetto ai volumi più piccoli. Non ci sono addebiti I/O separati come il costo di la capacità di I/O è inclusa nel prezzo del disco persistente.

prestazioni del disco persistente può essere descritto come segue:

  • limiti IOPS prestazioni crescono linearmente con la dimensione del volume del disco persistente.
  • I limiti di throughput crescono anche in modo lineare, fino alla larghezza di banda massima per la macchina virtuale a cui è collegato il disco permanente.
  • Le macchine virtuali più grandi hanno limiti di larghezza di banda più elevati rispetto alle macchine virtuali più piccole.

C'è anche una tabella dei prezzi più dettagliato nella pagina che mostra quello che si ottiene per GB di spazio che si acquista (i dati qui sotto è aggiornato a partire da agosto 2014):

        Standard disks  SSD persistent disks 

Price (USD/GB per month)    $0.04    $0.025 
Maximum Sustained IOPS 
    Read IOPS/GB       0.3     30 
    Write IOPS/GB       1.5     30 
Read IOPS/volume per VM     3,000    10,000 
Write IOPS/volume per VM    15,000    15,000 
Maximum Sustained Throughput 
    Read throughput/GB (MB/s)    0.12     0.48 
    Write throughput/GB (MB/s)    0.09     0.48 
Read throughput/volume per VM (MB/s)  180     240 
Write throughput/volume per VM (MB/s) 120     240 

e esempio concreto sulla pagina di quello che una particolare dimensione di un disco ti darà:

come esempio di come è possibile utilizzare il grafico delle prestazioni per determinare il volume del disco che si desidera, conside r che una norma persistente disk da 500 GB vi darà:

  • (0,3 x 500) = 150 piccole letture casuali
  • (1,5 x 500) = 750 piccole scritture casuali
  • (0,12 x 500) = 60 MB/s di grandi letture sequenziali
  • (0,09 x 500) = 45 MB/s di grandi sequenziale scrive
Problemi correlati