SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Geração de Carga para Processamento Online
       de Transações usando TPC-C
                   R O D R IGO H ER PIC H M Ü L L ER *
                PR O F. M S. O D O R IC O M EN D IZ ABAL

* BO L SISTA D O PR O G R AM A D E ED U C AÇ ÃO T U TO R IAL C IÊN C IAS
                    C O M PU TACIONAIS - F U R G
Sumário
1. Introdução
2. Benchmarks
3. Conselho TPC
4. Padrão TPC-C
5. Benchmark-SQL
6. Resultados e Trabalhos Futuros




5/12/2012                           11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA   2
1. Introdução
●   Sistemas distribuídos devem apresentar alta disponibilidade e desempenho
    aceitável;
●   Em altas cargas de trabalho, isso se torna um desafio;
●   Deve-se definir limites normais de funcionamento, e estratégias para contornar
    uma utilização maior do sistema;
●   Caso esses limites não forem detectados, pode ocorrer degradação do
    desempenho ao usuário.




    5/12/2012                      11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA              3
2. Benchmarks
• São programas usados para medir o desempenho de um sistema computacional, simulando
  cargas de trabalhos.


• Resultam em uma métrica, usada para fazer comparativos em diferenças sistemas, utilizados
  para o mesmo propósito.


• Podem ser específicos ou gerais.
  - Específico: Estimula uma parte específica do sistema operacional. Exemplo: CPU-M
  benchmark, HD Tach, entre outros.
  - Gerais: Estimulam o sistema como um todo, parte lógica e física, simulando atividades que
  são realizadas por usuários reais.



 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                      4
2. Benchmarks (continuação)




HD-Tach em execução                                          CPU-M em execução
 5/12/2012            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                       5
2. Benchmarks (continuação)
• Para que os benchmarks sejam confiáveis, eles devem simular, com precisão, usuários
  reais, utilizando o sistema.


• Nesse sentido, surgem consórcios, que definem especificações ao uso de ferramentas de
  testes.




 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                6
3. TPC
• Transactional Processing Perfomance Council (TPC) é uma organização sem fins lucrativos que
  define padrões e diretrizes para o uso consistente de benchmarks.


• É formado por representantes de diversas empresas de tecnologia.


• Considerado um dos mais confiáveis e, por isso, adotado por muitos fabricantes, tanto de
  hardware quanto de software.




 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                      7
3. TPC (continuação)




            Algumas empresas que compõem o TPC




5/12/2012           11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA   8
3. TPC (continuação)
• Padrões definidos pelo TPC:


    Nome                  Descrição

    TPC-E (novo padrão)   Benchmark para On-line Transaction Processing (OLTP)

    TPC-H                 Benchmark para suporte a decisões

    TPC-Energy            Benchmark de consumo de energia elétrica

    TPC-C                 Benchmark que analisa a capacidade computacional como um todo,
                          populando as tabelas de um banco de dados.




 5/12/2012                             11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                9
4. TPC-C
• Um dos padrões mais antigos do consórcio, sendo muito aceito pela indústria.


• Através da inserção de dados em um banco de dados, mensura a capacidade do sistema
  computacional.


• Sua métrica é chamada transaction per minute (tpm-C), que mede quantas transações são
  feitas por minutos.


• O padrão TPC-C somente define as especificações do benchmark, mas não faz uma
  implementação padrão.



 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                10
4. TPC-C
• Define quais tabelas deverão existir no banco de dados, bem como seus campos, chaves
  primárias, chaves estrangeiras e relacionamento entre elas.


• Transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que garante a
  integridade dos dados existentes.


• Diferentes tipos de operações: compra, cancelamento da ordem, verificação do estoque, status
  da entrega.




 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                   11
5. BenchmarkSQL
• Opção open-source ao padrão TPC-C.


• Escrito em JAVA, usando a API JDBC para conexão ao banco de dados.


• Conecta-se a qualquer banco que tenha um driver JDBC (MySQL, SQL Server, Oracle
  Database, Firebase, entre outros).


• Define-se o número de transações / s com os seguintes critérios de parada:
  - Número máximo de transações;
  - Tempo máximo atingido.



 5/12/2012                             11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA         12
5. BenchmarkSQL (continuação)
• O software apresenta a média de transações efetuadas até aquele momento, bem como o uso da
  memória que o mesmo está ocupando.


