2010-04-12 5 views

risposta

15

Vorrei creare un nuovo ambiente chiamato "prestazioni". Ne hai bisogno per replicare le impostazioni di produzione della tua app (cache di classe, modelli ecc.) E quindi caricare il database. In passato ho creato un DB specifico per il test delle prestazioni, creato un'attività rake che esegue le migrazioni/il carico necessarie e poi chiamato lo script delle prestazioni delle guide.

Si può anche trasformare il comportamento proiettore spento nei test - dipende da quale framework di test che si sta utilizzando.

Ho trovato anche questo utile post su Running Rails performance tests on real data che ha alcuni dettagli su questo approccio.

+0

Quel post sul blog non è più disponibile! –

0

Ho una soluzione rapida per gli utenti di SQLite.

In TestCase

def setup 
    `cp db/development.sqlite3 db/test.sqlite3` 
end 
0

vorrei distribuire l'applicazione a un server di gestione temporanea (che è vicino al vostro ambiente di produzione). E generare dati nel database per test più accurati. Puoi dare uno sguardo alla gemma ffaker per generare dati falsi. Quindi utilizzare uno strumento di terze parti per colpire la vostra applicazione. Gli strumenti che si eseguono sul server stesso influiscono anche sulle prestazioni. Preferisco lo Jmeter come strumento di test del carico. È possibile creare casi di test.

Ad esempio, si desidera testare la pagina di accesso. È possibile impostare i parametri di accesso e postare l'url di accesso. Prenderesti in considerazione l'esecuzione di test per le pagine che hanno operazioni di scrittura nel tuo database. Probabilmente sarà il collo di bottiglia della tua app.

JMeter User Manual

Jmeter Tutorial

Spero che questo aiuti.