Estou tentando executar o MySQL DBT2 Benchmark Tool , descompactei o arquivo e executei os seguintes comandos:
./configure --with-mysql
make
make install
mkdir /tmp/dbt
datagen -w 3 -d /tmp/dbt --mysql
scripts/mysql/mysql_load_db.sh --path /tmp/dbt --mysql-path /usr/bin/mysql
scripts/run_mysql.sh --connections 20 --time 300 --warehouses 3
Mas obteve a seguinte saída:
...
Stage 3. Starting of the test. Duration of the test 300 sec
STARTING DRIVER COMMAND: /root/dbt2-0.37.50.3/src/driver -d 127.0.0.1 -l 300 -wmin 1 -wmax 3 -spread 1 -w 3 -sleep 300 -tpw 10 -outdir /root/output/14/driver -p 30000 -warmup 0 -cooldown 20 -intermediate_timer_resolution 0
Shutdown clients. Send TERM signal to 5154.
Shutdown driver. Send TERM signal to 5190.
Stage 4. Processing of results...
Response Time (s)
Transaction % Average : 90th % Total Rollbacks %
------------ ----- --------------------- ----------- --------------- -----
Delivery 0.00 N/A 0 0 100.00
New Order 0.00 N/A 0 0 100.00
Order Status 0.00 N/A 0 0 100.00
Payment 0.00 N/A 0 0 100.00
Stock Level 0.00 N/A 0 0 100.00
0.00 new-order transactions per minute (NOTPM)
0.0 minute duration
0 total unknown errors
0.00 rollback transactions
0 second(s) ramping up
scripts/run_mysql.sh: line 632: 5154 Killed nohup $CLIENT_COMMAND > $OUTPUT_DIR/client.out 2>&1
scripts/run_mysql.sh: line 632: 5190 Killed nohup $DRIVER_COMMAND > $OUTPUT_DIR/driver.out 2>&1
Test completed.
Durante a execução, SHOW PROCESSLIST
mostrei que 20 clientes estavam conectados, todos dormindo.
Alguma ideia de por que nenhuma transação é executada?
Eu fiz o seguinte para reproduzir a saída que você está vendo de dbt2.
Centos 6.4 Instalados
MySQL instalado 5.1.69 via YUM
Innotop instalado para visualizar em tempo real todas as consultas e transações abertas
Corri o banco como você fez:
Innotop mostrou apenas 20 clientes ativos, mas nenhuma consulta ou transação aberta
O DBT2 fornece vários logs. No sistema que usei para teste, havia um diretório principal /root/output e um número para cada execução.
/root/output/N onde N é o número de execução.
No arquivo /root/output/3/client/error.log , encontrei as seguintes informações
Estou vendo ROLLBACK INICIADO em todo o log. Também estou vendo que certos procedimentos armazenados não estão instalados, como dbt2.payment
Procurei um pouco mais e há outro script que deve ser executado para criar os procedimentos armazenados no banco de dados dbt2.
Que dá a seguinte saída:
você correu
no seu servidor para carregar os procedimentos armazenados?
Depois de carregar os procedimentos armazenados do DBT2, executei o DBT2 novamente e, desta vez, vi transações na saída do Innotop
Percebi, porém, como você, que a saída do DBT2 ainda mostrava O's em todos os lugares, então aumentei o número de armazéns para 30. Meu pensamento era que não havia transações ou atividades suficientes para gerar resultados úteis
E como você pode ver, o DBT2 enviou resultados apropriados desta vez.