"quale tipo di carichi di un'applicazione in grado di gestire xxxx"
Lei ha ragione. Per rispondere a questo, testiamo!
Senza prove, non possiamo semplicemente dire qualcosa di così ampio come la nostra applicazione di rubini, in esecuzione su 2 dyno da heroku, in grado di gestire 100 richieste/sec, o 100 utenti simultanei. Dobbiamo testare. Il ridimensionamento può anche essere un affare complicato. Senza test, non sapremo quali componenti si adattano bene e quali no.
Per iniziare, abbiamo la nostra applicazione, il sistema sotto test. Stiamo già lavorando su Heroku, che ci dà accesso immediato al componente aggiuntivo New Relic. Potremmo provare ad attivare la versione gratuita di New Relic per vedere quali informazioni ci fornisce. C'è una versione a pagamento che potremmo provare anche durante le nostre "sessioni di ottimizzazione" se dobbiamo immergerci ulteriormente.
Quindi manca semplicemente il "driver", il processo che guiderà il carico sull'applicazione, utilizzando i flussi di processo più comuni (caricamento di immagini, navigazione di immagini, accesso, ecc.).
Per iniziare, abbiamo solo bisogno di 1-N dei nostri migliori amici disposti a comportarsi da utenti sul nostro sito mentre monitoriamo tutte le attività di New Relic. Misurare i tempi di risposta per le esperienze degli utenti, identificare le query lente in esecuzione, vedere dove la nostra applicazione sta spendendo il suo tempo.
Quando ci stanchiamo di acquistare i nostri amici tutta la birra per aiutarci, possiamo guardare ad automatizzare alcuni di questi flussi aziendali comuni utilizzando uno strumento di test di carico.Ci sono quelli commerciali: Mercury LoadRunner, Borland SilkPerformer e Microsoft Team Test.
Potremmo anche essere creativi usando strumenti di test funzionali come Watir o selenio, o anche wget fidato, o curl, per guidare il carico.
Possiamo usare i nostri laptop, o Amazon EC2, come agenti di caricamento, che genererebbero traffico utente sul sito eseguendo i nostri script.
Non deve essere duro come tutto questo, anche se le prove generalmente si trasformano in un pantano se non facciamo attenzione a verificare i flussi giusti e forse altrettanto importanti, misurando la nostra applicazione. Senza misure, non sapremo se le modifiche al codice o alla configurazione, hanno reso le cose migliori o peggiori.
disclaimer: Non ho mai avuto un'applicazione di Rails di produzione, ma se l'avessi fatto, userei New Relic per monitorarlo. Almeno per iniziare, soprattutto visto che siamo già su Heroku.
Ciao, grazie per l'aiuto. Sto ospitando usando heroku ma non sono sicuro di quale tipo di installazione devo gestire un traffico moderato? –