Dimensionamento de Servidores - Sizing Ézio Kuratani ezio@abaco.com.br
Dimensionar Verbo transitivo direto Significa calcular ou preestabelecer as dimensões ou proporções de algo.
Dimensionar - Tecnologia É uma aproximação dos recursos de hardware necessários para suportar a implementação de um software específico.
Dimensionar Facil Médio Dificil Que geladeira comprar ? Qual ar condicionado comprar para uma sala de 20 m2 Médio Qual lampada comprar iluminar uma sala de 90m2, obedecendo as leis trabalhistas Dificil Que carro comprar para uso familiar (espectativa) Que televisão comprar para assistir aos jogos da seleção na empresa (espectativa coletiva)
Falta de observar os requisitos
Recursos disponíveis Existem vários recursos disponíveis para auxiliar no dimensionamento. IBM HP Dell Oracle Microsoft Citrix VMWare Aker Etc.
A medida Primeiro degrau da Performance é investir na Infra-estrututura de TI adequada.
Falta de investimento
A medida Se você está pensando em migrar, em atualizar o seu parque de máquinas ou em melhorar sua infra- estrutura de rede/comunicação, faça isto na medida exata. Mas qual é a medida exata?
DISPONIBILIDADE DO SERVIÇO Receita Não existe receita. É impossível descrever uma receita, um padrão Mas é possível definir quais os requisitos para que possamos atingir o objetivo principal. GARANTIR A DISPONIBILIDADE DO SERVIÇO Não existe receita. É impossível descrever uma receita de como dimensionar um hardware que irá suportar um ambiente. Mas é possível definir quais os requisitos para que possamos atingir o objetivo principal.
Mapeamento Levantar os requisitos dos negócios Identifique os requisitos de software Identifique o perfil dos serviços Qual o objetivo dos serviços? Qual será o público que ele vai atender? Qual a estimativa de acessos que o serviço vai receber por dia? Identifique as métricas de performance Realize testes de carga / performance
Mapeamento Requisitos de Negócio: Desempenho Segurança Gerenciamento Disponibilidade Continuidade
Mapeamento Requisitos de software os softwares a serem instalados; Quais os requisitos básicos quanto ao software; Qual sistema operacional; Massa de dados a ser armazenado Crescimento Semanal / mensal / Anual
Mapeamento Perfil dos serviços: Resumindo qual o objetivo do servidor. Quais serviços serão hospedados Quantidade de usuários simultâneos Picos de acesso Espectativas de performance; Quantidade de tráfego de rede; Quantidade de processamento; Necessidade de HA (Alta Disponibilidade); Necessidade de Load Balance (Balanceamento de carga) Nível de exigência de cada usuário Resumindo qual o objetivo do servidor.
Mapeamento Softwares que ajudam no dimensionamento Jmeter: http://jakarta .apache. org/jmeter ApacheBench: http://en.wikipedia.org/wiki/ApacheBench HTTP Test Tool: http://en.wikipedia.org/wiki/HTTP_Test_Tool OpenSTA: http://en.wikipedia.org/wiki/OpenSTA Microsoft Performance Testing Guidance for Web Applications: http://msdn.microsoft.com/en- us/library/bb924375.aspx LoadRunner: http://en.wikipedia.org/wiki/LoadRunner
Mapeamento – Identificando Métricas de performance Performance metrics Base set of metrics Category Processor • Processor utilization Process • Memory consumption • Process recycles Memory • Memory available • Memory utilization Disk • Disk utilization Network • Network utilization Transactions/business metrics • Transactions/sec • Transactions succeeded • Transactions failed • Orders succeeded • Orders failed Threading • Contentions per second • Deadlocks • Thread allocation Response times • Transactions times
Mapeamento - simplificado Processadores: quantidade, velocidade, tecnologias; Memórias: quantidade, tamanho e tipo; Placas de rede: quantidade, tamanho e tipo; Formas de armazenamento: interno, externo; Tempo de vida útil dos servidores;
Testes – Base para o dimensionamento Teste de desempenho: escalabilidade, confiabilidade e uso dos recursos Teste de carga: Quantidade de dados Quantidade de usuários Teste de Segurança Determinar nível de segurança
Cuidado com o Dimensionamento
Dimensionando - Simplificado Ambiente de teste Servidor de aplicação de teste: 01 x CPU Xeon DC 2,4 GHz 16 Gb RAM 02 x HD Raid 01 02 x Eth Gigabit Servidor de banco de dados
Dimensionando - Simplificado Resultados dos testes de stress para: 10 usuários simultâneos Servidor de aplicação Banda de rede: 20 Mbs Memória: 20% Disco IO: 1000 Ios CPU: 20% Servidor de Banco de Dados Banda de rede: 40 Mbs Memória: 30% Disco IO: 1500 Ios CPU: 25%
Dimensionando - Simplificado Resultados dos testes de stress para: 20 usuários simultâneos; Servidor de aplicação Banda de rede: 50 Mbs Memória: 30% Disco IO: 1500 IOS CPU: 25% Servidor de Banco de Dados Banda de rede: 60 Mbs Memória: 40% Disco IO: 2500 IOS CPU: 35%
Dimensionando - Simplificado Resultados dos testes de stress para: 30 usuários simultâneos. Servidor de aplicação Banda de rede: 45 Mbs Memória: 40% Disco IO: 2500 IOS CPU: 30% Servidor de Banco de Dados Banda de rede: 65 Mbs Memória: 50% Disco IO: 3500 IOS CPU: 50%
Dimensionando – Simplificado Resultado Após análise, temos as seguintes métricas: Servidor de aplicação Banda de rede: 1,92 Mbs por usuário Memória: 240Kb de memória por usuário Disco IO: 83 IOs por usuário Servidor de Banco de Dados Banda de rede: 2,75 Mbs por usuário Memória: 320Kb por usuário Disco IO: 125 IOs por usuário
Dimensionando – Simplificado Final Assim para termos um ambiente que suporte 100 teríamos a necessidade de no mínimo: Servidor de aplicação Banda de rede: 192 Mbs Memória: 24 Gb Disco IO: 8300 IOS CPU: 3,6 GHz Servidor de Banco de Dados Banda de rede: 275 Mbs Memória: 32 Gbs Disco IO: 12.500 IOS CPU: 4,4 Gbs
Microsoft Solutions Accelerators http://technet.microsoft.com/en-us/solutionaccelerators/dd537570.aspx
MS-Infraestrutura
Microsoft - Guia de dimensionamento de servidores http://technet.microsoft.com/en-us/library/bb608286.aspx
Calculando o tamanho do seu servidor http://technet.microsoft.com/en- us/library/bb124226(EXCHG.65).aspx
MS-Terminal Server
MS-Teste de carga - TS
IBM – Sizings http://www- 03.ibm.com/support/techdocs/atsmastr.nsf/Web/Sizings
HP - Sizers http://h71019.www7.hp.com/ActiveAnswers/Secure/71110-0-0-0- 121.html
Aker http://www.aker.com.br
Dimensionando um servidor LTSP
TPC-C http://www.tpc.org/tpcc
Estratégias de desempenho 09/2006: "Field Guide to Application Delivery Systems Se concentrava na melhoria do desempenho do aplicativo WAN, e incluía a fórmula Com algumas modificações, podemos usar para medir o desempenho do aplicativo web Onde o R (Valor Final) é o tempo de resposta. Setembro de 2006, Peter Sevcik e Rebecca Wetzel, da NetForecast, publicaram um documento chamado "Field Guide to Application Delivery Systems". O documento se concentrava na melhoria do desempenho do aplicativo WAN (rede de longa distância) e incluía a equação da Figura 1. A equação analisa o desempenho da WAN, mas, com algumas pequenas modificações, ela pode ser usada para medir o desempenho do aplicativo Web. A equação modificada é mostrada na Figura 2 e cada elemento é explicado na Figura 3.
Estratégias de desempenho
Estratégias de desempenho Ferramentas para medição Carga: websiteoptimization.com/services/analyze Largura da banda: speedtest.net Tempo de viagem de ida e volta: ping Tamanho HTML: websiteoptimization.com/services/analyze CSS: websiteoptimization.com/services/analyze Javascript: websiteoptimization.com/services/analyze Imagens: websiteoptimization.com/services/analyze Etc.: websiteoptimization.com/services/analyze A carga pode ser medida usando várias ferramentas (websiteoptimization.com/services/analyze é uma grande opção), da mesma forma que a largura de banda (consulte speedtest.net) e o tempo da viagem de ida e volta (usando Ping). Ferramentas como websiteoptimization.com/services/analyze também informarão o tamanho do HTML de uma página da Web, a CSS, o JavaScript, as imagens etc. As solicitações simultâneas são, basicamente, constantes (Internet Explorer® usa 2 como padrão).
Ferramentas IBM: HP: Microsoft: http://www-03.ibm.com/support/techdocs/atsmastr.nsf/Web/Sizings HP: http://h20338.www2.hp.com/ActiveAnswers/us/en/sizers/microsoft-exchange-server.html http://h71019.www7.hp.com/ActiveAnswers/Secure/71110-0-0-0-121.html http://h71019.www7.hp.com/ActiveAnswers/us/en/sizers/sql-sizer-fast-track.html Microsoft: http://technet.microsoft.com/en-us/library/bb124226(EXCHG.65).aspx http://technet.microsoft.com/pt-br/library/cc747663(WS.10).aspx http://www.dimensionamento.unir.br/?pag=estatica&id=65&titulo=Objetivos http://listas.softwarelivre.org/pipermail/postfix-br/2006-March/010884.html http://blog.josemorelli.net/2005/11/25/ferramenta-para-dimensionar-seus-servidores- em-um-ambiente-virtual/ http://www.opensourcetesting.org/performance.php
Aviso Legal O presente material foi gerado com base em informações próprias e/ou coletadas a partir dos diversos veículos de comunicação existentes, inclusive a Internet, contendo ilustrações adquiridas de banco de imagens de origem privada ou pública, não possuindo a intenção de violar qualquer direito pertencente à terceiros e sendo voltado para fins acadêmicos ou meramente ilustrativos. Portanto, os textos, fotografias, imagens, logomarcas e sons presentes nesta apresentação se encontram protegidos por direitos autorais ou outros direitos de propriedade intelectual. Ao usar este material, o usuário deverá respeitar todos os direitos de propriedade intelectual e industrial, os decorrentes da proteção de marcas registradas da mesma, bem como todos os direitos referentes a terceiros que por ventura estejam, ou estiveram, de alguma forma disponíveis nos slides. O simples acesso a este conteúdo não confere ao usuário qualquer direito de uso dos nomes, títulos, palavras, frases, marcas, dentre outras, que nele estejam, ou estiveram, disponíveis. É vedada sua utilização para finalidades comerciais, publicitárias ou qualquer outra que contrarie a realidade para o qual foi concebido. Sendo que é proibida sua reprodução, distribuição, transmissão, exibição, publicação ou divulgação, total ou parcial, dos textos, figuras, gráficos e demais conteúdos descritos anteriormente, que compõem o presente material, sem prévia e expressa autorização de seu titular, sendo permitida somente a impressão de cópias para uso acadêmico e arquivo pessoal, sem que sejam separadas as partes, permitindo dar o fiel e real entendimento de seu conteúdo e objetivo. Em hipótese alguma o usuário adquirirá quaisquer direitos sobre os mesmos. O usuário assume toda e qualquer responsabilidade, de caráter civil e/ou criminal, pela utilização indevida das informações, textos, gráficos, marcas, enfim, todo e qualquer direito de propriedade intelectual ou industrial deste material.
FIM