• A inserção pode ser feita de forma local (banco de dados no mesmo computador) ou remotamente
  (acessando um servidor, por exemplo).
  - Pode-se utilizar mais de um computador acessando o banco de dados, visando chegar ao limite do
  servidor.


• Possível controlar quantas threads serão executadas simultaneamente.


• Possível definir a frequência com que diferentes operações executam
  (compra, cancelamento, verificação do estoque...).



 5/12/2012                              11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                         13
5. Benchmark-SQL (continuação)




5/12/2012    11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA   14
6. Resultados e Trabalhos Futuros
• Com o uso do Benchmark-SQL, foi possível verificar um limite médio de transações realizadas
  em um computador, de uso cotidiano.


• Pretende-se realizar testes, juntamente com monitores de desempenho, para verificar onde
  ocorre o gargalo do sistema (CPU, memória, I/O bound).




 5/12/2012                            11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA                      15

Weitere ähnliche Inhalte

Andere mochten auch

SCM - Supply Chain Management (Gestão da cadeia de suprimentos)
SCM - Supply Chain Management (Gestão da cadeia de suprimentos)SCM - Supply Chain Management (Gestão da cadeia de suprimentos)
SCM - Supply Chain Management (Gestão da cadeia de suprimentos)Mauricio Mota da Silva
 
Supply Chain Management
Supply Chain ManagementSupply Chain Management
Supply Chain Managementvictor2888
 
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoSistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoAline
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentosFelippi Perez
 

Andere mochten auch (6)

Cadeia de Suprimentos
Cadeia de SuprimentosCadeia de Suprimentos
Cadeia de Suprimentos
 
SCM - Supply Chain Management (Gestão da cadeia de suprimentos)
SCM - Supply Chain Management (Gestão da cadeia de suprimentos)SCM - Supply Chain Management (Gestão da cadeia de suprimentos)
SCM - Supply Chain Management (Gestão da cadeia de suprimentos)
 
Supply Chain Management
Supply Chain ManagementSupply Chain Management
Supply Chain Management
 
04 cadeia de suprimentos
04 cadeia de suprimentos04 cadeia de suprimentos
04 cadeia de suprimentos
 
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e DistribuiçãoSistemas de Gestão da Cadeia de Suprimentos e Distribuição
Sistemas de Gestão da Cadeia de Suprimentos e Distribuição
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentos
 

Ähnlich wie Gerando carga TPC-C com BenchmarkSQL

ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eAlan Correa Morais
 
Tuning Banco de Dados
Tuning Banco de DadosTuning Banco de Dados
Tuning Banco de DadosFelipeCaiuby
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
CV - JCP Maio 2015_Brasil_atz
CV - JCP Maio 2015_Brasil_atzCV - JCP Maio 2015_Brasil_atz
CV - JCP Maio 2015_Brasil_atzKarlos Paiva
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídosluanrjesus
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosGustavo Lopes
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasCaio Lima
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealDenodo
 

Ähnlich wie Gerando carga TPC-C com BenchmarkSQL (20)

Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
 
Tuning Banco de Dados
Tuning Banco de DadosTuning Banco de Dados
Tuning Banco de Dados
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Decatron e VMTurbo
Decatron e VMTurboDecatron e VMTurbo
Decatron e VMTurbo
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
SIC_201_VRSJ
SIC_201_VRSJSIC_201_VRSJ
SIC_201_VRSJ
 
CV - JCP Maio 2015_Brasil_atz
CV - JCP Maio 2015_Brasil_atzCV - JCP Maio 2015_Brasil_atz
CV - JCP Maio 2015_Brasil_atz
 
Trabalho sic benchmark
Trabalho sic   benchmarkTrabalho sic   benchmark
Trabalho sic benchmark
 
Tpc h benchmarking no mysql
Tpc h benchmarking no mysqlTpc h benchmarking no mysql
Tpc h benchmarking no mysql
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
Webshow - Automação Laboratorial I
Webshow - Automação Laboratorial IWebshow - Automação Laboratorial I
Webshow - Automação Laboratorial I
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores Práticas
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo Real
 

