TechEd_OFC305

1.077 visualizações

Publicada em

Publicada em: Esportes, Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TechEd_OFC305

  1. 2. Planejando testes e plano de capacidade para MOSS 2007 OFC 305 Rodolfo Roim MVP Lead Microsoft Brasil Fabio Camara Diretor F|C Consultoria
  2. 3. Notas (hidden) <ul><li>Alguns palestrantes da Microsoft usam este slide para anotações “hidden”. </li></ul><ul><li>Delete se não for utilizar. </li></ul><ul><li>PRÓXIMO: <título do próximo slide> </li></ul>
  3. 4. Instruções gerais (hidden slide): Instruções aos palestrantes: Complete este slide para que o Track Owner avalie a sequência da sua apresentação, tópicos cobertos, integração das demos e alinhamento do conteúdo com a descrição e nível da sessão. <ul><li>Título: Planejando testes e plano de capacidade para MOSS 2007 </li></ul><ul><li>Nível Técnico: 300 </li></ul><ul><li>Audiência foco: IT Pro e Desenvolvedor </li></ul><ul><li>Objetivos (quais são as três principais mensagens que você gostaria que a audiência absorva): </li></ul><ul><ul><li>1. Capacity plan para um ambiente MOSS 2007 </li></ul></ul><ul><ul><li>2. Entender como determinar um tempo de resposta ideal para um ambiente MOSS 2007 </li></ul></ul><ul><ul><li>3. Aprender algumas formas de aumentar a capacidade do da farm MOSS 2007 </li></ul></ul><ul><li>Sequência da sua apresentação (incluindo as demos): </li></ul>
  4. 5. Título do Vídeo
  5. 6. Título da apresentação Nome Cargo Empresa
  6. 7. Título do anúncio do produto
  7. 8. Objetivos da Sessão <ul><li>Objetivos da Sessão: </li></ul><ul><ul><li>Apresentar tipos de testes que podem ser realizados; </li></ul></ul><ul><ul><li>Entender como fazer testes de capacity plan na sua farm de SharePoint; </li></ul></ul><ul><ul><li>NÃO iremos nos aprofundar no funcionamento do VSTT 2008; </li></ul></ul><ul><ul><li>Aprender algumas maneiras diferentes de como você pode melhorar a capacidade da sua farm. </li></ul></ul>
  8. 9. Agenda <ul><li>Entender as metas para seu teste; </li></ul><ul><li>Saber o que deve ser medido; </li></ul><ul><li>Entender o que é importante ser medido para a sua farm de SharePoint; </li></ul><ul><li>Criar o ambiente de teste; </li></ul><ul><li>Criar os testes e as ferramentas customizadas; </li></ul><ul><li>Executar e analisar os resultados; </li></ul>
  9. 10. Nivelando o conhecimento
  10. 11. Sobre tipos de testes...
  11. 12. Entender as metas para teste <ul><li>Determine qual o resultado final que você busca – o que você está buscando provar? Por parecer um simples conceito, mas muitas pessoas que estão fazendo testes pela primeira vez têm dificuldades de encontrar uma resposta para essa questão. </li></ul>
  12. 13. Entender as metas para teste <ul><li>Você quer medir o RPS (Request per Second) ? </li></ul><ul><ul><li>Mais comum </li></ul></ul><ul><li>Quer medir uma operação específica? </li></ul><ul><ul><li>Impacto em ou impacto por uma operação regular </li></ul></ul><ul><li>Quer medir quanto e quão rápido o conteúdo poder ser indexado? </li></ul><ul><li>continue... </li></ul>
  13. 14. Entender as metas para teste <ul><li>Quer medir o desempenho individual de cada página? </li></ul><ul><ul><li>TTLB para páginas com código customizado </li></ul></ul><ul><ul><li>Clientes em redes com latência </li></ul></ul><ul><li>Tipicamente uma das duas categorias: </li></ul><ul><ul><li>Verificação do plano de capacidade – sim, isso funciona! </li></ul></ul><ul><ul><li>Prova de conceito – o que eu posso fazer? </li></ul></ul>
  14. 15. Saber o que medir <ul><li>RPS – a maioria dos testes são baseados em quantas requisições você pode atender. Requests Per Second é o melhor número para um teste como esse. RPS pode ser usado para medir quantas páginas são entregues, bem como quantas buscas são executadas. </li></ul>
  15. 16. Saber o que medir <ul><li>Tempo da página – também conhecido como Time To Last Byte (TTLB) , esse teste diz quanto tempo leva para a entrega de uma página para o cliente. Geralmente você irá usar esse valor em conjunto com RPS; por exemplo, nossa farm precisa entregar 100 RPS E as páginas devem carregar em 5 segundos. </li></ul>
  16. 17. Saber o que medir <ul><li>Crawl Time – para medir a performance do crawl você deverá medir o tempo que o crawl leva para ser executado, o tamanho do seu ambiente e quantos documentos serão indexados por segundo. </li></ul><ul><ul><li>http :// technet.microsoft.com/en-us/library/cc262574.aspx </li></ul></ul>
  17. 18. Determine a taxa de transferência requerida para sua farm O restante dessa sessão irá focar em testar a taxa de transferência da farm , ou o RPS, já que esse é o cenário mais comum da grande maioria. Determinar o RPS necessário para sua farm pode ser um processo um pouco complicado.
  18. 19. Determine a taxa de transferência requerida para sua farm <ul><li>Regra #1: Número de usuários não significa nada! </li></ul><ul><li>Regra #2: Número de usuários não significa nada!! </li></ul><ul><li>Regra #3: Número de usuários não significa nada!!! </li></ul><ul><ul><li>É possível suportar 100.000 usuários, em um único servidor rodando num laptop , se os usuários fizerem, na média, 1 requisição a cada 12 horas!! </li></ul></ul><ul><ul><ul><li>100.000 requisições em 12 horas são 2 RPS </li></ul></ul></ul>
  19. 20. Determine a taxa de transferência requerida para sua farm <ul><li>Primeiro lugar, determine o número de RPS necessário </li></ul><ul><ul><li>Use informações históricas, se possível (IIS logs e Log Parser , Web Trends , etc.) </li></ul></ul><ul><ul><li>Se não for possível, comece com um número de usuários </li></ul></ul><ul><ul><li>Divida os usuários por perfil de uso </li></ul></ul><ul><ul><ul><li>Light (20), Típico (36), Heavy (60) ou Extremo (120) </li></ul></ul></ul><ul><ul><li>Multiplique o número de usuários pelo número de operações por perfil de usuário. (????) </li></ul></ul><ul><ul><li>Fator Pico de Concorrência . </li></ul></ul>
  20. 21. Determine a taxa de transferência requerida para sua farm <ul><li>Exemplo: </li></ul><ul><ul><li>Contoso tem 80k func; algo em torno de 40k devem usar MOSS em janelas de 8 horas; </li></ul></ul><ul><ul><li>80k usuários, 40k ativos, concorrência: média de 5%, pico de 10%; </li></ul></ul><ul><ul><li>10% light, 70% típico, 15% heavy, 5% extremo; </li></ul></ul><ul><ul><li>(10% light x 40k) x 20 RPH = 80.000 RPH; </li></ul></ul><ul><li>(70% típico x 40k) x 36 RPH = 1.008.000 RPH </li></ul><ul><li>(15% heavy x 40k) x 60 RPH = 360.000 RPH </li></ul><ul><li>(5% extremo x 40k) x 120 RPH = 240.000 RPH </li></ul><ul><li>1.688.000 / 3600 (segundos por hora) = 469 RPS </li></ul><ul><li>469 x 10% pico = 46.9 RPS requeridas </li></ul>
  21. 22. Determine a taxa de transferência requerida para sua farm <ul><li>Agora você já sabe o RPS necessário, mas o que essas requisições estariam fazendo? </li></ul><ul><ul><li>Isso determina o seu MIX de teste; </li></ul></ul><ul><li>De novo, busque o máximo de informações históricas possível; </li></ul><ul><li>Em outro caso, comece fazendo suposições acertadas (empirismo). </li></ul>
  22. 23. Criar o ambiente de teste Uma vez que os objetivos do teste estão definidos, você precisa montar o ambiente e os casos de testes que serão usados. Isso inclui não apenas o ambiente SharePoint, mas o ambiente operacional;
  23. 24. Criar o ambiente de teste <ul><li>Servidor de teste </li></ul><ul><ul><li>VSTT Controller </li></ul></ul><ul><ul><li>VSTT Agent(s) </li></ul></ul><ul><ul><li>Use um SQL Server separado para os resultados do VSTT assim ele não irá impactar no SQL Server usado pelo MOSS; </li></ul></ul><ul><ul><li>Desligue os antivírus quando carregar os test controller e agentes; </li></ul></ul><ul><ul><li>Certifique que todas as configurações de rede estão corretas; </li></ul></ul><ul><ul><li>Cuidado com os gargalos entre os computadores que executam os testes; </li></ul></ul>
  24. 25. Criar o ambiente de teste <ul><li>Configuração da FARM SharePoint </li></ul><ul><ul><li>Dependendo do teste, você precisa parar o timer o serviço admin, bem como o crawl; </li></ul></ul><ul><ul><li>Todas as páginas devem estar publicadas; nada em checked-out; </li></ul></ul><ul><ul><li>Certifique que a navegação é realista e não muito grande; </li></ul></ul><ul><ul><li>Certifique que você teste uma quantidade grande de páginas; </li></ul></ul><ul><ul><li>Pare o antivírus (a menos que você queria medir a performance do SharePoint com um antivírus); </li></ul></ul><ul><ul><li>Cada cenário de escrita irá mudar o content database ; será restaurado do backup depois que o teste de escrita for executado. </li></ul></ul>
  25. 26. Criar o ambiente de teste <ul><li>Certifique que você tem dados de testes suficientes </li></ul><ul><ul><li>Um obstáculo muito comum </li></ul></ul><ul><li>Tem conteúdo suficiente para uma busca descente? </li></ul><ul><ul><li>Carregar o mesmo documento várias vezes – centenas de vezes – com nomes diferentes PODE TE MACHUCAR! </li></ul></ul><ul><li>Você precisará de uma ferramenta em todas as probabilidades para popular o seu SharePoint, como essa: http://www.codeplex.com/sptdatapop </li></ul><ul><li>Você quase sempre acaba escrevendo ferramentas adicionais para outras tarefas de popular dados </li></ul>
  26. 27. Criar os testes e as ferramentas customizadas O próximo passo é criar os testes atuais que serão executados. Algumas vezes os testes são orientados a dados, o que significa que os parâmetros são lidos de um banco de dados ou de um arquivo CVS ao invés de valores estáticos, de modo que todo o site seja afetado ao longo do teste. Isso significa que ferramentas adicionais são desenvolvidas e usadas para capturar todo o conteúdo de um site único , páginas, listas e itens no site, assim eles podem ser plugados ao seu teste.
  27. 28. Melhores práticas para Web Tests <ul><li>Depois de gravar um teste, mude os valores fixos ( urls, params , etc.) para colocar dentro de um datasource; </li></ul><ul><li>Sempre tenha regras de validação para comprovar a corretude do teste; </li></ul><ul><li>Use múltiplos usuários e papéis </li></ul><ul><ul><li>O sistema se comporta diferente para cada papel de usuário </li></ul></ul><ul><ul><li>Evite usar usuários administradores da Farm </li></ul></ul>
  28. 29. Melhores práticas para Load Test <ul><li>Valide o seu mix de teste; um mix ruim tornam os resultados razoavelmente rápidos ou devagar </li></ul><ul><li>Inicie em um estado conhecido </li></ul><ul><ul><li>Restaure o backup antes de cada execução </li></ul></ul><ul><ul><ul><li>Certifique-se de atualizar as estatísticas e fazer um defrag nos índices </li></ul></ul></ul><ul><ul><li>Faça um iisreset </li></ul></ul><ul><ul><li>Defina o período de aquecimento para os testes; o primeiro request depois do iisreset processa muita coisa </li></ul></ul>
  29. 30. Melhores práticas para Think Time <ul><li>Quando usar? </li></ul><ul><ul><li>Em Teste de carga; </li></ul></ul><ul><ul><li>Para medir o tempo que o usuário demoraria para visualizar a página e executar a próxima operação. Ex: Clicar no botão; </li></ul></ul><ul><ul><li>O uso do ThinkTime dá maior credibilidade ao teste em relação à proximidade com a realidade. </li></ul></ul><ul><li>Quando não usar ? </li></ul><ul><ul><li>Em testes de stress; </li></ul></ul><ul><ul><li>O objetivo é, simplesmente, EXPLODIR o servidor da aplicação; </li></ul></ul>
  30. 31. Exemplos de testes e Data Population <ul><li>http://www.codeplex.com/sptdatapop </li></ul><ul><li>Publicada pelo time de produto, baseado em uma ferramenta interna </li></ul><ul><li>Testes de exemplos cobrem muitas operações básicas do SharePoint </li></ul><ul><li>Use como uma referência para criar novos testes </li></ul><ul><li>A ferramenta Data Population define dados hierárquicos em formato XML </li></ul>
  31. 32. Outras ferramentas que você talvez precise <ul><li>Script para criar usuários no Active Directory </li></ul><ul><li>Ferramenta para capturar listas de sites, listas, bibliotecas, lista de itens e documentos e colocá-los em um arquivo CSV ou num banco de dados para os web tests usarem </li></ul><ul><li>Para dar corpo ao site </li></ul><ul><ul><li>Ferramentas sptdatapop </li></ul></ul><ul><ul><li>Poderá usar também seu web test de upload de documento </li></ul></ul><ul><li>Para criar sites, listas, bibliotecas, lista de itens e etc. </li></ul><ul><ul><li>Ferramentas sptdatapop </li></ul></ul><ul><li>Ferramenta para criar My Sites </li></ul><ul><ul><li>Poderá usar as ferramentas sptdatapop </li></ul></ul><ul><li>Ferramenta para criar um lista de usuários e senhas para executar os testes </li></ul>
  32. 33. Adicionar um webtest, executar um teste load Fabio Camara Diretor F|C Consultoria
  33. 34. Questões para se fazer <ul><li>Onde está o gargalo? </li></ul><ul><ul><li>Sempre haverá um! </li></ul></ul><ul><li>E ele está onde eu estava prevendo que estaria? </li></ul><ul><ul><li>A performance pode ser melhorada? Como? </li></ul></ul><ul><li>A taxa de transferência está alta? Existem padrões estranhos? </li></ul><ul><li>Existem muitos erros? </li></ul><ul><li>Recursos inesperados estão sendo baixados? </li></ul><ul><li>Algum problema com o Load Balance ? </li></ul>
  34. 35. Analisando Performance Counter <ul><li>Qual(ais) máquina(s) está causando o gargalo? </li></ul><ul><ul><li>CPU / Memória / Disk IO / Rede </li></ul></ul><ul><li>Então você pode ver de mais perto de acordo com o papel da máquina </li></ul><ul><li>Comece com os sets de counters padrões do VSTT </li></ul><ul><ul><li>Adicione SharePoint / Search / Excel </li></ul></ul>
  35. 37. Recursos <ul><li>www.microsoft.com/teched </li></ul><ul><ul><li>Tech·Talks Tech·Ed Bloggers </li></ul></ul><ul><ul><li>Live Simulcasts Virtual Labs </li></ul></ul><ul><li>http://www.technetbrasil.com.br </li></ul><ul><ul><li>Avaliação de produtos finais e betas, conteúdo técnico em português e MUITO MAIS! </li></ul></ul><ul><li>http://www.msdnbrasil.com.br </li></ul><ul><ul><li>Developer’s Kit, conteúdo técnico em português, e MUITO MAIS! </li></ul></ul>
  36. 38. Referências <ul><li>Plan for performance and capacity </li></ul><ul><li>http:// technet.microsoft.com/en-us/library/cc262971.aspx </li></ul><ul><li>Downloadable content for SharePoint </li></ul><ul><li>http:// technet.microsoft.com/en-us/library/cc262788.aspx </li></ul><ul><li>How do I ? Videos </li></ul><ul><li>http:// msdn.microsoft.com/en-us/bb629407.aspx </li></ul><ul><li>Performance test guidance </li></ul><ul><li>http ://www.codeplex.com/PerfTestingGuide </li></ul>
  37. 39. Por favor preencha a avaliação
  38. 40. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×