MySQL memiliki tool mysqlslap yang dapat membantu DBA dan pengembang untuk menguji beban server database. Anda dapat menguji server database menggunakan parameter
--auto-generate-sql atau dengan menguji setiap query yang digunakan oleh aplikasi.
Sebelum memulai pastikan server Anda telah terinstall MySQL minimal versi 5.7 keatas dan Saya sarankan untuk tidak menggunakan server yang sedang live / produksi agar tidak mengganggu aktivitas dari aplikasi Anda.
Kemudian Anda dapat menambah file .my.cnf pada home root atau home user agar setiap eksekusi mysqlslap tidak perlu menggunakan parameter --user dan --password
[client]
user=youruser
password=yourstrongpassInstall Sample Database #
Download employees sample database.
wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2Selanjutnya extract file.
tar -xaf employees_db-full-1.0.6.tar.bz2Import sample database.
mysql -t < employees_db/employees.sqlUsing mysqlslap #
Benchmarking with Auto-generated SQL
Untuk percobaan pertama akan menguji koneksi tunggal dengan SQL yang digenerate otomatis.
# mysqlslap --auto-generate-sql
Benchmark
Average number of seconds to run all queries: 0.015 seconds
Minimum number of seconds to run all queries: 0.015 seconds
Maximum number of seconds to run all queries: 0.015 seconds
Number of clients running queries: 1
Average number of queries per client: 0Dari output tersebut, Anda akan mengetahui jumlah detik rata-rata, minimum, dan maksimum yang dibutuhkan untuk menjalankan query.
Sekarang coba dengan 25 koneksi secara bersamaan dan jalankan query yang digenerate otomatis selama 10 kali.
mysqlslap -c 25 -i 10 --auto-generate-sqlBenchmarking with Custom Queries
Jika ingin menjalankan custom query gunakan parameter --create-schema untuk menentukan database, lalu --query untuk menentukan query yang akan dijalankan.
mysqlslap -c 25 -i 10 --create-schema=employees --query="SELECT * FROM dept_emp"Anda dapat menambahkan beberapa query sekaligus ke file tertentu untuk menjalankan beberapa query sekaligus.
mysqlslap -c 25 -i 10 --create-schema=employees --query="/home/user/select_query.sql"