Gerando carga TPC-C com BenchmarkSQL

  • 1. Geração de Carga para Processamento Online de Transações usando TPC-C R O D R IGO H ER PIC H M Ü L L ER * PR O F. M S. O D O R IC O M EN D IZ ABAL * BO L SISTA D O PR O G R AM A D E ED U C AÇ ÃO T U TO R IAL C IÊN C IAS C O M PU TACIONAIS - F U R G
  • 2. Sumário 1. Introdução 2. Benchmarks 3. Conselho TPC 4. Padrão TPC-C 5. Benchmark-SQL 6. Resultados e Trabalhos Futuros 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 2
  • 3. 1. Introdução ● Sistemas distribuídos devem apresentar alta disponibilidade e desempenho aceitável; ● Em altas cargas de trabalho, isso se torna um desafio; ● Deve-se definir limites normais de funcionamento, e estratégias para contornar uma utilização maior do sistema; ● Caso esses limites não forem detectados, pode ocorrer degradação do desempenho ao usuário. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 3
  • 4. 2. Benchmarks • São programas usados para medir o desempenho de um sistema computacional, simulando cargas de trabalhos. • Resultam em uma métrica, usada para fazer comparativos em diferenças sistemas, utilizados para o mesmo propósito. • Podem ser específicos ou gerais. - Específico: Estimula uma parte específica do sistema operacional. Exemplo: CPU-M benchmark, HD Tach, entre outros. - Gerais: Estimulam o sistema como um todo, parte lógica e física, simulando atividades que são realizadas por usuários reais. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 4
  • 5. 2. Benchmarks (continuação) HD-Tach em execução CPU-M em execução 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 5
  • 6. 2. Benchmarks (continuação) • Para que os benchmarks sejam confiáveis, eles devem simular, com precisão, usuários reais, utilizando o sistema. • Nesse sentido, surgem consórcios, que definem especificações ao uso de ferramentas de testes. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 6
  • 7. 3. TPC • Transactional Processing Perfomance Council (TPC) é uma organização sem fins lucrativos que define padrões e diretrizes para o uso consistente de benchmarks. • É formado por representantes de diversas empresas de tecnologia. • Considerado um dos mais confiáveis e, por isso, adotado por muitos fabricantes, tanto de hardware quanto de software. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 7
  • 8. 3. TPC (continuação) Algumas empresas que compõem o TPC 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 8
  • 9. 3. TPC (continuação) • Padrões definidos pelo TPC: Nome Descrição TPC-E (novo padrão) Benchmark para On-line Transaction Processing (OLTP) TPC-H Benchmark para suporte a decisões TPC-Energy Benchmark de consumo de energia elétrica TPC-C Benchmark que analisa a capacidade computacional como um todo, populando as tabelas de um banco de dados. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 9
  • 10. 4. TPC-C • Um dos padrões mais antigos do consórcio, sendo muito aceito pela indústria. • Através da inserção de dados em um banco de dados, mensura a capacidade do sistema computacional. • Sua métrica é chamada transaction per minute (tpm-C), que mede quantas transações são feitas por minutos. • O padrão TPC-C somente define as especificações do benchmark, mas não faz uma implementação padrão. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 10
  • 11. 4. TPC-C • Define quais tabelas deverão existir no banco de dados, bem como seus campos, chaves primárias, chaves estrangeiras e relacionamento entre elas. • Transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que garante a integridade dos dados existentes. • Diferentes tipos de operações: compra, cancelamento da ordem, verificação do estoque, status da entrega. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 11
  • 12. 5. BenchmarkSQL • Opção open-source ao padrão TPC-C. • Escrito em JAVA, usando a API JDBC para conexão ao banco de dados. • Conecta-se a qualquer banco que tenha um driver JDBC (MySQL, SQL Server, Oracle Database, Firebase, entre outros). • Define-se o número de transações / s com os seguintes critérios de parada: - Número máximo de transações; - Tempo máximo atingido. 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 12
  • 13. 5. BenchmarkSQL (continuação) • O software apresenta a média de transações efetuadas até aquele momento, bem como o uso da memória que o mesmo está ocupando. • A inserção pode ser feita de forma local (banco de dados no mesmo computador) ou remotamente (acessando um servidor, por exemplo). - Pode-se utilizar mais de um computador acessando o banco de dados, visando chegar ao limite do servidor. • Possível controlar quantas threads serão executadas simultaneamente. • Possível definir a frequência com que diferentes operações executam (compra, cancelamento, verificação do estoque...). 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 13
  • 14. 5. Benchmark-SQL (continuação) 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 14
  • 15. 6. Resultados e Trabalhos Futuros • Com o uso do Benchmark-SQL, foi possível verificar um limite médio de transações realizadas em um computador, de uso cotidiano. • Pretende-se realizar testes, juntamente com monitores de desempenho, para verificar onde ocorre o gargalo do sistema (CPU, memória, I/O bound). 5/12/2012 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 15