Configurazione dei benchmark di sysbench
Contents
Per i test automatici di MariaDB/MySQL si usa sysbench, da lp:sysbench
. Questa pagina descrive i parametri basilari e la configurazione da usare.
E' possibile trovare gli script wrapper che vengono usati per eseguire sysbench alla pagina lp:mariadb-tools
Parametri generali attuali
table_open_cache = 512 thread_cache = 512 query_cache_size = 0 query_cache_type = 0
Parametri di InnoDB attuali
innodb_data_home_dir = /data/mysql/ innodb_data_file_path = ibdata1:128M:autoextend innodb_log_group_home_dir = /data/mysql/ innodb_buffer_pool_size = 1024M innodb_additional_mem_pool_size = 32M innodb_log_file_size = 256M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_doublewrite = 0 innodb_flush_method = O_DIRECT innodb_thread_concurrency = 0 innodb_max_dirty_pages_pct = 80
Compilazione
Occorre installare MariaDB o MySQL in /usr/local e creare un symlink verso /usr/local/mysql. Per favore, si usi una versione non di debug! Su Mac OS X attualmente è necessario automake1.10.
./autogen.sh ./configure \ --without-drizzle \ --with-mysql-includes=/usr/local/mysql/include/mysql \ --with-mysql-libs=/usr/local/mysql/lib/mysql make optionally: make install
Avviare e preparare il database
mysqladmin -uroot drop sbtest mysqladmin -uroot create sbtest
I test
Si usa la versione più recente di sysbench, con il supporto allo scripting LUA. Pertanto i nomi dei test sono differenti da sysbench <= 0.4. Per ottenere risultati ragionevoli è meglio utilizzare un run time di 5 minuti.
Noi eseguiamo i test con 1, 4, 8, 16, 32, 64 e 128 thread.
NUM_THREADS="1 4 8 16 32 64 128" SYSBENCH_TESTS="delete.lua \ insert.lua \ oltp_complex_ro.lua \ oltp_complex_rw.lua \ oltp_simple.lua \ select.lua \ update_index.lua \ update_non_index.lua" NUM_THREADS=1 TEST_DIR=${HOME}/work/monty_program/sysbench/sysbench/tests/db ./sysbench \ --test=${TEST_DIR}/oltp_simple.lua \ --oltp-table-size=2000000 \ --max-time=300 \ --max-requests=0 \ --mysql-table-engine=InnoDB \ --mysql-user=root \ --mysql-engine-trx=yes \ --num-threads=$NUM_THREADS \ prepare ./sysbench \ --test=${TEST_DIR}/oltp_simple.lua \ --oltp-table-size=2000000 \ --max-time=300 \ --max-requests=0 \ --mysql-table-engine=InnoDB \ --mysql-user=root \ --mysql-engine-trx=yes \ --num-threads=$NUM_THREADS \ run
Test personalizzati aggiuntivi
Abbiamo scritto un paio di script personalizzati per SysBench:
- select_random_ranges.lua
- select_random_points.lua
Entrambi sono stati aggiunti al repository più recente di SysBench v0.5.