Planejando testes e plano de Planejando testes e plano de capacidade para MOSS 2007capacidade para MOSS 2007
OFC 305
Rodolfo Roim Rodolfo Roim MVP LeadMVP LeadMicrosoft BrasilMicrosoft Brasil
Fabio CamaraFabio CamaraDiretorDiretorF|C ConsultoriaF|C Consultoria
Objetivos da Sessão
Objetivos da Sessão:Apresentar tipos de testes que podem ser realizados;Entender como fazer testes de capacity plan na sua farm de SharePoint;NÃO iremos nos aprofundar no funcionamento do VSTT 2008;Aprender algumas maneiras diferentes de como você pode melhorar a capacidade da sua farm.
Agenda
Entender as metas para seu teste;Saber o que deve ser medido;Entender o que é importante ser medido para a sua farm de SharePoint;Criar o ambiente de teste;Criar os testes e as ferramentas customizadas;Executar e analisar os resultados;
Nivelando o conhecimento
Sobre tipos de testes...
Entender as metas para teste
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.
Entender as metas para teste
Você quer medir o RPS (Request per Second)?Mais comum
Quer medir uma operação específica?Impacto em ou impacto por uma operação regular
Quer medir quanto e quão rápido o conteúdo poder ser indexado?
continue...
Entender as metas para teste
Quer medir o desempenho individual de cada página?
TTLB para páginas com código customizado
Clientes em redes com latência
Tipicamente uma das duas categorias:Verificação do plano de capacidade – sim, isso funciona!Prova de conceito – o que eu posso fazer?
Saber o que medir
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.
Saber o que medir
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.
Saber o que medir
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.
http://technet.microsoft.com/en-us/library/cc262574.aspx
Determine a taxa de transferência requerida para sua farm
O restante dessa sessão irá focar em testar a O restante dessa sessão irá focar em testar a taxa de transferência da taxa de transferência da farmfarm, ou o RPS, já que , ou o RPS, já que esse é o cenário esse é o cenário mais comum mais comum da grande maioria. da grande maioria.
Determinar o RPS necessário para sua farm Determinar o RPS necessário para sua farm pode ser um processo um pouco complicado.pode ser um processo um pouco complicado.
Determine a taxa de transferência requerida para sua farm
Regra #1: Número de usuários não significa nada!
Regra #2: Número de usuários não significa nada!!
Regra #3: Número de usuários não significa nada!!!
É possível suportar 100.000 usuários, em um único servidor rodando num laptoplaptop, se os usuários fizerem, na média, 1 requisição a cada 12 horas!!
100.000 requisições em 12 horas são 2 RPS
Determine a taxa de transferência requerida para sua farm
Primeiro lugar, determine o número de RPS necessário
Use informações históricas, se possível (IIS logs e Log Parser, Web Trends, etc.)
Se não for possível, comece com um número de usuários
Divida os usuários por perfil de uso
Light (20), Típico (36), Heavy (60) ou Extremo (120)
Multiplique o número de usuários pelo número de operações por perfil de usuário. (????)
Fator Pico de Concorrência.
21
Determine a taxa de transferência requerida para sua farm
Exemplo:
Contoso tem 80k func; algo em torno de 40k devem usar MOSS em janelas de 8 horas;
80k usuários, 40k ativos, concorrência: média de 5%, pico de 10%;
10% light, 70% típico, 15% heavy, 5% extremo;
(10% light x 40k) x 20 RPH = 80.000 RPH;
(70% típico x 40k) x 36 RPH = 1.008.000 RPH
(15% heavy x 40k) x 60 RPH = 360.000 RPH
(5% extremo x 40k) x 120 RPH = 240.000 RPH
1.688.000 / 3600 (segundos por hora) = 469 RPS
469 x 10% pico = 46.9 RPS requeridas
Determine a taxa de transferência requerida para sua farm
Agora você já sabe o RPS necessário, mas o que essas requisições estariam fazendo?
Isso determina o seu MIX de teste;
De novo, busque o máximo de informações históricas possível;
Em outro caso, comece fazendo suposições acertadas (empirismo).
Criar o ambiente de teste
Uma vez que os objetivos do teste estão Uma vez que os objetivos do teste estão definidos, você precisa montar o ambiente e os definidos, você precisa montar o ambiente e os casos de testes que serão usados. Isso inclui casos de testes que serão usados. Isso inclui não apenas o ambiente SharePoint, mas o não apenas o ambiente SharePoint, mas o ambiente operacional;ambiente operacional;
Criar o ambiente de teste
Servidor de testeVSTT ControllerVSTT Agent(s)Use um SQL Server separado para os resultados do VSTT assim ele não irá impactar no SQL Server usado pelo MOSS;Desligue os antivírus quando carregar os test controller e agentes;Certifique que todas as configurações de rede estão corretas;Cuidado com os gargalos entre os computadores que executam os testes;
Criar o ambiente de teste
Configuração da FARM SharePoint
Dependendo do teste, você precisa parar o timer o serviço admin, bem como o crawl;Todas as páginas devem estar publicadas; nada em checked-out;Certifique que a navegação é realista e não muito grande;Certifique que você teste uma quantidade grande de páginas;Pare o antivírus (a menos que você queria medir a performance do SharePoint com um antivírus);Cada cenário de escrita irá mudar o content database; será restaurado do backup depois que o teste de escrita for executado.
Criar o ambiente de teste
Certifique que você tem dados de testes suficientesUm obstáculo muito comum
Tem conteúdo suficiente para uma busca descente? Carregar o mesmo documento várias vezes – centenas de vezes – com nomes diferentes PODE TE MACHUCAR!
Você precisará de uma ferramenta em todas as probabilidades para popular o seu SharePoint, como essa: http://www.codeplex.com/sptdatapop
Você quase sempre acaba escrevendo ferramentas adicionais para outras tarefas de popular dados
Criar os testes e as ferramentas customizadas
O próximo passo é criar os testes atuais que serão O próximo passo é criar os testes atuais que serão executados. Algumas vezes os testes são orientados a dados, executados. Algumas vezes os testes são orientados a dados, o que significa que os parâmetros são lidos de um banco de 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 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 modo que todo o site seja afetado ao longo do teste. Isso significa que ferramentas adicionais são desenvolvidas e significa que ferramentas adicionais são desenvolvidas e usadas para capturar todo o conteúdo de um site únicousadas para capturar todo o conteúdo de um site único , , páginas, listas e itens no site, assim eles podem ser páginas, listas e itens no site, assim eles podem ser plugados ao seu teste.plugados ao seu teste.
Melhores práticas para Web Tests
Depois de gravar um teste, mude os valores fixos (urls, params, etc.) para colocar dentro de um datasource;Sempre tenha regras de validação para comprovar a corretude do teste;Use múltiplos usuários e papéis
O sistema se comporta diferente para cada papel de usuárioEvite usar usuários administradores da Farm
Melhores práticas para Load Test
Valide o seu mix de teste; um mix ruim tornam os resultados razoavelmente rápidos ou devagarInicie em um estado conhecido
Restaure o backup antes de cada execuçãoCertifique-se de atualizar as estatísticas e fazer um defrag nos índices
Faça um iisresetDefina o período de aquecimento para os testes; o primeiro request depois do iisreset processa muita coisa
Melhores práticas para Think Time
Quando usar?Em Teste de carga;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;O uso do ThinkTime dá maior credibilidade ao teste em relação à proximidade com a realidade.
Quando não usar?Em testes de stress;O objetivo é, simplesmente, EXPLODIR o servidor da aplicação;
Exemplos de testes e Data Population
http://www.codeplex.com/sptdatapopPublicada pelo time de produto, baseado em uma ferramenta internaTestes de exemplos cobrem muitas operações básicas do SharePointUse como uma referência para criar novos testesA ferramenta Data Population define dados hierárquicos em formato XML
Outras ferramentas que você talvez precise
Script para criar usuários no Active DirectoryFerramenta 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 usaremPara dar corpo ao site
Ferramentas sptdatapopPoderá usar também seu web test de upload de documento
Para criar sites, listas, bibliotecas, lista de itens e etc.Ferramentas sptdatapop
Ferramenta para criar My SitesPoderá usar as ferramentas sptdatapop
Ferramenta para criar um lista de usuários e senhas para executar os testes
Adicionar um webtest, Adicionar um webtest, executar um teste loadexecutar um teste load
Fabio CamaraFabio CamaraDiretorDiretorF|C ConsultoriaF|C Consultoria
Questões para se fazer
Onde está o gargalo? Sempre haverá um!
E ele está onde eu estava prevendo que estaria?A performance pode ser melhorada? Como?
A taxa de transferência está alta? Existem padrões estranhos?Existem muitos erros?Recursos inesperados estão sendo baixados?Algum problema com o Load Balance?
Analisando Performance Counter
Qual(ais) máquina(s) está causando o gargalo?CPU / Memória / Disk IO / Rede
Então você pode ver de mais perto de acordo com o papel da máquinaComece com os sets de counters padrões do VSTT
Adicione SharePoint / Search / Excel
Recursos
www.microsoft.com/teched Tech·Talks Tech·Ed BloggersLive Simulcasts Virtual Labs
http://www.technetbrasil.com.br
Avaliação de produtos finais e betas, conteúdo técnico em português e MUITO MAIS!
http://www.msdnbrasil.com.br
Developer’s Kit, conteúdo técnico em português, e MUITO MAIS!
ReferênciasReferências
Plan for performance and capacityPlan for performance and capacityhttp://technet.microsoft.com/en-us/library/cc262971.aspx
Downloadable content for SharePointDownloadable content for SharePointhttp://technet.microsoft.com/en-us/library/cc262788.aspx
How do IHow do I? Videos? Videoshttp://msdn.microsoft.com/en-us/bb629407.aspx
Performance test guidancePerformance test guidancehttp://www.codeplex.com/PerfTestingGuide
Por favor Por favor preencha preencha a a avaliaçãoavaliação
© 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.
Top Related