AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 47111
Accepted
BenMorel
BenMorel
Asked: 2013-07-27 14:15:35 +0800 CST2013-07-27 14:15:35 +0800 CST 2013-07-27 14:15:35 +0800 CST

A execução do teste DBT2 resulta em 0,00 NOTPM

  • 772

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 PROCESSLISTmostrei que 20 clientes estavam conectados, todos dormindo.

Alguma ideia de por que nenhuma transação é executada?

mysql benchmark
  • 1 1 respostas
  • 1535 Views

1 respostas

  • Voted
  1. Best Answer
    Craig Efrein
    2013-07-31T07:44:02+08:002013-07-31T07:44:02+08:00

    Eu fiz o seguinte para reproduzir a saída que você está vendo de dbt2.

    1. Centos 6.4 Instalados

    2. MySQL instalado 5.1.69 via YUM

    3. Innotop instalado para visualizar em tempo real todas as consultas e transações abertas

    Corri o banco como você fez:

    [root@centos-cef dbt2-0.37.50.3]# scripts/run_mysql.sh --connections 20 --terminals 5 --time 300 --warehouses 3 --verbose
    

    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

    Tue Jul 30 16:57:23 2013
    Microseconds : 998724
    tid:-1511446784 mysql/dbc_payment.c:32
    mysql reports SQL STMT: stmt ERROR: 1305 PROCEDURE dbt2.payment does not exist
    Tue Jul 30 16:57:23 2013
    Microseconds : 998753
    tid:-1511446784 mysql/dbc_common.c:97
    ROLLBACK INITIATED
    
    Tue Jul 30 16:57:28 2013
    Microseconds : 859693
    tid:-1511713024 mysql/dbc_new_order.c:88
    mysql reports: SQL: call new_order(2, 5, 984, 1, 9, 90056, 2, 8, 47872, 2, 3, 48592, 2, 7, 21925, 2,                                 7, 96574, 2, 5, 53239, 2, 8, 30640, 2, 4, 39619, 2, 10, 86015, 2, 8,                                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                          0, 0, @rc),  ERROR: 1305 PROCEDURE dbt2.new_order does not exist
    Tue Jul 30 16:57:28 2013
    Microseconds : 859735
    tid:-1511713024 mysql/dbc_common.c:97
    ROLLBACK INITIATED
    

    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.

    scripts/mysql/mysql_load_sp.sh --database dbt2 --client-path /usr/bin/
    

    Que dá a seguinte saída:

    Load SP: delivery
    Load SP: new_order
    Load SP: new_order_2
    Load SP: order_status
    Load SP: payment
    Load SP: stock_level
    

    você correu

    scripts/mysql/mysql_load_sp.sh --database dbt2 --client-path /usr/bin 
    

    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

    [RO] InnoDB Txns (? for help)                             localhost, 2h7m, InnoDB 1s :-), 765.68 QPS, 22/0/0 con/run/cac thds, 5.1.69
    
    History  Versions  Undo  Dirty Buf  Used Bufs  Txns  MaxTxnTime  LStrcts
          6       102  0 0       1.56%     99.80%    21       00:00         
    
    ID   User  Host       Txn Status  Time   Undo  Query Text
    217  root  localhost  COMMITTED   00:00     0  COMMIT    
    

    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

    scripts/run_mysql.sh --connections 20 --time 300 --warehouses 30 --verbose
    
    Stage 4. Processing of results...
                             Response Time (s)
     Transaction      %    Average :    90th %        Total        Rollbacks      %
    ------------  -----  ---------------------  -----------  ---------------  -----
        Delivery   3.32      0.004 :     0.001          136                0   0.00
       New Order  44.59      0.027 :     0.095         1826             1654  90.58
    Order Status   4.20      0.002 :     0.001          172                0   0.00
         Payment  42.86      0.007 :     0.014         1755                0   0.00
     Stock Level   3.57      0.010 :     0.000          146                0   0.00
    

    E como você pode ver, o DBT2 enviou resultados apropriados desta vez.

    • 6

relate perguntas

  • Existem ferramentas de benchmarking do MySQL? [fechado]

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

  • Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?

  • Como um grupo pode rastrear alterações no esquema do banco de dados?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve