Come prestazioni / benchmark test di un'applicazione Rails con il database del mondo reale?
-
26-09-2019 - |
Domanda
Vorrei prestazioni testare un'applicazione Rails.
I dati del mondo reale è di 100 MB.
Ma Rails ricostruisce sempre il database di test, che sovrascrive i dati del mondo reale.
Così come per il test delle prestazioni?
Soluzione
vorrei creare un nuovo ambiente chiamato "performance". Hai bisogno di questo per replicare le impostazioni di produzione dell'app (classe caching, modelli, ecc) e quindi caricare il database. In passato ho creato un DB appositamente per il test delle prestazioni, ha creato una task rake che esegue il migrazioni necessaria / carico e quindi chiamato i binari sceneggiatura prestazioni.
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 Esecuzione Rails test di performance su dati reali che ha alcuni dettagli su questo approccio.
Altri suggerimenti
Ho una soluzione rapida per gli utenti di SQLite.
In TestCase
def setup
`cp db/development.sqlite3 db/test.sqlite3`
end
vorrei distribuire l'applicazione a un server di gestione temporanea (che è vicino al vostro ambiente di produzione). E generare dati nel database per il test più accurato. Si può dare un'occhiata a ffaker
gioiello per la generazione di dati falsi.
Quindi utilizzare uno strumento di terze parti per colpire la vostra applicazione. strumenti causa che si esegue sul server stesso influenzerà le prestazioni pure. Io preferisco Jmeter
come strumento di test di carico.
È possibile creare casi di test.
Per esempio si vogliono testare la vostra pagina di login. È possibile impostare i parametri di login e post per URL di accesso. Si potrebbe prendere in considerazione facendo le prove per le pagine che hanno operazioni di scrittura al database. Coloro che probabilmente sarà la vostra applicazione' collo di bottiglia.
Spero che questo aiuti.