UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT"

Transcrição

1 UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT Polyana Roberta Pereira VALIDAÇÃO EMPÍRICA DE MODELOS DE DESEMPENHO DE SERVIDORES WEB Joinville 2011/1

2 POLYANA ROBERTA PEREIRA Validação Empírica de Modelos de Desempenho de Servidores Web Trabalho de Conclusão de Curso apresentado ao UDESC, como requisito parcial para a obtenção de grau de Bacharel de Ciência da Computação, sob a orientação do professor Rafael Rodrigues Obelheiro. Joinville 2011/1

3 PEREIRA, POLYANA R.. Validação Empírica de Modelos de Desempenho de Servidores Web Joinville: UDESC, 2011/1.

4 POLYANA ROBERTA PEREIRA Trabalho de Diplomação sob o título Validação Empírica de Modelos de Desempenho de Servidores Web, apresentado por Polyana Roberta Pereira, e aprovado em 10 de junho de 2011, em Joinville, pela banca examinadora constituída conforme abaixo: Rafael Rodrigues Obelheiro, Doutor - UDESC Maurício Aronne Pillon, Doutor - UDESC Ricardo Ferreira Martins, Mestre - UDESC Ricardo José Pfitscher, Especialista

5 À minha família, alicerce que me dá base para continuar sempre lutando.

6 AGRADECIMENTO Agradeço a Deus pelo dom da vida, renovado a cada provação que se apresenta e nos sonhos que se concretizam. Aos meus pais, Antonio e Candida, por todo o apoio e principalmente por serem meu maior exemplo. A minha querida irmã Soraya, pelo companheirismo incondicional. Ao meu noivo Diógenes, pela compreensão nos dias de ausência e pelo apoio constante. A minha amiga Heloisa pela ajuda e por ter vivenciado comigo todos os desesperos deste semestre. A minha amiga Edicarsia pela força e ombro amigo, muitas vezes solicitado no decorrer deste trabalho. Ao professor Maurício pela colaboração neste trabalho. E, finalmente, ao meu orientador Rafael Rodrigues Obelheiro, pela dedicação, paciência e crescimento proporcionado em cada reunião realizada.

7 Para realizar grandes conquistas, devemos não apenas agir, mas também sonhar; não apenas planejar, mas também acreditar. ANATOLE FRANCE

8 RESUMO A determinação da capacidade adequada de sistemas distribuídos, baseados na Web, exige um planejamento cuidadoso, de modo que: a satisfação do usuário seja garantida; os objetivos da empresa sejam alcançados e os retornos de investimento sejam aumentados. Dentre as diferentes métricas utilizadas para avaliar o desempenho de um servidor Web, o tempo de resposta, vazão e utilização de recursos são comumente utilizados, pois estão relacionados à velocidade do sistema. Os modelos analíticos são baseados em um conjunto de equações matemáticas utilizadas para propor métricas de desempenho a partir de parâmetros do modelo. Através destes modelos, é possível validar se os mesmos se aproximam dos sistemas reais. O objetivo geral deste trabalho é realizar a avaliação de modelos de desempenho de servidores Web inicialmente por meio de modelagem analítica e em seguida pela experimentação, sendo possível desta forma, avaliar o quanto estes modelos se aplicam a realidade. Palavras-chave: Servidores Web. Avaliação de desempenho. Modelagem analítica. Teoria de filas. Planejamento da capacidade.

9 ABSTRACT The determination of the appropriate capacity of Web-based distributed systems requires careful planning, so that user satisfaction is guaranteed, the company s goals are achieved and the investment returns are increased. Among the various metrics used to evaluate the performance of a Web server, the response time, throughput and resource utilization are commonly used because they are related to system speed. The analytical models are based on a set of mathematical equations used to propose performance metrics from the model parameters. Through these models, it is possible to validate whether they are close to real systems. The overall objective of this work is the evaluation of performance models of web servers initially through analytical modeling and then by trial, thus making it possible to assess how these models apply to reality. Keywords: Web server performance evaluation. Analytical modeling. Queuing theory. Capacity planning.

10 LISTA DE ILUSTRAÇÕES Figura 1 Possíveis resultados de um pedido de serviço Figura 2 Decomposição do tempo de resposta de uma requisição Web.. 23 Figura 3 Visão em nível de sistema Visão em nível de componente Figura 4 Rede de filas Figura 5 Diagrama de transição de estados Figura 6 Modelo de servidor web em nível de componente Figura 7 Diferentes camadas de monitoração em um servidor web Figura 8 Cenário do experimento Figura 9 Exemplo de saída da ferramenta Httperf para a configuração citada Figura 10 Decomposição do campo Reply Time da ferramenta Httperf Figura 11 Exemplo de saída da ferramenta Iostat Figura 12 Exemplo de saída da ferramenta Mpstat Figura 13 Gráfico do tempo de resposta - nível de componente Figura 14 Gráfico com as influências de cada recurso no tempo de resposta 49 Figura 15 Gráfico do tempo de resposta - nível de sistema

11 LISTA DE TABELAS Tabela 1 Quadro de Critérios Técnicas Tabela 2 Influência da CPU Tabela 3 Influência do disco Tabela 4 Influência da rede Tabela 5 Tempo de Resposta - Nível de componente Tabela 6 Porcentagem da influência da rede, CPU e disco no tempo de resposta Tabela 7 Métricas obtidas para o modelo em nível de sistema Tabela 8 Tempo de Resposta - Nível de sistema

12 SUMÁRIO 1 INTRODUÇÃO OBJETIVO GERAL OBJETIVOS ESPECÍFICOS ESTRUTURA DO TRABALHO AVALIAÇÃO DE DESEMPENHO AVALIAÇÃO DE DESEMPENHO DE SERVIDORES WEB Técnicas de desempenho Métricas de desempenho MODELAGEM ANALÍTICA Redes de filas Leis Fundamentais EXPERIMENTAÇÃO CONSIDERAÇÕES PARCIAIS DESEMPENHO DE SERVIDORES WEB MÉTRICAS PARA SERVIDORES WEB Tempo de resposta Throughput Disponibilidade Utilização MODELOS ANALÍTICOS PARA SERVIDORES WEB EXPERIMENTAÇÃO COM SERVIDORES WEB CONSIDERAÇÕES PARCIAIS AVALIAÇÃO EXPERIMENTAL DESCRIÇÃO GERAL DO OBJETIVO DOS TESTES DESCRIÇÃO DO AMBIENTE DE TESTES Geração de carga e interpretação dos resultados Ferramenta Httperf Processo de monitoração

13 4.2.3 Modelagem Analítica EXPERIMENTOS REALIZADOS Modelo em nível de componente Modelo em nível de sistema DISCUSSÃO DOS RESULTADOS CONCLUSÃO REFERÊNCIAS ANEXOS

14 14 1 INTRODUÇÃO A Web se tornou um componente essencial da infraestrutura de informação de muitas organizações. Serviços Web são cada vez mais utilizados para a realização de negócios e para a condução das operações cotidianas de empresas e instituições das mais variadas naturezas. A Web se baseia no paradigma cliente-servidor, e a interação entre clientes e servidores Web utiliza o protocolo HTTP (Hypertext Transfer Protocol), que é um protocolo do tipo requisição-resposta. Dada a popularidade dos sistemas baseados na Web, a lentidão para atender requisições de usuários e episódios de inacessibilidade fazem com que os usuários percam a confiança em um site e acabem migrando para um concorrente, o que pode representar perdas significativas, tanto financeiras como de prestígio. Isso faz com que o desempenho e a disponibilidade de serviços Web ganhem crescente importância. Havendo muito suprimento de recursos (computacionais ou financeiros), a maior parte das questões de desempenho pode ser resolvida. A dificuldade surge quando os recursos são limitados, e é preciso determinar como alocar os recursos existentes para obter a melhor relação custo-benefício. Por exemplo, caso se detecte que um servidor Web esteja excessivamente lento, a melhor solução é trocar o processador, comprar um disco adicional ou adquirir um switch novo (supondo que a verba disponível permita apenas uma dessas três medidas)? Além de avaliar uma situação atual, outra necessidade frequente é analisar se um serviço existente é capaz de comportar demandas futuras. Por exemplo, será que o servidor de intranet de uma empresa com 50 funcionários conseguirá continuar desempenhando satisfatoriamente suas funções caso a empresa contrate mais 30 pessoas? Para responder a essas e outras questões, técnicas de planejamento de capacidade podem ser usadas. Essas técnicas permitem avaliar o desempenho de um sistema existente ou proposto, e determinar como incrementar esse desempenho de modo a se obter a melhor relação custo-benefício. Existem diferentes técnicas de ava-

15 15 liação de desempenho que dão suporte às tarefas de planejamento de capacidade, como a modelagem analítica, simulação e experimentação. A modelagem analítica utiliza equações e/ou algoritmos para representar de maneira abstrata o comportamento de um sistema, determinando as medidas de desempenho de interesse (métricas) em função de um conjunto de parâmetros de entrada (carga) (MENASCE; ALMEIDA, 2002). A simulação procura imitar o funcionamento de praticamente qualquer tipo de operação ou processo (sistema) do mundo real, por meio de técnicas matemáticas empregadas em computadores digitais (FREITAS, 2008). A experimentação realiza testes e medições em sistemas reais, o que permite obter resultados mais precisos, mas apresenta desvantagens como maior custo e dificuldade de isolar a influência de fatores ambientais externos ao sistema sob análise. Modelos analíticos são geralmente fáceis de trabalhar, permitindo avaliar rapidamente o comportamento do sistema modelado em diferentes cenários. Por outro lado, a abstração inerente à modelagem analítica torna essa técnica de avaliação menos precisa do que outras, como simulação e experimentação (JAIN, 1991). Para fins de planejamento de capacidade, considera-se aceitável que os resultados da modelagem tenham um desvio entre 10% e 30% dos resultados observados em um sistema real, a fim de garantir a validação (MENASCE; ALMEIDA, 2002). Existem diversos modelos de desempenho de servidores Web baseados em teoria de filas, que vão de modelos simples, que abstraem vários aspectos do sistema ((SLOTHOUBER, 1996); o modelo em nível de sistema de (MENASCE; ALMEIDA, 2002)) até modelos mais complexos e detalhados ((MEI; HARIHARAN; REESER, 2001); modelos em nível de componente de (MENASCE; ALMEIDA, 2002)). Esses modelos podem ser usados tanto para avaliação de desempenho como para planejamento de capacidade. Entretanto, um aspecto que é pouco explorado é a fidedignidade desses modelos, ou seja, em que medida os resultados fornecidos pelos modelos se aproximam do desempenho efetivamente observado em sistemas reais.

16 16 Sendo assim, este trabalho tem como objetivo validar dois modelos de desempenho de servidores Web apresentados em (MENASCE; ALMEIDA, 2002) através de diferentes métricas a fim de verificar a precisão dos mesmos. 1.1 OBJETIVO GERAL Avaliar a precisão com que os modelos analíticos de desempenho de serviços Web apresentados em (MENASCE; ALMEIDA, 2002) refletem o comportamento observado empiricamente. 1.2 OBJETIVOS ESPECÍFICOS a. Selecionar modelos analíticos de desempenho para avaliação. b. Obter, experimentalmente, valores adequados para os parâmetros dos modelos escolhidos. c. Caracterizar o desempenho esperado do serviço Web de acordo com os modelos escolhidos. d. Mensurar experimentalmente o desempenho do serviço Web. e. Comparar o desempenho teórico, descrito pelos modelos, com o desempenho observado experimentalmente. 1.3 ESTRUTURA DO TRABALHO O capítulo inicial do trabalho abrange uma contextualização sobre servidores Web e análise de desempenho. No capítulo 2, serão abordados os conceitos gerais da avaliação de desempenho de servidores Web, além das técnicas e métricas existentes. As duas técnicas utilizadas no trabalho, modelagem analítica utilizando redes de filas e a experimentação, serão explicadas de maneira mais detalhada neste capítulo.

17 17 No capítulo 3 serão explicadas algumas métricas que podem auxiliar na análise de desempenho de servidores Web, bem como os dois modelos analíticos utilizados no projeto e as ferramentas necessárias para monitoração e coleta dos dados nas diferentes camadas do sistema. No capítulo 4 será descrita a avaliação experimental, onde serão detalhados o objetivo dos testes desenvolvidos, do ambiente de testes, dos experimentos, além da discussão dos resultados. Por fim, no quinto capítulo é apresentada a conclusão do trabalho.

18 18 2 AVALIAÇÃO DE DESEMPENHO Este capítulo apresenta alguns aspectos importantes na avaliação de desempenho de servidores Web. Na seção 2.1, serão apresentados os conceitos gerais, bem como as métricas e técnicas existentes. A seção 2.2 explica uma das técnicas utilizadas no trabalho, a modelagem analítica, além do modelo utilizado por ela, a teoria de filas. Por fim, na seção 2.3 é descrita outra técnica empregada neste trabalho, a experimentação. 2.1 AVALIAÇÃO DE DESEMPENHO DE SERVIDORES WEB A popularidade das aplicações Web faz com que o seu desempenho seja um importante fator para os usuários e provedores dessas aplicações. Esse desempenho envolve aspectos dos clientes (usuários), dos servidores (que fornecem as aplicações) e da rede que interliga essas entidades. Do ponto de vista dos provedores da aplicação, portanto, o desempenho de servidores Web se torna crítico, pois é o fator sobre o qual eles podem exercer influência mais decisiva. Por meio da avaliação de desempenho de um servidor Web, é possível monitorar a intensidade da carga de trabalho, detectar gargalos, prever limitações de capacidades futuras e determinar a melhor relação custo-benefício ao realizar uma atualização do sistema (MENASCE; ALMEIDA, 2002). Como a Internet possui centenas de milhões de usuários e devido à aleatoriedade com que estes visitam os sites, prever a carga de trabalho e fazer o planejamento da capacidade torna-se um desafio. Além disso, a heterogeneidade de componentes, como navegadores e servidores, influenciam na dificuldade de monitoração e coleta de dados de desempenho (MEI; HARIHARAN; REESER, 2001). Diversos fatores críticos para a condução correta de um estudo de avaliação de desempenho são identificados, dentre os quais se destacam (JAIN, 1991):

19 19 a. Presença de objetivos bem definidos para compreender e identificar o problema a ser resolvido. b. Uso de uma abordagem sistemática, na qual os parâmetros do sistema, as métricas e as cargas de trabalho são selecionados com o que foi preestabelecido no sistema, resultando em conclusões precisas. c. Escolha das métricas corretas de desempenho, sendo que a vazão e o tempo de resposta são as mais utilizadas. d. Seleção da técnica de avaliação adequada (modelagem analítica, simulação e experimentação) para um determinado sistema. e. A adequação do nível de detalhes utilizado na modelagem, tem um grande impacto na formulação do problema. Os modelos não devem ser tão detalhistas nem escassos de detalhes. f. Suposição de que mudanças em relação à carga de trabalho irão ocorrer no futuro Técnicas de desempenho A escolha da técnica e das métricas são as etapas iniciais para realizar a modelagem de desempenho de um sistema. As técnicas são classificadas em modelagem analítica, simulação e experimentação. A seleção deve ser feita observando as limitações do ambiente de teste, tais como o tempo disponível para análise, as ferramentas disponíveis, o custo da modelagem e a precisão do resultado esperado (JAIN, 1991). A modelagem analítica consiste em um conjunto de fórmulas matemáticas que representam de maneira abstrata o comportamento de um sistema (MENASCE; AL- MEIDA, 2002). Exemplos de formalismos usados na construção de modelos analíticos incluem as redes de Petri (MARSAN; BOBBIO; DONATELLI, 1996) e a teoria de filas (DENNING; BUZEN, 1978). Já a simulação tem como objetivo capturar com mais fidelidade a natureza dinâmica e aleatória dos sistemas reais (CHWIF; MEDINA, 2006)

20 20 por intermédio da reprodução do comportamento do sistema avaliado em programas computacionais. Como exemplo de software de simulação, pode-se citar o Arena (BANKS et al., 2010). Por fim, na experimentação, os testes são realizados em um sistema real, permitindo resultados potencialmente mais precisos em relação aos modelos analíticos ou de simulação, mas que traz o risco de ser uma opção mais custosa ou difícil de visualizar (JAIN, 1991). Determinados critérios podem ser utilizados na escolha da técnica, como por exemplo, o estado do sistema, conforme tabela 1. Neste critério, a modelagem analítica e a simulação são técnicas que podem ser utilizadas para propor algo novo, enquanto que na experimentação é necessário possuir um protótipo semelhante ao sistema proposto. A confiança está relacionada à precisão fornecida pelo modelo e a avaliação de alternativas proporciona o nível de visualização da interação entre os diferentes parâmetros. O critério de credibilidade refere-se à maior aceitação das pessoas (especialmente as menos familiarizadas com avaliação de desempenho) de resultados obtidos por medições reais do que daqueles obtidos por meio de modelos matemáticos ou de simulação. Critérios Modelo Analítico Simulação Experimentação Estado Independente Independente Protótipo Tempo necessário Baixo Médio Varia Ferramentas Análise Programação Instrumentação Confiança Baixa Moderada Varia Avaliação de alternativas Fácil Moderado Difícil Custo Baixo Médio Alto Credibilidade Baixa Média Alto Tabela 1: Quadro de Critérios Técnicas Fonte: Jain (1991) A modelagem analítica é a técnica mais rápida e imprecisa entre as demais, pois exige numerosas simplificações e hipóteses em relação aos parâmetros do sistema. Seu custo é baixo, pois utiliza somente fórmulas e equações matemáticas para modelar o sistema. Os modelos analíticos possibilitam uma compreensão melhor sobre os efeitos de vários parâmetros e suas iterações, facilitando a avaliação do ambiente.

21 21 Já no caso da simulação, as linguagens de programação e ambientes de simulação auxiliam no processo, tornando o tempo da análise e o custo medianos. O resultado obtido é mais preciso que a modelagem analítica, por não precisar de grande número de hipóteses, aproximando-a dos sistemas reais. Esta técnica não permite uma visualização clara das relações entre os parâmetros utilizados (JAIN, 1991). A experimentação é a técnica com maior custo, devido ao número de equipamentos necessários para representar o sistema real. Ela utiliza ferramentas que possibilitam as medições em diferentes camadas do sistema, e a confiança dos resultados pode variar de acordo com, por exemplo, a configuração do ambiente, o tipo de carga utilizada e a duração do tempo em que o ambiente foi observado. Entre as três técnicas, esta é a que apresenta o maior nível de dificuldade na avaliação, pois nem sempre é possível concluir que determinado desempenho é consequência de algum parâmetro aleatório no ambiente ou de uma alteração em específico. Para que o desempenho de um sistema apresente resultados aceitáveis, são apresentadas três situações (JAIN, 1991): Não se deve confiar no resultado de uma simulação até que ele seja validado por meio da modelagem analítica ou da experimentação. Não se deve confiar no resultado de um modelo analítico até que ele seja validado por meio da simulação ou da experimentação. Não se deve confiar no resultado de uma experimentação até que ele seja validado por meio da simulação ou do modelo analítico Métricas de desempenho Para cada análise de desempenho é necessário, então, escolher um conjunto de critérios e métricas para auxiliar neste processo. As métricas podem ser classificadas em três grupos, velocidade, confiabilidade e disponibilidade, que correspondem respectivamente, às possíveis respostas do sistema a solicitações de serviços: o sistema

22 22 pode executar corretamente, incorretamente ou se recusar a fazê-lo, conforme ilustra a figura 1 (JAIN, 1991). Figura 1: Possíveis resultados de um pedido de serviço Fonte: Jain (1991) Quando um sistema funciona de maneira correta, seu desempenho pode ser medido pelo tempo necessário para realizar o serviço (tempo de resposta), a taxa na qual o serviço é realizado (processamento/throughput) e os recursos consumidos durante a execução do serviço (utilização). No caso de servidores Web, o tempo de resposta total de uma requisição, ou seja, tempo entre o envio de uma solicitação e o atendimento pelo servidor, pode ser decomposto em dois componentes principais: tempo da rede e tempo no Web site (MENASCE; ALMEIDA, 2002), como mostra a figura 2: a. Tempo da rede é o tempo decorrido entre as trocas de mensagens entre o navegador cliente e o site, e envolve dois componentes principais: Latência: número de vezes de ida e volta (RTT) envolvidos na troca de mensagens.

23 23 Tempo de transmissão: tempo necessário para transmitir todos os bytes trocados entre o navegador e o Web site. É dependente da largura de banda do enlace mais lento conectado b. Tempo do Web site: tempo gasto por um requisição no servidor Web, que também possui dois componentes básicos: Tempo de serviço: tempo gasto por uma requisição ao receber atendimento em um recurso, como CPUs, discos e segmentos da LAN. Tempo de fila: tempo de espera para utilizar um recurso que não está disponível. Figura 2: Decomposição do tempo de resposta de uma requisição Web Fonte: Menasce e Almeida (2002) Se um sistema funciona de maneira incorreta, é devido ao acontecimento de um erro. É importante classificar estes erros e determinar a probabilidade com que eles ocorrem. É possível citar como exemplo, a solicitação de um arquivo A e o recebimento do arquivo B. Quando um sistema não executa um serviço, ele é considerado falho ou indisponível. A classificação das falhas e a frequência com que elas acontecem são consideradas para verificar o desempenho do ambiente. Os tipos de falhas que podem ocorrer em um sistema são categorizados em três dimensões: (MENASCE; ALMEIDA, 2002). a. Duração:

24 24 Falhas permanentes: o sistema para de funcionar e não é possível repará-lo ou substituí-lo. Falhas recuperáveis: o sistema volta a funcionar depois que uma falha é recuperada. Falhas transientes: as falhas apresentam curta duração e podem não exigir muitas ações de recuperação. b. Efeito: Falhas funcionais: o sistema não realiza suas atividades de acordo com suas especificações funcionais. Falhas de desempenho: o sistema opera as funções solicitadas corretamente em tempo não hábil. c. Escopo: Parcial: alguns serviços fornecidos pelo sistema estão indisponíveis enquanto que outros encontram-se acessíveis para o usuário. Total: todos os serviços tornam-se indisponíveis. O foco deste trabalho é avaliar o desempenho de servidores web em termos de velocidade utilizando o tempo de resposta como métrica e não disponibilidade do sistema. 2.2 MODELAGEM ANALÍTICA Os modelos analíticos são baseados em um conjunto de fórmulas e/ou algoritmos de cálculo usados para gerar medições de desempenho a partir de parâmetros do modelo. A precisão do modelo pode ser definida de acordo com o número de detalhes com que os elementos do sistema são representados. Conforme o nível de detalhes, os modelos podem ser classificados como: modelo de desempenho em nível de

25 25 sistema e modelo de desempenho em nível de componente (MENASCE; ALMEIDA, 2002). O modelo de desempenho em nível de sistema, figura 3.a, leva em consideração somente a função de taxa de processamento, e o sistema é visto como uma caixa preta. Já no modelo de desempenho em nível de componente, também chamado de rede de filas (QN Queuing Networks) (MENASCE; ALMEIDA, 2002), os diferentes recursos do sistema e o modo como são usados pelas requisições são considerados, figura 3.b. A rede de filas pode ser visualizada como uma coleção de serviços, os quais representam recursos do sistema, e clientes, que representam usuários ou transações (LAZOWSKA; SEVCIK, 1984). Figura 3: Visão em nível de sistema Visão em nível de componente Fonte: Menasce e Almeida (2002) Um modelo de filas pode ser descrito através de um centro de serviços e uma população de clientes, que em algum instante solicitam um serviço. Em muitos casos, o atendimento é limitado a um número fixo de clientes. Se um novo cliente chega e não há possibilidade de atendê-lo, ele entra em uma fila de espera e aguarda até que o serviço esteja disponível. Desta forma, três elementos principais são identificados: o centro de serviço representando os recursos, a população de clientes representando as requisições e uma fila de espera gerada pelas requisições após um determinado período (WILLIG, 2003).

26 Redes de filas Sistemas computacionais, como servidores Web, processam várias requisições simultaneamente, sendo que os pedidos para utilizar determinados recursos ocorrem de forma paralela. Entretanto, o atendimento é realizado individualmente, as solicitações que não estão sendo atendidas devem aguardar sua vez em uma fila. À medida em que os serviços são atendidos, os mesmos são retirados da fila, enquanto que, constantemente, outros são inseridos no grupo (SLOTHOUBER, 1996). Um modelo de filas é caracterizado pelos seguintes parâmetros, ilustrados na figura 4: a. O tempo de chegada das requisições, que está relacionado à distribuição da probabilidade do intervalo de tempo entre as chegadas. b. O tempo de serviço dos clientes, que pode ser expresso por uma distribuição de probabilidade ou de forma aleatória. c. O número de servidores, que identifica a quantidade de postos de atendimento disponíveis no sistema. d. O número máximo de clientes que podem aguardar no sistema para receber atendimento. e. A limitação do tamanho da fila, que caracteriza as QN como abertas, onde o número de clientes é infinito, ou fechadas, onde este número é conhecido de antemão (ADAN; RESING, 2002). Alguns modelos consideram múltiplas classes, onde uma classe é um componente da divisão total da carga de trabalho enviada a um sistema. As classes também podem ser classificadas como abertas ou fechadas, conforme o número de pedidos ser variável ou fixo, respectivamente. Uma QN aberta possui todas as classes abertas, uma QN fechada possui todas as classes fechadas, e uma QN mista contém ambos os tipos de classes.

27 27 f. Disciplina de serviço, como por exemplo, primeiro que chega é o primeiro a receber atendimento, ou segundo a prioridade atribuída a cada requisição. Existem duas categorias para a disciplina de prioridade. No escalonamento preemptivo, o cliente que possui a mais alta prioridade é atendido independentemente de outro cliente, com prioridade menor, já estar sendo servido. Já quando um sistema é não preemptivo, o cliente com a maior prioridade é inserido no início da fila, porém só recebe atendimento quando o cliente que está recebendo serviço deixa o sistema. Figura 4: Rede de filas Os recursos em uma QN podem ser categorizados pela existência de enfileiramento ou não e se o tempo médio de serviço, S(n), depende do tamanho da fila n ou não. Recursos independentes de carga: representam recursos em que existe enfileiramento, mas o tempo médio de serviço não depende da carga; ou seja, S(n) = S para todos os valores de n. Recursos dependentes de carga: usados para representar recursos em que existe enfileiramento e o tempo médio de serviço depende da carga; ou seja, S(n) é uma função arbitrária de n.

28 28 Recursos de atraso: indicam situações em que não existe enfileiramento. Assim, o tempo médio gasto por um pedido em um recurso de atraso é o tempo de serviço do pedido. A função do tempo médio de serviço não depende do número de pedidos presentes no recurso; ou seja, S(n) = S para todos os valores de n (MENASCE; ALMEIDA, 2002) Leis Fundamentais As leis fundamentais são relações simples que não necessitam de qualquer suposição sobre a distribuição dos tempos de serviços ou intervalos entre as chegadas. Por serem derivadas das relações entre throughput, tempo de resposta, utilização do dispositivo e outros fatores relacionados, elas permitem resolver problemas de análise de desempenho (DENNING; BUZEN, 1978). Notações de algumas variáveis envolvidas nas leis fundamentais (DENNING; BU- ZEN, 1978): U k - Utilização do recurso k S k - Tempo médio de serviço para conclusão do pedido no recurso k N - Número médio de clientes no sistema R k - Tempo de residência: tempo médio que um cliente permanece no recurso k - soma do tempo de espera com o tempo de serviço V k - Número médio de visitas a um dispositivo k por um cliente D k - Demanda de serviço: tempo gasto por um cliente recebendo atendimento no recurso k X k - Throughput ou taxa de processamento médio da fila k Conhecida como resultado operacional (Denning apud Menascé e Almeida, 2002), por não necessitar de formulação matemática complexa, a Lei de Little, equação 2.1, é uma expressão muito utilizada na Rede de Filas. Ela demonstra que o número médio

29 29 de requisições no sistema aguardando por atendimento é igual ao produto da taxa média de processamento pelo tempo de resposta (MENASCE; ALMEIDA, 2002). N = X R (2.1) A lei da utilização, equação 2.2, especifica que a utilização de um recurso é igual ao produto da taxa de processamento médio da fila pelo tempo médio de serviço por pedido, ou seja, tempo médio que um recurso estava ocupado por pedido. U i = X i S i (2.2) A taxa média de processamento de uma fila, ou lei do fluxo forçado, equação 2.3, é descrita como o produto da taxa de processamento médio da fila pelo número médio de visitas à fila. X i = V i X 0 (2.3) Por meio da combinação das leis da utilização e do fluxo forçado, surge a lei da demanda de serviço, equação 2.4, que está relacionada com a utilização de recursos e a taxa de processamento do sistema. D i = X i S i = U i X 0 (2.4) 2.3 EXPERIMENTAÇÃO Os resultados fornecidos por modelos analíticos de desempenho dependem dos parâmetros que são usados para alimentar o modelo. Um modelo alimentado por parâmetros incorretos irá fornecer resultados inúteis. Portanto, a obtenção de valores adequados para os parâmetros de um modelo é essencial, e a principal maneira de se obter tais valores é por meio de experimentação. Nesse contexto, a experimentação consiste em aplicar uma carga de trabalho sobre o sistema e coletar dados sobre o seu desempenho ao processar essa carga. Para isso, são necessárias ferramentas

30 30 para geração de carga e para coleta de dados de desempenho, como monitores e benchmarks. Os monitores coletam os dados sem a geração de carga no sistema e procuram não interferir em seu funcionamento, já os benchmarks geram requisições de acordo com uma determinada carga de trabalho e coletam métricas relativas ao processamento dessas requisições. Para extrair conclusões dos números fornecidos por um benchmark, é importante conhecer o ambiente em que o teste foi realizado. Informações do processador, da rede e do software por exemplo, devem ser conhecidas, além de levar em consideração fatos em relação à similaridade da configuração do ambiente de teste e do sistema real e a representatividade da carga de trabalho simulada (MENASCE; ALMEIDA, 2002) Os monitores de desempenho são classificados em três tipos, de acordo com sua técnica de implementação: hardware, software e híbridos (MENASCE; ALMEIDA, 2002). Um monitor de hardware é uma ferramenta de medição que, através de sondas, consegue detectar eventos dentro de um sistema de computador. A medição é realizada através de um dispositivo eletrônico acoplado ao circuito, que reconhece o estado dos componentes de hardware, como registradores, locais de memória e canais de E/S, não prejudicando, desta forma, o consumo dos recursos do sistema. Como vantagens desta ferramenta tem-se: A portabilidade, pois é possível utilizar o monitor de hardware em diferentes tipos de ambientes de computação, uma vez que ele é independente de sistema operacional e aplicação. A minimização de overhead no sistema, devido ao fato de ser externo ao mesmo. Como esta ferramenta normalmente não acessa informações relacionadas ao software, a dificuldade em obter medições de desempenho que estejam ligadas a aplicação ou a carga de trabalho é uma desvantagem do monitor de hardware.

31 31 O monitor de software é utilizado para monitorar sistemas operacionais, redes e bases de dados (JAIN, 1991). Esta monitoração é realizada por meio de um conjunto de rotinas embutidas no próprio software. A cada ativação, diversas instruções são executadas, o que faz com que, quanto maior for o controle das entradas, mais fácil será a atividade de monitoramento (JAIN, 1991). Por utilizar os mesmos recursos do sistema para executar suas instruções, esta ferramenta pode ocasionar interferências significativas no ambiente de observação. Este tipo de instrumento de medição pode ser independente ou não do sistema operacional e dependente da aplicação, como por exemplo, um monitor em Java. O overhead no sistema é uma desvantagem do monitor de software (MENASCE; ALMEIDA, 2002). A combinação de monitores de hardware e software resulta em um monitor híbrido. Na modelagem analítica o objetivo da coleta e tratamento dos dados é determinar os valores que representam o comportamento médio das variáveis do sistema, e no caso da experimentação o objetivo é compreender o comportamento real das variáveis no ambiente de observação. Um determinado número de testes deve ser executado para que seja possível obter uma quantidade satisfatória de resultados. Um pequeno número de elementos amostrados pode gerar conclusões incorretas. A análise dos dados pode resultar na necessidade de um maior número de execuções do modelo para que se possa alcançar a precisão estatística sobre os efeitos desejados (FREI- TAS, 2008). 2.4 CONSIDERAÇÕES PARCIAIS Este capítulo apresentou alguns aspectos sobre avaliação de desempenho, bem como as técnicas e métricas que podem ser utilizadas. Foi dado enfoque nas duas técnicas que serão utilizadas neste trabalho, modelagem analítica (incluindo modelos em nível de sistema e de componente) e experimentação. As características das redes de filas, utilizadas para representar o comportamento de um sistema, também foram explicadas neste capítulo.

32 32 No próximo capítulo, serão discutidas algumas métricas voltadas a análise de desempenho de servidores Web, os dois modelos analíticos usados neste trabalho e as ferramentas que auxiliam na coleta dos dados do sistema.

33 33 3 DESEMPENHO DE SERVIDORES WEB Para realizar a análise de desempenho de um servidor web algumas métricas devem ser selecionadas para este propósito, além do tipo de modelo que se deseja utilizar (de acordo com o nível de detalhes esperado) e as ferramentas que auxiliam na coleta dos dados nas diferentes camadas do sistema. Na seção 3.1 serão apresentadas algumas métricas de desempenho, que podem ser utilizadas para avaliar um servidor web. Em seguida, na seção 3.2, são apresentados os dois tipos de modelos analíticos que serão utilizados durante o período do trabalho: modelo em nível de sistema e em nível de componente. Por fim, na seção 3.3 são descritas algumas ferramentas que serão empregadas na parte experimental do trabalho com o objetivo de obter os valores das métricas e consequentemente, a avaliação do desempenho do servidor web. 3.1 MÉTRICAS PARA SERVIDORES WEB A fim de verificar o desempenho de um servidor web, um conjunto de métricas deve ser escolhido para a avaliação. Para (JAIN, 1991) a forma de selecionar a métrica apropriada é realizando uma verificação dos serviços fornecidos e as possíveis respostas que podem ser obtidas. Ainda segundo este mesmo autor, a seleção inadequada das métricas é um erro comum na modelagem do sistema, pois em vez de escolher as métricas relevantes para o estudo, somente as mais fáceis de calcular são selecionadas Tempo de resposta O tempo de resposta é definido como o intervalo entre a requisição do cliente no navegador t e a resposta do servidor t, desta forma t resp = t t. Esta duração também inclui o tempo gasto na comunicação pela rede e o processamento na máquina

34 34 do cliente, ou seja, finalizando a requisição. Assim, o desempenho observado pelo cliente depende da capacidade do servidor, a carga da rede e da largura de banda, assim como da máquina do cliente (ALMEIDA; ALMEIDA; YATES, 1997) Throughput Throughput ou vazão é o número de requisições que podem ser atendidas pelo sistema em uma determinada unidade de tempo. Quando a vazão atinge seu nível máximo, ou seja, a carga de trabalho enviada já está no limite permitido, ela recebe o nome de capacidade nominal do sistema, expressa em requisições por segundo (JAIN, 1991) Disponibilidade A disponibilidade mede a fração de tempo em que um web site está em operação, ou seja, está relacionada à qualidade do serviço fornecido para os usuários. O desempenho de um sistema tem uma grande relação com a disponibilidade, pois a probabilidade de acontecerem falhas é muito mais alta quando um sistema é submetido a uma sobrecarga (MENASCE; ALMEIDA, 2002) Utilização A fração do tempo em que um recurso está ocupado é chamada de utilização, sendo que o oposto é conhecido como tempo ocioso. Alguns recursos, como processadores, estão sempre ocupados ou inativos, por isso medir sua utilização em termos de duração em que esteve ocupado é possível. Para outros recursos, como memória, apenas uma fração pode ser utilizado em um determinado momento. Desta forma, sua utilização é medida como a fração média utilizada durante um intervalo (JAIN, 1991).

35 MODELOS ANALÍTICOS PARA SERVIDORES WEB Os modelos de desempenho de servidores podem ser utilizados para representar o ambiente em diferentes níveis de detalhes, sendo classificados em nível de sistema, que possui uma maior abstração, e em nível de componente, que possibilita uma visão mais clara do ambiente. Serão utilizados os dois modelos na modelagem e na experimentação do projeto. No modelo em nível de sistema, o ambiente é visto como uma caixa preta, ou seja, os detalhes da iteração dos recursos e as requisições não são modelados explicitamente. O único fator levado em consideração é a taxa de processamento X 0 (k), que indica a taxa média de processamento como uma função do número de requisições k, existentes na caixa. A representação deste modelo é auxiliada pelo diagrama de transição de estados (STD state transition diagram) visualizado na figura 5, que mostra os estados em que o sistema pode ser encontrado, além de como é realizada a transição de um estado para o outro. As transições entre os estados são representadas por setas e correspondem a eventos físicos no sistema. A transição de um estado k para k+1 ocorre nas chegadas de requisições, a uma taxa de λ requisições/segundo ou transações/segundo. Quando uma requisição no servidor é concluída, o sistema retorna ao estado k-1, uma transição que ocorre com taxa µ. (MENASCE; ALMEIDA, 2002). Figura 5: Diagrama de transição de estados Fonte: (MENASCE; ALMEIDA, 2002)

36 36 Neste modelo, não existe a preocupação em relação a como o sistema chegou até certo estado k ou a duração do período em que ele esteve nesse estado, somente importa que o sistema esteja no estado k. Esta suposição recebe o nome de sem memória ou markoviana. Este modelo torna-se inviável a partir do momento em que muitas ações no sistema são modeladas, pois o número de estados aumenta proporcionalmente e caracteriza a explosão da quantidade de estados necessários para representar o ambiente (SCHREIECK; GERMAN; HIELSCHER, 2008). No nível de componente (figura 6), é possível observar os diferentes tipos de recursos do sistema e o modo como são usados pelas requisições (MENASCE; AL- MEIDA, 2002). Observa-se que a CPU e o disco são considerados explicitamente pelo modelo. As requisições chegam ao servidor com uma determinada taxa, aguardam atendimento na CPU, passam para o disco para receber o atendimento e finalizam o processamento da requisição passando novamente pela CPU. Figura 6: Modelo de servidor web em nível de componente 3.3 EXPERIMENTAÇÃO COM SERVIDORES WEB Um servidor web é uma complexa iteração entre plataforma de hardware, sistema operacional e software funcional de servidor, como servidores HTTP, de banco de dados e de aplicação (MEI; HARIHARAN; REESER, 2001). De acordo com (MENASCE; ALMEIDA, 2002), a fim de obter uma descrição quantitativa do comportamento do servidor, diversas ferramentas de monitoração podem ser utilizadas na coleta dos dados nas diferentes camadas do sistema, como pode ser visualizada na figura 7. Os dados

37 37 de entrada para os modelos de desempenho são obtidos por meio do monitoramento dos vários recursos. Figura 7: Diferentes camadas de monitoração em um servidor web Fonte: (MENASCE; ALMEIDA, 2002) Para auxiliar no processo de medição, monitores e ferramentas de benchmarks podem ser selecionados para este fim: Httperf: Ferramenta de benchmark para medição de desempenho na camada HTTP, que representa o comportamento de clientes através de requisições enviadas ao sistema. Como parâmetros avaliados pela ferramenta estão o número de requisições respondidas e o tempo de resposta destas requisições (HTTPERF, 2011). Autobench: Ferramenta de benchmark que executa um determinado número de testes contra o servidor, aumentando o número de conexões por segundo em cada iteração e ao final, automatiza os dados significativos da saída do httperf (AUTOBENCH, 2011). Iostat: Ferramenta em nível de sistema operacional que permite avaliar as métricas de desempenho dos dispositivos de armazenamento. Apresenta estatísticas de CPU e estatísticas de entrada/saída para dispositivos e partições. Métricas que podem ser obtidas pelo uso desta ferramenta: utilização de CPU/disco e estatísticas sobre requisições de disco (IOSTAT, 2011). Mpstat: O comando mpstat descreve a atividade de saída padrão de cada processador. A média global entre todos os processadores também é relatada (MPSTAT, 2011).

38 38 Netperf: Reporta o desempenho de uma rede de computadores por meio da coleta de dados na camada TCP/IP. Seu foco principal é a transferência de grandes quantidades de dados e na medição de desempenho de resposta utilizando tanto TCP como UDP. Com as informações do tempo gasto e do tamanho do pacote enviado, é possível medir a largura de banda total do enlace (NETPERF, 2011). Wireshark: Captura o tráfego da rede e possibilita um melhor entendimento do funcionamento de cada protocolo (WIRESHARK, 2011). Utilizando o httperf /autobench, os dados são coletados em nível da aplicação e com o iostat/mpstat, as informações são em nível de sistema. As ferramentas netperf /wireshark possibilitam a medição do desempenho da rede. 3.4 CONSIDERAÇÕES PARCIAIS Este capítulo apresentou um conjunto de métricas que pode ser escolhido durante a avaliação de desempenho de um servidor web. Foram apresentados também, dois modelos analíticos que serão utilizados durante o processo de modelagem e experimentação: modelo em nível de componente e modelo em nível de sistema. A distinção entre cada um está relacionada ao nível de detalhes que pode ser representado do ambiente. As ferramentas escolhidas para auxiliar no processo de coleta dos dados também foram citadas neste capítulo. No próximo capítulo, será descrito o ambiente de testes e os resultados da avaliação experimental.

39 39 4 AVALIAÇÃO EXPERIMENTAL Neste capítulo serão descritas todas as etapas que envolveram a parte experimental do trabalho, desde a descrição do ambiente de testes até os resultados gerados visando à validação dos modelos analíticos. 4.1 DESCRIÇÃO GERAL DO OBJETIVO DOS TESTES A primeira etapa para verificar analiticamente o desempenho de um servidor web é escolher um modelo que represente o seu comportamento. Os parâmetros utilizados estão relacionados com o nível de detalhes que será modelado. O principal objetivo dos testes realizados é avaliar a precisão com que os modelos analíticos de desempenho de servidores Web apresentados na seção 3.2 refletem o comportamento observado empiricamente. A estratégia geral deste trabalho é realizar experimentos sob condições controladas e comparar diretamente os resultados experimentais com os resultados do modelo. 4.2 DESCRIÇÃO DO AMBIENTE DE TESTES Os testes foram realizados no laboratório GRADIS (figura 8), entre dois computadores usando o sistema operacional Ubuntu e com as seguintes especificações de hardware: Processador: AMD Phenom II X4 B MHz (quad-core) Memória Ram: 4 GB Disco: ST AS, 500 GB SATA, UDMA/133 Placa de rede: Broadcom Corporation NetXtreme BCM5761, suporta 1 Gbps (operando a 100 Mbps).

40 40 Outros computadores foram representados no cenário, porém na hora dos experimentos não havia tráfego significativo na rede. Para a configuração do servidor, foi utilizado o Apache HTTP Server 2, pelo fato de ser o mais usado (NETCRAFT, 2011), multiplataforma (Linux, Windows, Mac, entre outras), fornecer suporte a Secured Sockets Layer (SSL) para transações seguras e apresentar logs customizáveis (MACEDO, 2003). Figura 8: Cenário do experimento Na seção 3.3 foram apresentados vários monitores e ferramentas de benchmarks que auxiliam no processo de medição dos dados. No decorrer dos experimentos, quatro ferramentas mostraram-se suficientes para a captura dos valores dos parâmetros existentes nos modelos analíticos: httperf, iostat, mpstat e netperf Geração de carga e interpretação dos resultados Ferramenta Httperf Por meio da ferramenta httperf foi possível gerar requisições a um servidor, de acordo com algumas características de carga de trabalho específicas, para que em seguida, as medições pudessem ser coletadas. Um fato destacado por (MENASCE; ALMEIDA, 2002), é que este tipo de ferramenta (benchmark de servidor web) normalmente é executada em LAN isolada, com uma pequena taxa de erro de transmissão. De acordo com (TANENBAUM; HERDER; BOS, 2006), 96,93% dos arquivos em um servidor web são iguais ou menores que 128 KB. Com base nestes dados, o tamanho dos arquivos requisitados durante os testes foi de 1 KB, 2 KB, 4 KB, 8 KB,

41 41 16 KB, 32 KB, 64 KB, 128 KB e 192 KB. Inicialmente foram criados arquivos contendo apenas zeros para serem utilizados na experimentação. Para confirmar que não há otimização pelo sistema de arquivos ao se tratar de arquivos zerados, ou seja, um grande conteúdo semelhante em um mesmo arquivo, foram gerados arquivos com conteúdos aleatórios. Pelo fato de não alterar significativamente os valores do tempo de resposta nos distintos tamanhos de arquivos, esta última opção de conteúdo foi mantida durante os outros testes realizados. Para minimizar os efeitos transientes nas medições realizadas, buscou-se gerar um grande número de requisições durante um longo período, sem saturar o servidor. Para isso, definiu-se que em cada teste seriam feitas requisições HTTP em 30 minutos, o que levou a uma taxa de geração de requisições de /(30x60) = 55 requisições por segundo. Cada teste foi feito seis vezes para cada tamanho de arquivo, e no final uma média foi calculada entre todos os tempos de resposta encontrados. A duração de cada teste mostrou-se suficiente para observar erros durante a transmissão de dados e com a quantidade de repetições anteriormente citada, foi encontrado um desvio padrão inferior a 1,5% da média, ou seja, não houve uma grande discrepância entre os valores obtidos. Durante o experimento, um único processo gerava as requisições ao servidor. Porém, devido ao fato do grande número de conexões em um curto espaço de tempo, em alguns momentos elas chegavam de forma paralela ao destino. No exemplo da figura 9, até nove conexões foram abertas em um determinado momento. O httperf possui a opção wset=n,x (HTTPERF, 2011), que permite percorrer uma lista de URIs a uma determinada taxa. O parâmetro N especifica o número de URIs distintas que devem ser geradas (no caso deste ambiente de teste esta variável assumiu o valor de ), e X especifica a taxa na qual cada URI será acessada. Esta busca ocorre em profundidade e cada arquivo é acessado somente uma vez, devido ao fato de X ser igual a 1. O objetivo é que os arquivos sejam buscados diretamente no disco e não na memória cache do computador.

42 42 A figura 9 mostra os dados de saída de uma execução desta ferramenta. Figura 9: Exemplo de saída da ferramenta Httperf para a configuração citada A análise e interpretação dos dados é a próxima etapa do desenvolvimento do trabalho. Os campos Request size tamanho da requisição e Reply size tamanho da resposta, foram usados no cálculo para a demanda de rede. O campo Reply time fornece informações em relação ao tempo levado pelo servidor para responder e quanto tempo demorou para receber a resposta. Neste exemplo, o servidor levou 0,7 milissegundos entre o envio do primeiro byte da solicitação e o recebimento do primeiro byte da resposta. O tempo para transferência foi de 0,8 milissegundos e o tempo de resposta foi então de 1,5 milissegundos. A figura 10 ilustra a influência de cada um destes tempos, no tempo final de resposta da requisição. Figura 10: Decomposição do campo Reply Time da ferramenta Httperf

43 43 Este sistema está em equilíbrio, pois o número de requisições presentes no sistema no início e no final de um intervalo de observação permanece igual, ou seja, a taxa de chegada é igual ao throughput do sistema Processo de monitoração Para coletar os dados em nível de sistema, duas ferramentas foram utilizadas: Iostat: usado para monitorar os dispositivos de E/S do sistema, observando o tempo de atividade dos dispositivos em relação à taxa de transferência média. Mpstat: reporta as atividades de saída padrão de cada processador disponível. As duas ferramentas foram programadas para coletar dados a cada 30 segundos. A figura 11 mostra a saída do iostat. Como parâmetros para o modelo, foram usados a utilização da CPU (100-%idle) e a utilização do disco, valor referente ao dispositivo sda5, onde estão os arquivos do servidor HTTP; no exemplo da figura, a utilização é de 1,07%. Figura 11: Exemplo de saída da ferramenta Iostat Pela ferramenta mpstat foi visualizada (figura 12) a utilização referente a cada processador, sendo a primeira linha, uma média de todos os campos mostrados pela ferramenta. Tanto o iostat como o mpstat foram usados para verificar a utilização da CPU, confirmando desta forma, o resultado final encontrado Modelagem Analítica O modelo analítico em nível de componente descrito por (MENASCE; ALMEIDA, 2002) é baseado em uma rede de filas e mostra que o desempenho de um servidor

44 44 Figura 12: Exemplo de saída da ferramenta Mpstat web é uma relação entre o desempenho da CPU, do disco e da rede. Para obter a avaliação destes recursos, o ambiente de medição aconteceu em nível de hardware e software. O desempenho destes recursos pode ser caracterizado pelas seguintes variáveis: X: Taxa de processamento do servidor; U i : Utilização do recurso i; D i : Demanda de serviço sobre um determinado recurso i; R i : Tempo de residência da requisição no recurso i; R 0 : Tempo de resposta final. Em relação a CPU/disco, a demanda de serviço no recurso é dada pela equação 4.1, e o tempo de residência final das requisições sobre o recurso é dado pela equação 4.2. D cpu/disco = U cpu/disco X (4.1) R cpu/disco = D cpu/disco (1 U cpu/disco ) (4.2) O tempo de residência de uma mensagem na rede, dado pela equação 4.3, é o tempo gasto para transmitir esta mensagem. Esse tempo é igual à razão do número de bytes para a transmissão incluindo o overhead do cabeçalho e o término do protocolo dividido pela largura de banda da rede. O overhead do protocolo depende

45 45 dos protocolos envolvidos e da fragmentação que pode ser necessária na camada de rede (MENASCE; ALMEIDA, 2002). R rede = TamanhoArquivo + Overhead LarguraBanda (4.3) O tempo total de resposta é a soma de todos os tempos de residência, conforme a equação 4.4. R 0 = R cpu + R d isco + R rede (4.4) 4.3 EXPERIMENTOS REALIZADOS Modelo em nível de componente O primeiro experimento comparou o tempo de resposta obtido com o httperf com o tempo de resposta fornecido por um modelo em nível de componente, que representa o servidor web como uma rede de filas. O modelo analítico adotado é o mesmo da figura 6, aumentado com o tempo de rede dado pela equação 4.3 (este tempo não aparece no modelo da figura 6). A rede de filas utilizada é aberta e de única classe. Esta classificação está relacionada ao fato da classe de pedidos ser aberta, ou seja, a chegada de novas requisições independe de requisições anteriores terem ou não sido atendidas. Os resultados obtidos por meio das equações 4.1 e 4.2 para a monitoração da CPU, podem ser visualizados na tabela 2. A demanda de disco, por ser uma propriedade mensurável, foi obtida de forma direta por meio da média do tempo gasto para ler uma determinada quantidade de arquivos, usando um programa C (Anexo A). O tempo de residência no disco foi calculada de forma semelhante a da CPU e os valores encontram-se na tabela 3.

46 46 CPU TamArq (KB) U cpu (%) D cpu (seg) R cpu (seg) 1 1,0572 0, , ,1029 0, , ,2578 0, , ,5658 0, , ,7719 0, , ,5620 0, , ,4603 0, , ,5199 0, , ,1698 0, , Tabela 2: Influência da CPU Disco TamArq (KB) U disco (%) D disco (seg) R disco (seg) 1 0,3161 0, , ,3680 0, , ,3705 0, , ,3534 0, , ,4660 0, , ,5575 0, , ,4153 0, , ,7393 0, , ,6696 0, , Tabela 3: Influência do disco Rede TamArq (KB) TamReq (B) Segmento TamReq (B) R rede (seg) , , , , , , , , , Tabela 4: Influência da rede

47 47 Para o cálculo do overhead, inicialmente é dividido o tamanho da requisição pelo MSS (Maximum Segment Size - Tamanho Máximo do Segmento) 1, neste caso 1448 bytes, para descobrir o número de segmentos necessários para transmitir a mensagem pela rede. Segmentos completos geram quadros de 1524 bytes, pois cada um desses quadros possui 1448 bytes de dados TCP, 32 bytes de cabeçalho TCP, 20 bytes de cabeçalho IP e 14 bytes de overhead do quadro Ethernet. Dois dados que permanecem fixos no cálculo da demanda de rede para os diferentes tamanhos de arquivos são a largura de banda e o overhead por quadro (66 bytes). Foi acrescentado ao cálculo de residência da rede o tempo de estabelecimento da conexão, onde 214 bytes são utilizados: 74 bytes - SYN (C S) + 74 bytes - SYN/ACK (S C) + 66 bytes - ACK (C S). Esses valores foram obtidos pela análise de tráfego de um dos experimentos usando a ferramenta Wireshark (WIRESHARK, 2011). Na tabela 4 é possível visualizar os valores encontrados para a rede. Como foi citado na seção 3.3, por meio da ferramenta de benchmark Netperf, é possível transferir uma grande quantidade de dados e avaliar a taxa de processamento da rede. O teste responsável por esta avaliação foi o TCP_STREAM, que no período de 60 segundos enviou pacotes entre dois computadores previamente definidos e com base no tempo gasto e no tamanhos dos pacotes enviados, foi calculada a largura de banda disponível (NETPERF, 2011). A largura de banda média reportada pelo Netperf foi de 93,67 Mbps, e este valor foi usado no cálculo do tempo de rede segundo a equação 4.3. Na tabela 5 é possível visualizar os tempos de resposta obtido pela ferramenta httperf (coluna 2) e os valores obtidos por meio da modelagem analítica (coluna 3). À medida que o tamanho do arquivo chega próximo de 32 KB, a diferença diminui a ponto de chegar em 7,71%. Conforme o tamanho do arquivo assume um valor maior que 32 KB, a diferença volta a aumentar gradativamente, (figura 13) mostrando algo 1 MSS: Limita o tamanho máximo do campo de dados de um segmento TCP. Caso uma aplicação escreva uma quantidade de bytes maior do que o MSS em um socket, esses dados serão divididos em vários segmentos TCP, que são transmitidos separadamente (KUROSE; ROSS, 2003)

48 48 Tempo de Resposta (ms) Tamanho de arquivo (KB) Medido Modelo Dif (%) 1 0,76 0,37 51,68 2 0,88 0,48 45,85 4 1,00 0,69 30,50 8 1,62 1,15 29, ,32 1,96 15, ,84 4,14 7, ,42 8,01 7, ,14 15,39 8, ,64 23,86 16,70 Tabela 5: Tempo de Resposta - Nível de componente semelhante a uma parábola. Precisões de 10% a 30% são consideradas aceitáveis no planejamento da capacidade (MENASCE; ALMEIDA, 2002). Figura 13: Gráfico do tempo de resposta - nível de componente Nos resultados analíticos, a influência de cada recurso no tempo final de resposta é visualizada na tabela 6 e ilustrada na figura 14. O disco apresentou uma pequena influência nos resultados. À medida que o tamanho do arquivo aumenta, cresce também a influência da rede para a transmissão da mensagem e consequentemente diminui a contribuição da CPU no tempo final de resposta.

49 49 TamArq/Recurso 1KB 2KB 4KB 8KB 16KB 32KB 64KB 128KB 192KB Rede 40,88% 52,23% 62,61% 71,36% 80,79% 75,18% 76,97% 79,73% 76,98% CPU 52,90% 42,55% 33,33% 25,21% 16,70% 16,24% 15,67% 15,38% 14,70% Disco 6,22% 5,22% 4,06% 3,43% 2,51% 8,58% 7,36% 4,89% 8,32% Tabela 6: Porcentagem da influência da rede, CPU e disco no tempo de resposta Figura 14: Gráfico com as influências de cada recurso no tempo de resposta Modelo em nível de sistema No modelo em nível de sistema, todo o sistema é modelado como uma "caixa preta", ou seja, os detalhes internos não são detalhados, e somente a função de taxa de processamento é considerada (MENASCE; ALMEIDA, 2002). Como dito anteriormente, supondo que o sistema está em equilíbrio operacional, o fluxo de entrada das requisições λ é igual ao fluxo de saída. Neste caso, a taxa de processamento X é igual a λ. Para obter a taxa de serviço (µ) do servidor para os diferentes tamanhos de arquivos, foi utilizada a ferramenta autobench (AUTOBENCH, 2011), que permite executar uma série de experimentos httperf para obter medidas do desempenho de um servidor web variando a carga de trabalho aplicada. No presente caso, usou-se o autobench para variar a taxa de chegada das requisições (λ), e adotou-se como taxa de serviço µ o maior valor de λ para o qual o servidor respondeu sem erros. Deve-se enfatizar que o modelo em nível de sistema só é válido quando λ < µ.

Avaliação de Desempenho em Sistemas de Computação e Comunicação

Avaliação de Desempenho em Sistemas de Computação e Comunicação Avaliação de Desempenho em Sistemas de Computação e Comunicação Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM UFES Objetivos

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Solitaire Interglobal

Solitaire Interglobal Solitaire Interglobal POWERLINUX OU WINDOWS PARA IMPLANTAÇÃO SAP Escolher entre as plataformas concorrentes de sistema operacional Linux e Windows para SAP pode ser uma tarefa confusa para as organizações.

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

Leia mais

Sistemas Operacionais

Sistemas Operacionais Andrique Amorim www.andrix.com.br professor@andrix.com.br Classificação dos Sistemas Operacionais Classificação Os sistemas operacionais podem ser classificados segundo diversos parâmetros e perspectivas.

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Simulação Transiente

Simulação Transiente Tópicos Avançados em Avaliação de Desempenho de Sistemas Professores: Paulo Maciel Ricardo Massa Alunos: Jackson Nunes Marco Eugênio Araújo Dezembro de 2014 1 Sumário O que é Simulação? Áreas de Aplicação

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

METODOLOGIA PARA ANÁLISE DE DESEMPENHO UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA METODOLOGIA PARA ANÁLISE DE DESEMPENHO DE SISTEMAS DE TRANSFERÊNCIA ELETRÔNICA DE FUNDOS PROPOSTA DE TRABALHO

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Avaliação de Desempenho de Sistemas. Conceitos Básicos de Sistemas e Modelos

Avaliação de Desempenho de Sistemas. Conceitos Básicos de Sistemas e Modelos Avaliação de Desempenho de Sistemas Conceitos Básicos de Sistemas e Modelos O que é Desempenho? Webster s? The manner in which a mechanism performs. Aurélio: Conjunto de características ou de possibilidades

Leia mais

Teoria de Filas. Prof. Gustavo Leitão. Campus Natal Central. Planejamento de Capacidade de Sistemas

Teoria de Filas. Prof. Gustavo Leitão. Campus Natal Central. Planejamento de Capacidade de Sistemas Teoria de Filas Prof. Gustavo Leitão Campus Natal Central. Planejamento de Capacidade de Sistemas 5/27/2010 Objetivo da Aula 5/27/2010 5/27/2010 OBJETIVO Apresentar os conceitos de teoria de filas e suas

Leia mais

Exame de Fundamentos da ITIL

Exame de Fundamentos da ITIL Exame de Fundamentos da ITIL Simulado A, versão 5.1 Múltipla escolha Instruções 1. Todas as 40 perguntas devem ser respondidas. 2. Todas as respostas devem ser assinaladas na grade de respostas fornecida.

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Sistemas de Gerenciamento de Banco de Dados

Sistemas de Gerenciamento de Banco de Dados Sistemas de Gerenciamento de Banco de Dados A U L A : C R I A Ç Ã O D E B A N C O D E D A D O S - R E Q U I S I T O S F U N C I O N A I S E O P E R A C I O N A I S P R O F. : A N D R É L U I Z M O N T

Leia mais

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Marcelo Lobosco DCC/UFJF Avaliando e Compreendendo o Desempenho Aula 09 Agenda Avaliando e Compreendendo o Desempenho Introdução Definindo Desempenho Medindo o Desempenho Desempenho

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Como medir a velocidade da Internet?

Como medir a velocidade da Internet? Link Original: http://www.techtudo.com.br/artigos/noticia/2012/05/como-medir-velocidade-da-suainternet.html Como medir a velocidade da Internet? Pedro Pisa Para o TechTudo O Velocímetro TechTudo é uma

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Avaliação de Desempenho de Sistemas

Avaliação de Desempenho de Sistemas Avaliação de Desempenho de Sistemas Introdução a Avaliação de Desempenho de Sistemas Prof. Othon M. N. Batista othonb@yahoo.com Roteiro Definição de Sistema Exemplo de Sistema: Agência Bancária Questões

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Abordagem de Processo: conceitos e diretrizes para sua implementação

Abordagem de Processo: conceitos e diretrizes para sua implementação QP Informe Reservado Nº 70 Maio/2007 Abordagem de Processo: conceitos e diretrizes para sua implementação Tradução para o português especialmente preparada para os Associados ao QP. Este guindance paper

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Prof. Dr. Rogério Galante Negri Redes de Computadores Prof. Dr. Rogério Galante Negri Rede É uma combinação de hardware e software Envia dados de um local para outro Hardware: transporta sinais Software: instruções que regem os serviços

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Engenharia de Sistemas Computacionais

Engenharia de Sistemas Computacionais Engenharia de Sistemas Detalhes no planejamento UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Introdução Na aplicação de um sistema

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

Gerenciamento de Incidentes

Gerenciamento de Incidentes Gerenciamento de Incidentes Os usuários do negócio ou os usuários finais solicitam os serviços de Tecnologia da Informação para melhorar a eficiência dos seus próprios processos de negócio, de forma que

Leia mais

MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:

MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES: A medida geral de desempenho de um sistema de computador: Depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes se comunicam entre si e do grau

Leia mais

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler Introdução Objetivos da Gestão dos Custos Processos da Gerência de Custos Planejamento dos recursos Estimativa dos

Leia mais

Manual do usuário. Mobile Auto Download

Manual do usuário. Mobile Auto Download Manual do usuário Mobile Auto Download Mobile Auto Download Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para a sua instalação e

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II 1) Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start O algoritmo

Leia mais

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige

Leia mais

Gerencie sua rede de comunicação de dados com eficiência, aumente a produtividade e utilize da melhor maneira todos os seus recursos

Gerencie sua rede de comunicação de dados com eficiência, aumente a produtividade e utilize da melhor maneira todos os seus recursos Gerencie sua rede de comunicação de dados com eficiência, aumente a produtividade e utilize da melhor maneira todos os seus recursos A infraestrutura de rede de comunicação de dados da sua empresa vem

Leia mais

Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.)

Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.) Gerencia de Rede (Desempenho) Professor: Guerra (Aloivo B. Guerra Jr.) Tópicos Gerencia de Rede Motivação da Gerência Desafios Principais Organismos Padronizadores Modelo Amplamente Adotado As Gerências

Leia mais

O que é a estatística?

O que é a estatística? Elementos de Estatística Prof. Dr. Clécio da Silva Ferreira Departamento de Estatística - UFJF O que é a estatística? Para muitos, a estatística não passa de conjuntos de tabelas de dados numéricos. Os

Leia mais

Relatorio do trabalho pratico 2

Relatorio do trabalho pratico 2 UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Registro e Acompanhamento de Chamados

Registro e Acompanhamento de Chamados Registro e Acompanhamento de Chamados Contatos da Central de Serviços de TI do TJPE Por telefone: (81) 2123-9500 Pela intranet: no link Central de Serviços de TI Web (www.tjpe.jus.br/intranet) APRESENTAÇÃO

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Aula 01 Introdução ao Gerenciamento de Redes

Aula 01 Introdução ao Gerenciamento de Redes Aula 01 Introdução ao Gerenciamento de Redes Leonardo Lemes Fagundes leonardo@exatas.unisinos.br São Leopoldo, 15 de outubro de 2004 Roteiro Apresentação da disciplina Objetivos Conteúdo programático Metodologia

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Cartilha Explicativa sobre o Software de Medição de Qualidade de Conexão (Serviço de Comunicação Multimídia)

Cartilha Explicativa sobre o Software de Medição de Qualidade de Conexão (Serviço de Comunicação Multimídia) Cartilha Explicativa sobre o Software de Medição de Qualidade de Conexão (Serviço de Comunicação Multimídia) Cartilha disponibilizada em atendimento ao disposto na Resolução Anatel n.º 574/2011 Página

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais