2013-05-28 9 views
19

Ho una semplice applicazione di ordinazione online che ho creato. Probabilmente gestisce 25 ore a settimana, la maggior parte di quelli il lunedì e il martedì.Come vengono calcolate le ore di istanza della frontend sul motore dell'app?

Guardando il cruscotto vedo:

Billing Status: Free - Settings Quotas reset every 24 hours. Next reset: 7 hrs 
Resource    Usage 
Frontend Instance Hours  16%  4.53 of 28.00 Instance Hours 

4,53 ore sembrano follemente alto per il numero di utenti che ho.

Alcune delle mie pagine effettuare chiamate ad un database FileMaker memorizzati su un altro servizio e hanno latenze come:

URI   Reqs  MCycles  Latencies   
/profile 50   74   1241 ms 
/order  49   130   3157 ms 

mie pagine di autenticazione hanno anche alti latenze come lo chiamano a terzi:

/auth/google/callback 9 51 2399 ms 

Ancora non vedo come potrebbero aggiungere fino a 4,53 ore?

Qualcuno può spiegare?

risposta

16

Ti vengono addebitati 15 minuti ogni volta che un'istanza viene caricata.

Se si hanno poche richieste, ma sono distanziate, l'istanza si spegne e si incorre in un addebito di 15 minuti la volta successiva che l'istanza si alza.

Si potrebbe facilmente accumulare 4,5 ore di istanza con 18 richieste HTTP.

21

In aggiunta alla risposta precedente, ho pensato di aggiungere un po 'di più sulla fatturazione che potrebbe avere confuso. Google ti offre 28 ore di istanze gratuite per ogni periodo di fatturazione di 24 ore.

Idealmente si ha sempre un'istanza in esecuzione in modo che le chiamate all'app non debbano mai attendere l'avvio di un'istanza. Un'istanza può gestire un volume di chiamate abbastanza decente ogni minuto, quindi molto può essere ottenuto con quelle gratuite di 28 ore.

Hai un sacco di tempo zero esempio (consumato meno di 5 ore di istanze in diciassette ore di potenziale di fatturazione.) È necessario preoccuparsi di più su come ottenere questo superiore non inferiore a causa senza dubbio la maggior parte delle chiamate verso la vostra applicazione attualmente sono in attesa sia per la latenza di spin-up che per la latenza effettiva di esecuzione. Se stai utilizzando un'app Go, non è probabile che la procedura di spin-up sia un problema. Python, probabilmente un problema da piccolo a moderato, Java ...

Quindi pensa di mantenere viva l'istanza e di consumare il 100% della tua quota di istanza gratuita. In alternativa, assicurati di usare Go o Python (con una buona progettazione). Non usare Java.

+0

Quando si consiglia Python anziché Java, è solo perché GAE non è ottimizzato (in termini di spin-up) per Java, giusto? o c'è un'altra ragione significativa? – Ricardo

+2

Le istanze Java richiedono molto tempo per caricare su Go o Python. Ci sono state molte discussioni su questo argomento e i modi per ottimizzare Java per un caricamento più veloce delle istanze. Non sono una persona di Java, quindi non sono in grado di parlarne in modo efficace. Cerca nel gruppo Google App Engine e dovresti trovare molte informazioni e * dibattito * acceso *. – stevep

Problemi correlati