Avaliação de Desempenho
Prof. Kleber Rezende
kleber.rezende@ifsuldeminas.edu.br
Revisão – Fundamentos de Redes
Hierarquia de Protocolos;
Protocolo TCP (Transmission Control Protocol);
Solicitação HTTP viaja dentro de pacote ACK
durante estabelecimento de conexão TCP.
Ser ou não ser...
Será que se
aumentar-mos a banda da nossa internet de 5Mbps para 10Mbps teremos o dobro de velocidade na navegação de páginas na Web? Fonte: http://www.zazzle.com.br/pensador_engracado_de_rodin_cartao_postal-239396995191107135
Introdução
A infraestrutura de suporte aos serviços de redes
compreende muitos recursos de hardware, incluindo:
Estações de trabalho cliente;
Servidores com seus processadores e subsistemas de
armazenamento;
LAN e WAN;
Introdução
Vários processos de software compartilham este
recursos de hardware, incluindo: Servidores web;
Servidores de aplicação; Middleware;
Sistemas de gerenciamento de banco de dados (SGBD); Protocolos; e
Introdução
Exemplo:
Uma requisição de serviço na Web gasta uma parte de seu
tempo recebendo serviço em vários recursos (sendo processada);
e outra parte esperando nas filas pelos recursos. Os atrasos podem ser decompostos em:
(1) tempo de serviço: tempo gasto usando vários
recursos, como processadores, discos e redes; e
Tempo de resposta
Tempo decorrido entre o pedido e o
Tempo de resposta
O tempo de resposta ponta a ponta, ou seja, o tempo
percebido por um cliente para obter uma resposta de um pedido de serviço, pode ser dividido em dois componente principais:
Tempo da rede; e
Tempo de resposta
Exemplo:
Web site (desmembramento do tempo de resposta)
* Depende da largura de banda do link mais lento conectando o navegador ao Web site.
Tempo de Resposta
Tempo da rede Tempo do Web Site
Latência Tempo de
transmissão* Tempo de serviço Tempo de Fila
Tempo de resposta
Terminologia
Tempo de serviço: período de tempo durante o
qual um pedido está recebendo serviço de um recurso, como CPU, disco, segmento da LAN ou uma linha de transmissão.
Um pedido pode ter de visitar um recurso várias
vezes (por exemplo, mais de um I/O para um disco) antes que seja concluído.
A notação
S
Tempo de resposta
Terminologia
Tempo de espera: período de tempo gasto por um
pedido aguardando para ter acesso ao recurso i durante a j-ésima visita ao recurso
A notação abaixo indica este tempo.
Tempo de resposta
Terminologia
Demanda de Serviço: soma de todos os tempos
de serviço para um pedido no recurso i.
A notação abaixo indica este tempo.
Exemplo:
Se os pedidos a um Web site realizam 3,5 I/O na média para um certo disco.
e o tempo de serviço médio é de 10 ms
então Di = 35 ms (=3,5 x 10)
S
V
Tempo de resposta
Terminologia
Tempo na fila: soma de todos os tempos de espera
no recurso i para determinado pedido.
A notação abaixo indica este tempo.
Tempo de resposta
Terminologia
Tempo de residência: soma da demanda de
serviço com o tempo de fila para um pedido no recurso i.
A notação ao lado indica este tempo.
Tempo de resposta: é a soma do tempo de
residência de um pedido em todos os recursos.
´
Tempo de resposta
Resumindo
S
V
S
D
i i visitas j i i x j
Q
D
R
´
i i i
j visitas j i iW
Q
i cursos iR
R Re´
Demanda Fila Residência RespostaExercício – Tempo de resposta
Considere que um pedido a um Web site
utilize 10 ms de CPU no servidor Web e leia
10 blocos de 2048 bytes do disco do
servidor. O tempo de busca médio no disco
do servidor é de 9 ms, a latência média é de
4,17 ms e a taxa de transformação é de 20
MB/s. Qual o tempo de resposta mínimo
para este cenário?
Exercício – Tempo de resposta
Suponha:
link de rede de 0,5 Mbps;
RTT de 80ms;
Pedido (cliente
servidor) usa um quadro
ethernet completo (1518 bytes);
Resposta (servidor
cliente) requerer 8
Exercício – Tempo de resposta
Pelo enunciado tem-se,
D
cpu= 0,010 s
.
No disco, o tempo médio de serviço, S
d, é
Como são 10 leituras de blocos, tem-se:
D
= 10 x 0,0133 = 0,133 s
s TaxaTransf co TamanhoBlo dia LatênciaMé BuscaMédia f TempoTrans dia LatênciaMé BuscaMédiaS
d 0133 , 0 20000000 / 2048 00417 , 0 009 , 0 Exercício – Tempo de resposta
Como são 9 quadros enviados (1 do cliente e 8 do servidor), tem-se:
Drede = (9 x 1518 x 8)/500.000 = 0,22 s
A latência total é igual a 2 RTTs (um para o estabelecimento da conexão, 0,5 para o pedido HTTP atingir o servidor e 0,5 para o primeiro byte da resposta chegar ao navegador do cliente. Logo:
Exercício – Tempo de resposta
Assim, o menor valor possível para o tempo
de resposta será:
R ≥ Latência + D
rede+ D
cpu+ D
d= 0,16 + 0,22+ 0,01 + 0,133
= 0,523 s
Obs.: Nesta análise não foi considerado o tempo de espera em cada um dos recursos mencionados (rede, cpu e disco)
Ser ou não ser...
Será que se
aumentar-mos a banda da nossa internet de 5Mbps para 10Mbps teremos o dobro de velocidade na navegação de páginas na Web? Fonte: http://www.zazzle.com.br/pensador_engracado_de_rodin_cartao_postal-239396995191107135
Exercício – Análise de Protocolo
Qual a eficiência na transmissão de 56
quadros com 1250 bytes cada num link de
10 Mbps, considerando:
a) Protocolo Stop-and-Wait
b) Protocolo de Janela Deslizante de tamanho 8.
Obs.: Considere o atraso (ida e volta) de 10 ms e o
Carga de Trabalho
”Conjunto de todas as informações de
entrada que um sistema recebe durante um
determinado período de tempo.”[?]
Muito importante no planejamento de
Carga de Trabalho
Tempo de Serviço em Discos Isolados
Discos magnéticos são um componente
importante de qualquer servidor e estação de trabalho cliente;
Envolve mais componentes do que apenas os
discos usados para armazenar informa-ções;
Os tempos de acesso à informação armazenada
nos discos são muito maiores do que os tempos acesso na memória RAM;
Anatomia de um HD
Busca: movimento do
acionador para um cilindro específico (leitura/escrita);
Latência de rotação:
tempo de espera até que a rotação traga o setor desejado para o ponto exato onde se encontra o cabeçote de leitura/escrita.
Neste ponto, a transferência
Arquitetura Típica do Subsistema de E/S
1. Os pedidos de E/S são enviados ao sistemas de arquivo;
2. O cache armazena blocos de arquivo que foram usados recentemente;
3. Se o bloco desejado estiver no cache, nenhum acesso a disco é necessário (acerto
de cache – cache hit);
4. Caso contrário, houve perda de cache (cache miss) e o pedido é enviado ao driver do dispositivo;
Arquitetura Típica do Subsistema de E/S
5. O pedido é, então, enfileirado no driver do dispositivo;
6. O pedido é enviado à controladora de disco;
7. O cache de disco pode ser usado para antecipar a busca de blocos que poderão ser necessários no futuro próximo (leitura
antecipada);
8. A controladora de disco usa políticas de escalonamento do disco em sua fila, visando reduzir o número médio de cilindros atravessados pelo braço para
Tempo de Serviço Médio em um Subsistema de E/S - Terminologia
TempoBusca: tempo de busca médio
(em seg). Ou seja, tempo médio para posicionar o braço no cilindro correto;
Buscaaleat: tempo de busca médio (em
seg) para um pedido a um cilindro aleatório, fornecido pelo fabricante do disco;
VelDisco: velocidade de rotação do
disco (em RPM) (Fabricante);
Tempo de Serviço Médio em um Subsistema de E/S - Terminologia
LatênciaRotação: latência de rotação média, em segundos; ou seja, o tempo gasto aguardando-se que o disco gire até que o setor desejado esteja sob a cabeça de leitura/escrita;
TamanhoBloco: tamanho do bloco em bytes;
TaxaTransfer: taxa em que os dados são transferidos para/de um disco (em MBps);
TempoTransfer: tempo (em seg) para se transferir um bloco do disco para a controladora;
6 10 er TaxaTransf co TamanhoBlo fer TempoTrans
Tempo de Serviço Médio em um Subsistema de E/S - Terminologia
TempoControl: tempo gasto na controladora para processar um pedido de E/S;
Pperda: probabilidade de que o bloco desejado não esteja no cache de disco;
: tempo médio, em segundos, gasto na controladora mais disco para acessar um bloco em um disco
Sd
) (TempoBusca LatênciaRotação TempoTransfer
ol TempoContr P S perda d
Carga de Trabalho de Disco
É definida como uma sequência de
números de bloco de disco enviada ao
subsistema de disco;
Existem dois tipos de carga: aleatória e
Carga de Trabalho de Disco
Aleatória: é aquela em que os blocos
solicitados estão espalhados
aleatoria-mente pelo disco;
Sequencial: é aquela que apresenta
subsequências, chamadas carreiras, de
pedidos para blocos consecutivos no
disco.
Carga de Trabalho de Disco
Exemplos:
Carga de Trabalho Aleatória
10, 201, 15, 1023, 45, 39, 782
Carga de Trabalho Sequencial (com 2 carreiras)
4, 350, 351, 352, 353, 80, 104, 105, 106, 107, 108, 243 Primeira Carreira (350, 351, 352, 353) → Tam=4
Carga de Trabalho de Disco
Para cargas de trabalho aleatórias, temos que:
* Em um pedido aleatório pode-se esperar algo entre nenhuma rotação e uma rotação completa.
ãoDisco TempoRotaç tação LatênciaRo Busca TempoBusca reira TamanhoCar aleat perda
P
2 1 * 1 1Carga de Trabalho de Disco
Para cargas de trabalho sequenciais, temos que:
ãoDisco TempoRotaç reira TamanhoCar U reira TamanhoCar tação LatênciaRo reira TamanhoCar Busca TempoBusca reira TamanhoCar d aleat perda P ] 2 / ) 1 )[( 1 ( 2 1 1
Carga de Trabalho de Disco
Tabela com Latência de Rotação Média (em
rotações completas)
TamanhoCarreira Ud Latência de Rotação
4 4 4 0,1 0,5 0,8 0,54 0,69 0,80 8 8 8 0,1 0,5 0,8 0,54 0,72 0,85 16 16 16 0,1 0,5 0,8 0,55 0,73 0,88
Exercício – Tempo Médio de Busca
Qual é o tempo médio de busca para a carga de trabalho (4, 350, 351, 352, 353, 80, 104, 105, 106, 107, 108, 243), considerando que o tempo médio de busca aleatória (Buscaaleat) para o disco é de 9 ms? ms Busca Busca Busca Busca TempoBusca aleat aleat aleat aleat 75 , 3 12 5 5 12 5 4 12 4 12 3
Exercício – Tempo Médio de Busca
Qual é o tempo médio de busca para a carga de trabalho (70, 76, 77, 78, 104, 35, 36, 37, 38, 39, 40, 41, 42, 43), considerando que o tempo médio de busca aleatória (Buscaaleat) para o disco é de 12 ms?
Exercício – Tempo Médio de Serviço
O disco de um servidor de BD recebe pedidos a uma taxa de 30 pedidos/segundo. Uma análise de um rastreamento dos pedidos revelou que 35% dos pedidos são para blocos aleatórios e 65% são para sequências de blocos ou carreiras. O tamanho do bloco é de 1536 bytes. O tamanho de carreira médio medido para essa carga de trabalho é de 15 pedidos. O disco gira a 5400 rpm, tem uma busca média para pedidos aleatórios igual a 12 ms e uma taxa de transferência de 12 MBps. O tempo da controladora é igual a 0,15 ms. Qual é o
Exercício – Tempo Médio de Serviço
O disco de um servidor de BD recebe pedidos a uma taxa de 20 pedidos/segundo (0,020 pedido/ms). Uma análise de um rastreamento dos pedidos revelou que 20% dos pedidos são para blocos aleatórios e 80% são para sequências de blocos ou carreiras. O tamanho do bloco é de 2048 bytes. O tamanho de carreira médio medido para essa carga de trabalho é de 24 pedidos. O disco gira a 7200 rpm, tem uma busca média para pedidos aleatórios igual a 9 ms e uma taxa de transferência de 20 MBps. O tempo da controladora é igual a 0,1 ms. Qual é o tempo de serviço médio do disco?
Exercício – Tempo Médio de Serviço
ms ol TempoContr pedidos reira TamanhoCar MBps er TaxaTransf bytes co TamanhoBlo rpm VelDisco ms Buscaaleat 1 , 0 24 20 2048 7200 9 Do enunciado, tem-se:Exercício – Tempo Médio de Serviço
ms fer TempoTrans tação LatênciaRo TempoBusca ol TempoContr ms ms s bytes bytes er TaxaTransf co TamanhoBlo fer TempoTrans ms ãoDisco TempoRotaç tação LatênciaRo ms segundos VelDisco ãoDisco TempoRotaç ms Busca TempoBusca S P S da perda da aleat 4 , 13 ) 1 , 0 17 , 4 9 ( 1 1 , 0 ) ( 1 , 0 1000 / 10 20 2048 17 , 4 2 33 , 8 2 1 33 , 8 ... 00833 , 0 7200 60 60 9 6 Pedidos aleatórios:Exercício – Tempo Médio de Serviço
27
,
0
)
1
,
0
17
,
4
9
(
020
,
0
dU
Pedidos sequenciais: Pode-se aproximar a utilização do disco Ud
calculando a taxa de chegada multiplicada pela soma da busca aleatória média, latência média e tempo de transferência médio. Assim,
Exercício – Tempo Médio de Serviço
ms ms tação LatênciaRo ãoDisco TempoRotaç reira TamanhoCar U reira TamanhoCar tação LatênciaRo ms reira TamanhoCar Busca TempoBusca reira TamanhoCar S P ds d aleat perda 73 , 5 1 , 0 042 , 0 25 , 5 38 , 0 1 , 0 25 , 5 33 , 8 24 2 / ) 27 , 0 1 )( 1 24 ( 2 / 1 2 / ) 1 )( 1 ( 2 / 1 38 , 0 24 9 042 , 0 24 1 1 Pedidos sequenciais:Exercício – Tempo Médio de Serviço
ms
S
d
0
,
2
13
,
4
0
,
8
5
,
73
7
,
26
Enfim, o cálculo do tempo médio de serviço pode ser feito através da média ponderada entre os tempos de serviços calculados anteriormente.
Referência Bibliográfica
MENASCÉ, D. A. ALMEIDA, V. A. F.
Planejamento de Capacidade para Serviços na Web. São Paulo: Ed. Campus, 2003.
Exercício – Tempo de rede
A sonda Phoenix foi enviada ao espaço pela agência espacial norte-americana em 4 de agosto de 2007 e, desde que pousou em Marte, no dia 25 de maio de 2008, envia fotos para a Terra. Uma foto transmitida tinha o tamanho de 8x106
bytes e, quando enviada, a distância entre os dois planetas era de 60 bilhões de metros (60x109 m). Assumindo que o enlace
de comunicação entre a sonda e a base da missão na Terra é de 128 kbps, que não há elementos intermediários, e que a velocidade de propagação do sinal é a velocidade da luz no vácuo (3x108 m/s), quanto tempo, em segundos, se passou
entre o início do envio da foto até ela ser recebida completamente na Terra?
Exercício – Análise de Protocolo
Qual a eficiência na transmissão de 56
quadros com 1250 bytes cada num link de
10 Mbps, considerando:
a) Protocolo Stop-and-Wait
b) Protocolo de Janela Deslizante de tamanho 8.
Obs.: Considere o atraso (ida e volta) de 10 ms e o