MySQL performance
Utilita mysqlslap
# Testovani s automaticky generovanymi querry
mysqlslap --user=sysadmin --password --host=localhost --auto-generate-sql --verbose
# testovani s realnymi query, napriklad ze slow query logu
mysqlslap --user=sysadmin --password --host=localhost \
--concurrency=20 \
--number-of-queries=1000 \
--iterations=10 \
--create-schema=employees \
--query="sloq_query.sql" \
--delimiter=";" \
--verbose --debug-info
Prakticky priklad simulace realnych dotazu
-
Ziskani realnych dotazu z produkce
# zapnu ukladani query do logu SET GLOBAL general_log=1, general_log_file='capture_queries.log'; # kdyz mam nasbirano dost zase to vypnu SET GLOBAL general_log=0; -
Zkopiruju si data na testovaci stroj (pouziji klasicky mysqldump, nebo data ze zalohy)
-
Soubor se ziskanymi dotazy je potreba projit scriptem, nebo rucne a udelat z nej soubor obsahujici dotazy
-
Pustim benchmark napriklad takto
mysqlslap --user=sysadmin --password --host=localhost \ --concurrency=10 \ --iterations=10 \ --create-schema=jmeno_db \ --query="capture_queries.sql" \ --verbose
Originalni zdroj je https://www.digitalocean.com/community/tutorials/how-to-measure-mysql-query-performance-with-mysqlslap