Download - TechEd_OFC305

Transcript
Page 1: TechEd_OFC305
Page 2: TechEd_OFC305

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

Page 3: TechEd_OFC305

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.

Page 4: TechEd_OFC305

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;

Page 5: TechEd_OFC305

Nivelando o conhecimento

Page 6: TechEd_OFC305

Sobre tipos de testes...

Page 7: TechEd_OFC305

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.

Page 8: TechEd_OFC305

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...

Page 9: TechEd_OFC305

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?

Page 10: TechEd_OFC305

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.

Page 11: TechEd_OFC305

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.

Page 12: TechEd_OFC305

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

Page 13: TechEd_OFC305

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.

Page 14: TechEd_OFC305

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

Page 15: TechEd_OFC305

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.

Page 16: TechEd_OFC305

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

Page 17: TechEd_OFC305

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).

Page 18: TechEd_OFC305

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;

Page 19: TechEd_OFC305

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;

Page 20: TechEd_OFC305

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.

Page 21: TechEd_OFC305

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

Page 22: TechEd_OFC305

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.

Page 23: TechEd_OFC305

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

Page 24: TechEd_OFC305

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

Page 25: TechEd_OFC305

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;

Page 26: TechEd_OFC305

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

Page 27: TechEd_OFC305

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

Page 28: TechEd_OFC305

Adicionar um webtest, Adicionar um webtest, executar um teste loadexecutar um teste load

Fabio CamaraFabio CamaraDiretorDiretorF|C ConsultoriaF|C Consultoria

Page 29: TechEd_OFC305

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?

Page 30: TechEd_OFC305

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

Page 31: TechEd_OFC305
Page 32: TechEd_OFC305

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!

Page 33: TechEd_OFC305

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

Page 34: TechEd_OFC305

Por favor Por favor preencha preencha a a avaliaçãoavaliação

Page 35: TechEd_OFC305

© 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.