Mpu 2012 ppt

Post on 26-Jun-2015

396 views 2 download

description

Trabalho apresentado na 11ª Mostra da Produção Universitária, da FURG. Esse trabalho apresenta o começo da pesquisa, na qual foi pesquisado um benchmark que gerasse carga realista, para testes em um servidor.

Transcript of Mpu 2012 ppt

Geração de Carga para Processamento Online

de Transações usando TPC-C

RODRIGO HERPICH MÜLLER*

PROF. MS. ODORICO MENDIZABAL

* BOLSISTA DO PROGRAMA DE EDUCAÇÃO TUTORIAL CIÊNCIAS COMPUTACIONAIS - FURG

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 2

Sumário1. Introdução

2. Benchmarks

3. Conselho TPC

4. Padrão TPC-C

5. Benchmark-SQL

6. Resultados e Trabalhos Futuros

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 5

2. Benchmarks (continuação)

HD-Tach em execução CPU-M em execução

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 8

3. TPC (continuação)

Algumas empresas que compõem o TPC

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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.

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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...).

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 14

5. Benchmark-SQL (continuação)

13/04/2023 11ª MOSTRA DA PRODUÇÃO UNIVERSITÁRIA 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).