MySQL porta con se anche un tool chiamato mysqlslap. Si tratta di un programma diagnostico progettato per emulare il carico del client per un server MySQL e per segnalare i tempi di ogni fase. Funziona come se più client accedono contemporaneamente al server ed effettuino una serie di query.
Alcune opzioni come –create o –query consentono di specificare una stringa contenente un’istruzione SQL o un file contenente istruzioni per la fase di creazione (o uso) del database/tabella e per la fase di interrogazione. E’ psosibile usare l’opzione –delimiter per specificare un delimitatore (es il 😉 piuttosto che inserire le query su righe diverse come previsto di default.
L’analisi viene eseguita in tre fasi:
- Creare uno schema, una tabella e, facoltativamente, qualsiasi programma o dato archiviato da utilizzare per il test. Questa fase utilizza una singola connessione client.
- Eseguire il test di carico. Questa fase può utilizzare molte connessioni client.
- Pulizia (disconnetti, elimina la tabella se specificato). Questa fase utilizza una singola connessione client.
Questo solo un esempio per mysqlslap (con 50 clients che effettuano 200 query di select ognuno):
1 |
mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200 |
In alternativa è possibile scrivere le query da eseguire per la creazione/esecuzione in due file e poi eseguire:
1 |
mysqlslap --delimiter=";" --concurrency=5 --iterations=5 --query=query.sql --create=create.sql |
Se il database già esiste, si può usare:
1 |
mysqlslap --delimiter=";" --concurrency=5 --iterations=5 --query=query.sql --create-schema=DB_NAME |
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta