Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade



Documentos relacionados
Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade

Sistemas Distribuídos

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Varnish-Cache: Velocidade e disponibilidade para aplicações WEB

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

Aplicação Prática de Lua para Web

Modelagem e Simulação Material 02 Projeto de Simulação

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

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

Projeto de Redes Top-Down

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Manual dos Serviços de Interoperabilidade

Entendendo como funciona o NAT

Simulação Computacional de Sistemas, ou simplesmente Simulação

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

2 Atualidade de uma base de dados

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

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

Aula 01 Introdução ao Gerenciamento de Redes

Guia de Especificação de Caso de Uso Metodologia CELEPAR

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

29/06/ :30 Leite Júnior QUESTÕES CESPE BACKUP

Curso superior de Tecnologia em Gastronomia

GESTÃO DE SISTEMAS OPERACIONAIS II

Universidade Federal de Alfenas

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Introdução à Computação

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

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

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Engenharia de Sistemas Computacionais

Avaliação de Desempenho de Sistemas

SAP Customer Success Story Educação Park Idiomas. Park Idiomas: gestão centralizada com SAP Business One

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Introdução A Engenharia Da Computação

Classificação dos Sistemas de Informação

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

SISTEMAS DISTRIBUIDOS

TI em Números Como identificar e mostrar o real valor da TI

O custo da infra-estrutura no

Modelos de Arquiteturas. Prof. Andrêza Leite

Portaria Inep nº 249, de 02 de junho de Publicada no Diário Oficial da União em 04 de junho de 2014.

UM MODELO DE SIMULAÇÃO PARA ANÁLISE DO FLUXO DE CLIENTES EM UMA AGÊNCIA BANCÁRIA

Modelagem e Simulação

Engenharia de Requisitos Estudo de Caso

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Universidade Federal de Roraima Diretoria de Tecnologia da Informação SIG Software e Consultoria em T.I

Backup.

Processo de Desenvolvimento de Sites

Rodrigo B. Souza*, Adelardo A. D. Medeiros*

ENGENHARIA DE SOFTWARE I

7.Conclusão e Trabalhos Futuros

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Gerenciamento de Incidentes

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Roteiro para preparação de proposta de Trabalhos Técnico-Científicos

Sistemas de Informação I

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Projeto de Sistemas I

Simulação Transiente

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

Relatorio do trabalho pratico 2

Sistemas Operacionais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Fundamentos de Sistemas de Informação Sistemas de Informação

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Scitum reduz em 50% o tempo de produção de relatórios com CA Business Service Insight

BANCO CENTRAL DO BRASIL 2009/2010

V Semana de Ciência e Tecnologia IFMG - campus Bambuí V Jornada Científica 19 a 24 de novembro de 2012

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

ANÁLISE CRÍTICA DO PROCESSO DE CERTIFICAÇÃO ISO DA CONFIANÇA CIA. DE SEGUROS

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

ISO/IEC 12207: Gerência de Configuração

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem

Comparativo de desempenho do Pervasive PSQL v11

Manual de Usuário. Gestion Libre de Parc Informatique (Gestão Livre de Parque de Informática) Versão 1.1 NRC

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Engenharia de Software III

MODELO CLIENTE SERVIDOR

1

CURSO DE GRADUAÇÃO PRESENCIAL SISTEMAS DE INFORMAÇÃO

Sistemas de Gerenciamento de Banco de Dados

A UTILIZAÇÃO DA SIMULAÇÃO EM GESTÃO HOSPITALAR: APLICAÇÃO DE UM MODELO COMPUTACIONAL EM UM CENTRO DE IMOBILIZAÇÕES ORTOPÉDICAS

Projeto de controle e Automação de Antena

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA)

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Este Manual aplica-se a todos os Usuário de T.I. do Ministério Público de Goiás. ATIVIDADE AUTORIDADE RESPONSABILIDADE Manter o Manual Atualizado

Engenharia de Software

PLANEJAMENTO DA MANUFATURA

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Transcrição:

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade Tiago de Azevedo Santos tiago@iff.edu.br João José de Assis Rangel joao@ucam-campos.br RESUMO Este trabalho apresenta um modelo de simulação para análise da carga de requisições feitas em um servidor Web de alta disponibilidade, instalado no Instituto Federal Fluminense. O modelo foi gerado a partir de informações extraídas dos logs de sistema, os quais são arquivos gerados pelo sistema operacional após cada evento que nele acontece. O modelo permitiu analisar as atuais cargas de requisições feitas ao servidor Web, assim como suas limitações em relação ao número máximo de requisições suportadas na atual configuração. Palavras-chave: Simulação, Modelagem, Servidor Web, Redes de Computadores, Análise da Carga. Simulation model of a requisition process in a high availability web server ABSTRACT This paper presents a simulation model for the analysis of the load requisitions made in a web server of high availability, which was installed at the Instituto Federal Fluminense. The simulation model was generated from information extracted from system logs, which are files generated by the operating system after the occurrence of each event. The model allowed the analysis of the current load requisitions made to the web server, as well as its limitations in relation to the maximum number of requisitions supported in the current configuration. Key words: Simulation, Modeling, Web Server, Computer Network, Load Analysis. 248

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade 1. Introdução A convergência das tecnologias de comunicação e computação tem proporcionado o surgimento de novos tipos de aplicações e serviços oferecidos pela Internet, contribuindo substancialmente para o seu crescimento. Hoje, várias transações comerciais, antes realizadas apenas presencialmente com a participação do cliente ou por telefone, agora podem ser realizadas com a facilidade e flexibilidade propiciada pelo uso da Internet. Alguns exemplos desses novos serviços são: o comércio eletrônico, internet bank, comércio móvel (m-commerce), educação a distância, entretenimento e multimídia, entre outros. Todos esses serviços adotam a Internet como via de informação global e apresentam novas demandas em questões de desempenho, segurança e confiabilidade. Dentro desse cenário, motivado pelo crescimento do número de serviços oferecidos pela Internet, dentro do paradigma de mesmo serviço para todos da Internet atual, a comunidade científica desenvolve pesquisas na área de QoS (Qualidade de Serviço). Para suprir as necessidades das atuais aplicações web, garantindo requisitos de QoS, servidores web devem se tornar providos de mecanismos que garantam o atendimento aos clientes, por isso a importância de se analisar a reação do servidor quando deparado com sobrecargas. Segundo Vasiliou e Lutfiyya (2000), o servidor web, elemento principal na maioria das aplicações realizadas através da internet, não apresenta mecanismos de diferenciação de serviços, tratando as requisições a essas páginas de maneira uniforme, sem levar em consideração a identidade dos clientes, as condições de carga do servidor ou o tipo de requisição. Para suprir as necessidades das atuais aplicações web, garantindo requisitos de QoS, servidores web devem se tornar providos de mecanismos e políticas, a fim de evitar sobrecargas, conhecer suas limitações e explorar todo o recurso hardware e de software que a máquina pode oferecer. Uma forma interessante de se fazer essa análise é simulando todo o processo antes de implementá-lo fisicamente. De acordo com Freitas Filho (2008), a simulação tem sido cada vez mais aceita e empregada, visto que houve aumento significante no poder de processamento das estações de trabalho aliado à facilidade de uso e à sofisticação dos ambientes de desenvolvimento de modelos computacionais. Nesse contexto, a simulação discreta tornase útil, pois é excelente ferramenta e proporciona aos administradores de servidores web a certeza que está sendo bem administrado e opere buscando o máximo de eficiência possível. Dentro desse quadro, este trabalho descreve um modelo de simulação que aborda o processo de requisições em um servidor web de alta disponibilidade implementado no Instituto Federal Fluminense, a fim de analisar a variação e as limitações de carga que esse servidor suporta. Para isso, foram desenvolvidos experimentos, e dados gerados pelo sistema operacional foram analisados. Esses dados se tornaram subsídios para efetuar a modelagem e simulação com o software Rockwell Arena. 2. Descrição do processo de requisição em um servidor web A modelagem proposta neste trabalho seguirá uma estrutura lógica, pois fisicamente os processos são alocados no mesmo servidor. Na Figura 1, pode-se notar a estrutura que é transparente para o usuário que solicita as requisições. Figura 1 - Fluxo simples de uma requisição. A requisição é feita pelo usuário através dos protocolos de internet, chega ao servidor e retorna a resposta para o usuário. A Figura 2 representa como realmente é o fluxo da requisição solicitada pelo usuário. 249

Tiago de Azevedo Santos e João José de Assis Rangel Figura 2 - Fluxo detalhado de uma requisição. A requisição que chega ao servidor web é processada por um software chamado de Apache, e esse mesmo software analisa a requisição e a repassa para outro software, chamado de Varnish, que é responsável por fazer o cache das informações, ou seja, ele consegue guardar, dentro de um limite de espaço, as informações que são mais comumente requisitadas e, assim, retornar diretamente para o usuário, reduzindo o tempo de atendimento à requisição. Essa etapa otimiza aproximadamente 32% das requisições recebidas pelo servidor. Se a requisição não for atendida pelo Varnish, ela é encaminhada para outro software, o Pound, que é responsável por encaminhar a requisição de forma balanceada para um dos três clientes Zope, que finalmente irão processar e retornar a resposta da requisição para o usuário que a solicitou. Todos esses processos juntos demandam menos que 1 seg para serem atendidos. A representação do modelo conceitual mais detalhada, utilizando elementos do IDEFSIM (MONTEVECHI, 2010), assim como as funções utilizadas na simulação, pode ser mais bem visualizada na Figura 3. Figura 3 - Modelo conceitual (IDEF-SIM) do sistema de requisições em um servidor web. 250

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade A descrição do modelo conceitual utilizando a técnica IDEF-SIM pode ser mais bem visualizada na Tabela 1. Tabela 1 - Descrição do modelo conceitual Descrição E1 Entidade 1: Requisição solicitada ao servidor web P1 Processo: Análise feita pelo Apache P2 Processo: Análise, encaminhamento ou entrega feita pelo Varnish P3 Processo: Análise e encaminhamento feita pelo Pound Parâmetro Função: 0.01 + LOGN (0.259, 0.173) a cada segundo durante 24 horas. Função: WEIB (0.00865, 5.69) por segundo. Função: NORM(0.0178, 0.00185) por segundo. Função: NORM (0.024, 0.00401) por segundo. P4 Processo: Processamento e entrega da Requisição pelo 1º cliente ZOPE Função: 0.05 + 0.06 * BETA (5.7, 4.54) por segundo. P5 Processo: Processamento e entrega da Requisição pelo 2º cliente ZOPE Função: 0.05 + 0.06 * BETA (5.7, 4.54) por segundo. P6 Processo: Processamento e entrega da Requisição pelo 3º cliente ZOPE Função: 0.05 + 0.06 * BETA(5.7, 4.54) por segundo. R1 Recurso: Apache R2 Recurso: Varnish R3 Recurso: Pound R4 Recurso: Cliente Zope 1 R5 Recurso: Cliente Zope 2 R6 Recurso: Cliente Zope 3 3. Descrição do modelo de simulação O modelo de simulação proposto neste trabalho foi elaborado segundo a metodologia de Freitas Filho (2008), em que foram seguidos os seguintes passos: formulação de análise do problema, planejamento do projeto, formulação do modelo conceitual, coleta de macroinformações e dados, tradução do modelo, verificação e validação, projeto experimental final, experimentação, interpretação e análise estatística dos resultados, comparação e identificação das melhores soluções, documentação e apresentação dos resultados. O modelo foi construído considerando um período de tempo preestabelecido para o início e término das operações, caracterizando, assim, o modelo como de um sistema terminal. É importante ressaltar que, de acordo com Banks (2010), o modelo concebido neste trabalho pode ser classificado tanto como um modelo voltado para a previsão quanto um modelo específico, pois é usado para prever seu comportamento atual e como continuará se comportando ao longo do tempo, podendo-se variar o fluxo de entrada e também ser usado para decidir sobre qual o poder de processamento necessário a um servidor, de acordo com diferentes tipos de cargas no sistema. Entretanto, a segunda classificação não será abordada neste trabalho. O tipo de teste realizado na simulação computacional é citado em Sargent (2010) como Testes de Degenerescência ou Robustez, ou seja, nesses testes a verificação do modelo é feita aplicando-se sobre os parâmetros valores extremos. O parâmetro de entrada do modelo (chegadas) são requisições que são enviadas ao servidor web. As requisições chegam com uma frequência que segue uma distribuição que pode ser vista no modelo IDEF-SIM, presente no trabalho, que representa a quantidade de usuários por segundo que acessam o servidor de alguma forma, e essa frequência de chegadas foi alterada de acordo com os diferentes cenários simulados. O modelo conceitual proposto neste trabalho foi traduzido para o software Arena 12 versão acadêmica para a realização das simulações computacionais. As simulações apenas foram iniciadas após o modelo ter sido verificado e validado por completo e garantido que os pressupostos e as simplificações adotadas do sistema real estavam corretamente implementadas no modelo computacional. 251

Tiago de Azevedo Santos e João José de Assis Rangel 4. Projeto experimental e análise dos resultados A abordagem utilizada nas simulações computacionais foi seguida, a fim de se poder analisar uma sobrecarga no servidor. Isso foi feito alterando-se um dos fatores do problema, a quantidade de requisições que chegam ao servidor. A ideia é iniciar os experimentos com a configuração típica, ou seja, a mesma utilizada na validação do modelo e depois incrementar a quantidade de chegadas, realizando-se essa rotina nove vezes, gerando um total de 10 cenários. A cada incremento feito na quantidade de chegadas, o lead time da requisição, é analisado. É importante ressaltar que os incrementos realizados na quantidade de chegadas são sempre 100% do valor inicial (Nível 1), ou seja, o Nível 2 tem valor de 100% a mais do que o Nível 1, o Nível 3 tem valor de 200% a mais do que o Nível 1, e assim sucessivamente. O modelo foi preparado para rodar em um período de um dia útil, contando um às 24 h, e cada cenário foi replicado 10 vezes, a fim de obter uma convergência dos resultados. Os cenários, assim como os resultados com as simulações computacionais, podem ser vistos na Tabela 2. Tabela 2 Resultados obtidos através da simulação computacional Cenários Chegada de requisições Lead time Varnish Lead time clientes Zope Total de requisições atendidas 1 Nível 1 0,03 segundo 0,13 segundo 321281 2 Nível 2 0,03 segundo 0,14 segundo 642413 3 Nível 3 0,03 segundo 0,14 segundo 963314 4 Nível 4 0,03 segundo 0,14 segundo 1284446 5 Nível 5 0,03 segundo 0,15 segundo 1605948 6 Nível 6 0,03 segundo 0,16 segundo 1927210 7 Nível 7 0,03 segundo 0,17 segundo 2248100 8 Nível 8 0,03 segundo 0,18 segundo 2569362 9 Nível 9 0,03 segundo 0,20 segundos 2890765 10 Nível 10 0,03 segundo 0,22 segundo 3211059 De acordo com a Tabela 1, é possível notar que, à medida que as requisições aumentam o lead time do Varnish, permanece o mesmo valor, e o contrário acontece com o lead time dos clientes Zope, que obteve aumento de até 69,23%, no Nível 10. Isso se dá pelo fato de que o Processo Varnish consegue responder a mais requisições que os processos dos Clientes Zope. Ou seja, se continuarmos aumentando o valor de entrada de requisições, provavelmente os processos dos Clientes Zope serão o primeiro gargalo do modelo analisado. Isso pode ser visualizado na Tabela 3, que mostra a taxa de utilização dos recursos de acordo com os cenários simulados. Tabela 3 - Taxa de utilização dos recursos Cenários Recurso Apache (%) Recurso Varnish (%) Recurso Pound (%) Recurso clientes Zope (%) 1 3 7 6 8 2 6 14 12 15 3 9 20 18 22 4 12 26 25 28 5 15 32 30 34 6 18 39 35 41 7 21 47 42 50 8 24 53 47 55 9 27 60 54 64 10 30 66 62 73 252

Modelo de simulação de um processo de requisições em um servidor web de alta disponibilidade Os valores referentes à quantidade de requisições atendidas nos diferentes cenários simulados podem ser mais bem visualizados na Figura 4. Figura 4 - Gráfico das requisições atendidas em relação aos cenários. Na Figura 5 é possível visualizar os valores do lead time do Varnish e do cliente Zope em relação aos cenários simulados. Tempo (Segundos) Requisições 0,25 0,2 0,15 0,1 0,05 0 3500000 3000000 2500000 2000000 1500000 1000000 500000 Figura 5 - Relação dos lead times em relação aos cenários. 5. Conclusões 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 Níveis Níveis Lead time Clientes Zope Total de Requisições Atendidas O modelo de simulação proposto neste trabalho abordou as operações realizadas no processo de requisições realizadas a um servidor web de alta disponibilidade e permitiu analisar o impacto da quantidade de requisições no lead time de entregas destas aos clientes. Também, foi possível analisar um processo de sobrecarga no sistema que compõe o servidor. O modelo também incluiu em sua elaboração, além do cálculo do lead time de entrega das requisições solicitadas, a taxa de utilização dos Tempo (Segundos) 0,04 0,03 0,03 0,02 0,02 0,01 0,01 0 1 2 3 4 5 6 7 8 9 10 Níveis Lead time Varnish recursos presentes no modelo. Os resultados da simulação indicaram que, no atual cenário, o servidor web analisado para a elaboração do modelo de simulação está sendo utilizado abaixo do que ele realmente pode suportar. Também foi possível verificar que, mesmo com aumento na quantidade na chegada de requisições de 900%, o servidor não obteve taxa de ocupação de sobrecarga em nenhum dos recursos computacionais simulados. Isso levando-se em conta que a sobrecarga é atribuída quando um recurso adquire 90% ou mais na taxa de utilização. O modelo de simulação apresentou alternativa para estudos estratégicos que podem ser utilizados antes da elaboração física em um servidor web. Nesse sentido, o uso da simulação permite que algumas alternativas em termos de hardware e software sejam testadas antes de sua implementação real, diminuindo custos e verificando possíveis dificuldades. De acordo com os resultados, é possível perceber que existe relação de proporcionalidade entre a quantidade de chegada de requisições e o valor do lead time destas. Também, é possível prever que, se o incremento ocorrer na função de chegada de requisições, provavelmente os processos dos Clientes Zope serão os primeiros gargalos do modelo analisado. 6. Agradecimentos Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), à Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro (FAPERJ) e à Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG), pelo suporte financeiro a esta pesquisa. 7. Referências BANKS, J.; CARSON, J. S.; NELSON, B. L.; NICOL, D. M. Discrete-event system simulation. 5nd ed. New Jersey: Prentice Hall, 2010. FREITAS FILHO, P. J. de. Introdução à modelagem e simulação de sistemas: com aplicações em arena. 2. ed. Florianópolis: Visual Books, 2008. MONTEVECHI, J. A. B.; LEAL, F.; PINHO, A. F.; COSTA, R. F. S; OLIVEIRA, M. L. M.; SILVA, A. 253

Tiago de Azevedo Santos e João José de Assis Rangel L. F. Conceptual modeling in simulation projects by mean adapted IDEF: An application in a Brazilian tech company. In: WINTER SIMULATION CONFERENCE, 2010, Baltimore. Proceedings Baltimore, 2010. p. 1624-1635. SARGENT, R. G. Verification and validation of simulation models. In: WINTER SIMULATION CONFERENCE, 2010, Baltimore. Proceedings Baltimore, 2010. p. 166-183. VASILIOU, N.; LUTFIYYA, H. Providing a differentiated quality of service in a world wide web server. SIGMETRICS Perform. Eval. Rev., v. 28, n. 2, p. 22-28, 2000. Artigo selecionado entre os 10 melhores do VI Encontro Mineiro de Engenharia de Produção - EMEPRO 2010. 254