1. O documento discute como planejar testes e capacidade para MOSS 2007, incluindo como determinar a taxa de transferência necessária e criar ambientes e casos de teste.
2. É destacada a importância de se definir claramente os objetivos dos testes e de se saber o que medir para atingir esses objetivos.
3. Ferramentas como VSTT e SPTDataPop são apresentadas para auxiliar na criação de ambientes e casos de teste personalizados.
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.
19.
20.
21.
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;
24.
25.
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.
Rodolfo A maioria dos testes é focada no que você pode oferecer com essa infraestrutura; Esse teste pode ser usado para medir: quantas páginas são entregues pelo servidor; quantas buscas foram executadas; quantos sites foram criados; Isso tudo faz parte dessa “categoria de teste” que chamamos de RPS.
Tempo de página: Também conhecido como TTLB Importante dizer que esse teste não mede o tempo que uma página leva para ser reinderizada, porque o “render” acontece todo na máquina cliente, coisa que, no papel de admin de SharePoint, não temos o controle. O que é medido é o tempo de entrega entre servidor e cliente;
Esse teste tem por objetivo medir, no geral, a velocidade que sua farm SharePoint leva para fazer o crawl do conteúdo nele armazenado. Não vamos entrar nesse tipo de teste aqui, mas vamos apenas deixar os pontos que você deve procurar quando estiver interessado em desempenhar um teste como esse. Esses são os pontos que você deve levar em consideração quando for executar um teste de crawling.
Rodolfo - Decidimos adotar o testes da taxa de transferência (ou RPS) como objeto dessa apresentação por se tratar do cenário mais comum na empresas. Teste de RPS pode ser um teste bastante complicado para fazer e, de certa forma, envolve um certo trabalho de adivinhação também.
Aqui devemos parar por um minuto para falar sobre como determinar a taxa de transferência da Farm. Vários pontos que serão abordados hoje são baseados em informações fornecidas pelos consultores da Microsoft, especialmente consultores da Microsoft EUA, onde o mercado é mais maduro que o mercado Brasileiro. Vários testes foram feitos tanto com o time de produtos quanto com grandes clientes, em ambientes com SharePoint 2003 com SQL Server 2000 que depois migraram para SharePoint 2007 com SQL Server 2005. Outras fontes de conhecimento utilizadas para chegar a essa conclusão foi o livro “Planning and architecture for SharePoint 2007” assim como testes realizados em grandes empresas americanas, sendo que uma delas é uma organização militar e tem mais de 2 milhões de usuários no SharePoint; O que 2 milhões de usuários significa? NADA! NADA!! NADA!!! Essa é uma discussão que sempre virá a mesa, pois é a primeira coisa que vem na cabeça das pessoas quando o assunto é overload de ambiente e mais do que isso, é um número muito fácil de agarrar. Uma coisa é uma empresa dizer que o ambiente dela não está atendendo porque tem 50 mil usuários na rede e outra coisa é ela dizer que não está atendendo porque precisa de 400 RPS enquanto ele está suportando apenas 40 RPS. Se vc disser isso para uma pessoa ela vai ficar espantada e vai perguntar: O QUE? 100K usuários em um Laptop??? Provavelmente isso não acontecerá, mas é apenas para mostrar que número de usuários não significa nada!
Rodolfo - Antes de começar a determinar a taxa de transferência da sua farm, é melhor esclarecer uma coisa, pois vocês vão nos ouvir falar muito sobre isso. Determinar a taxa de transferência requerida pela sua farm envolve, e sempre envolverá, trabalho de adivinhação. Se você tiver sorte, você conseguirá limitar o número de adivinhações que você terá que fazer. Não existe um único caso de teste de capacidade que não envolve um exercício de adivinhação. O melhor dos mundos seria se a empresa que você trabalha (ou que você estiver fazendo consultoria) tenha informações coletadas de ferramentas como IIS Log, Log Parser, Web Trends, etc, mas poucas empresas têm essas informações de modo inteligível. O número entre parênteses significa o número de requisições que o usuário daquele perfil realiza por hora; Vejamos na prática (hipotética) como isso se desenrola.
Rodolfo – Número de usuários: 80.000 Número de usuários ativos: 40.000 Pico de concorrência: 5% na média e pico de 10% do tempo de uso da farm; De novo, eis aqui um grande exemplo de como o exercício de adivinhação entra em cena. A menos que você tenha um controle minucioso da utilização do SharePoint por parte dos seus usuários, você ter que fazer algumas suposições; Depois que a conta foi feita, soma-se todos os valores e divide-se por 3600 (número de segundos em 1 hora). Porém, ainda temos o tempo de concorrência, ou seja, o tempo que os usuários está utilizando o ambiente concorrentemente, que no nosso caso, são 10% dos 40.000 usuários ativos.
Rodolfo Agora sabemos quantos RPS precisamos, mas o que essas requisições estariam fazendo no SharePoint? O que essas requisições estão fazendo é exatamente o seu mix de teste! As requisições podem ser coisas como: acesso à home page do site corporativo, a visualização de uma biblioteca de documentos, fazendo o upload de um documento, download do documento, etc... Todas essas requisições podem fazer parte do seu conjunto de testes. Claro que você pode fazer uma coleção de dados históricos para determinar a taxa de transferência, mas é muito raro ter esse tipo de informação para criar os mixes de teste.
Fabio O desenho do ambiente onde os testes deverão ser executados incluem não somente o SharePoint, mas o ambiente operacional; Um dos maiores problemas de se realizar os teste é planejar tempo suficiente para a execução de testes. Em muitos casos (literários) os testes não são muito bem sucedidos por não terem sido realizados com tempo hábil para testar todos os campos necessários da aplicação (webtestes); Como melhores práticas trazidas de dentro da Microsoft, eu gostaria de sugerir a vocês planejarem, pelo menos 2 meses do começo ao fim para executar seus testes. Isso inclui todos os planos que nós já falamos e dos planos adicionais que vamos comentar mais adiante. Além dos labs de testes, quem podem levar muito tempo para serem elaborados e executados, como vocês verão na demonstração. Testes podem a dar errado e você precisa ter tempo para analisar os resultados dos testes, re-planejá-los e recriá-los.
Fabio Camara Múltiplos VSTT agentes. Uma pergunta comum, que sempre surge é: qual o tipo de máquina eu devo ter/usar para o Visual Studio Agent? SQL Server separado: certifique-se de usar um SQL Server separado para os resultados do VSTT para não sobrecarregar mais ainda os SQL Server que está sendo utilizado pelo MOSS ou WSS, afinal de contas, SQL Server é um dos pontos principais que você irá monitorar nos seus testes de performance.
Rodolfo Dependendo do teste que você estiver executando, ainda mais no caso do RPS ou Stress Test, você precisará desligar os serviços que estiverem rodando com admin, o import de profiles e o crawl; via de regra, você faz isso num teste separado (teste de crawling, por exemplo); Uma estrutura de sites muito grande faz com que o SharePoint perca muito tempo reinderizando aquela navegação toda e não necessariamente é comparada com a navegação real que está em produção.
Rodolfo Fazer o upload 30 mil documentos iguais, com nomes diferentes você poderá onerar a sua busca e depreciar muito a performance. O que não significa que sua busca está deteriorada, mas a massa de dados que está sendo testada. Quando você executa uma busca em cima dessa massa de dados, você verá que a performance da busca vai piorando a cada vez. Isso porque o que a busca do SharePoint faz é duplicar automaticamente a detecção do documento e ele não faz isso com base no nome do documento, mas com base em um hash do conteúdo do documento. Então, se você tiver um documento no seu SharePoint, que foi carregado 30 mil vezes, com nome diferente, não vai adiantar nada porque os 30 mil documento terão o mesmo hash; então, quando você executar aquela busca, a resposta virá relativamente rápida, no entanto, antes do resultado for exibido, existe um processo de post-query que irá duplicar a detecção desse documento.
Fabio
Fabio Camara Depois que você utilizou diferentes parâmetros para teste, grave-os para colocá-lo em um data-source, para pode plugar esses mesmos dados em outros casos de teste Sempre tenha uma regra de validação do teste, porque qualquer exceção será retornado o código 200.