Explorando o SharePoint Melhorando o desempenho do SharePoint

Pav Cherny

Conteúdo

Critérios de desempenho
Interdependências de desempenho
Resolvendo problemas de desempenho
Ferramentas de solução de problemas
O monitoramento constante

Em um mundo ideal, você poderia conta para otimização de desempenho do SharePoint no planejamento e estágios de design com adequadamente em tamanho normal e projetada servidores, equipes de suporte e infra-estrutura subjacente. Mas no mundo real, você terá problemas para prever as taxas de adoção de usuário. Seu orçamento pode ser recortada ou equipe downsized. Você pode herdar um ambiente do SharePoint insatisfatório. Mesmo se sua infra-estrutura nas primeira atenda às expectativas de desempenho, aumentando o número de documentos, grupos, listas e sites pode aumentar página tempos de carregamento e diminuir satisfação.

Um dos maiores desafios que você enfrentará em seus esforços para otimizar o desempenho do SharePoint irá ser navegar através das várias opções de configuração que fornecem as tecnologias subjacentes IIS, .NET e SQL Server durante os estágios de planejamento e design, bem como em operação prática. O enorme número de opções é desanimador, para não mencionar tentando descobrir qual é a opção mais adequada às suas necessidades. Por exemplo, SQL Server hospeda a grande maioria dos dados de configuração do SharePoint e conteúdo, mas a pesquisa, conteúdo, configuração e bancos de dados temporários têm padrões de leitura/gravação muito diferentes que requerem transferência de disco apropriada e RAM. Para complicar a imagem, você também pode usar armazenamento em cache no IIS ou o descarregamento de indexação para um servidor front-end para ajudar a aumentar a taxa de transferência do disco.

Um segundo desafio gira em torno determinar que as causas dos problemas de desempenho. SharePoint depende não apenas nos principais componentes SQL, IIS e .NET, mas também em interdependências, como Active Directory, a rede, arquitetura do SharePoint e hardware de servidor físico. Isso significa que um problema de desempenho pode ter mais de uma raiz causar e da mesma forma requer fazer várias alterações para resolução de problemas. Trabalhos operacionais, rotinas de backup e ferramentas de terceiros adicionam mais possíveis causas raiz a problemas de desempenho.

Nesta coluna, eu apresentar uma visão geral dos principais componentes de arquitetura do SharePoint, descrever como eles podem levar a problemas de desempenho comuns e discuta como resolver e solucionar problemas.

Critérios de desempenho

Antes de entrarei nas relações entre o IIS e SQL Server design, opções de configuração e impacto no desempenho, vamos estabelecer o destino de otimização do desempenho. Simplesmente colocar, é melhor experiência de usuário e administrador em termos de principais indicadores, como tempos de carregamento páginas, pesquisa e rastreamento. Se páginas não carregar rápido para os usuários, não importa seu esforço para otimizar o desempenho eliminando 10 ida e volta para bancos de dados do SQL Server.

Ao considerar como rapidamente uma página é exibida para um usuário, certifique-se pensar em tempos de carregamento inicial e as subseqüentes. Você pode ter instâncias em que os usuários carregar uma única página uma vez mas, em geral, o uso do SharePoint envolve pessoas acessar vários sites e bibliotecas de documentos repetidamente. É por isso que enfocando oportunidades yield tempos de carregamento reduzido para todas as solicitações de página é tão importante. Tenha em mente que devido ao cache do navegador, a primeira vez uma página carrega o tempo de processamento será diferente para cargas de página subseqüente.

Interdependências de desempenho

Na minha coluna de maio de 2008 " Criando a infra-estrutura SharePoint", Eu abordados a arquitetura do SharePoint e explicadas em um nível básico, como o IIS, SQL Server e .NET funcionam em conjunto para processar páginas solicitadas. Agora vamos considerar como configurar as tecnologias de núcleo para atender às suas necessidades de desempenho. a Figura 1 mostra os componentes chaves relacionadas às opções de otimização.

fig01.gif

Figura 1 arquitetura do SharePoint componentes que afetam o desempenho

Recursos

bluebullet.gif go.Microsoft.com/fwlink/?LinkId=69752
bluebullet.gif Site SharePoint Products and Technologies
Microsoft.com/SharePoint
bluebullet.gif TechCenter do Windows SharePoint Services
TechNet.Microsoft.com/WindowsServer/SharePoint
bluebullet.gif Windows SharePoint Services Developer Center
msdn2.Microsoft.com/SharePoint
bluebullet.gif Blog da equipe tecnologias de produtos do Microsoft SharePoint e
blogs.msdn.com/SharePoint

No cenário de solicitação básica, o analisador de página ASP.NET serviços a solicitação de entrada, uma vez que ele é autenticado e processa o resultado para o navegador. O conteúdo base inclui dados do sistema de arquivos e bancos de SQL Server conteúdos dados, como itens de lista, objetos binários grandes (BLOBs), elementos gráficos e texto. Enviar mesmo conteúdo para um blog ou página com algumas Web parts requer a verificação de permissões apropriadas, o analisador de página para compilar a página ASP.NET e várias viagens para o SQL Server para leitura e gravação para e partir temp, logs de transação e bancos de dados de conteúdo de notícias.

Problemas de desempenho podem acontecer em qualquer ponto do processo. Por exemplo, se a página contiver muitos artefatos pequenos, como imagens, e seu ambiente usa um DC (controlador de domínio remoto) e Windows NT LAN Manager, em seguida, a página inteira carregará lentamente como solicitações HTTP GET requerem um round trip para o controlador de domínio. A arquitetura de autenticação do Windows NT LAN Manager é a restrição, operações não IIS ou SQL Server. Da mesma forma, um usuário pode solicitar uma página com milhares de itens de lista ou importar muitos itens de uma planilha a uma lista, que afetam os horários de carga para todos os outros usuários que acessam sites hospedados no mesmo SQL Server.

Tarefas operacionais e processos de plano de fundo, como backups noturnos uso intensivo de recursos, também podem influenciar desempenho. Backups noturnos podem causar problemas para usuários comerciais em ambientes globais que operam cada dia de 24 horas. Tarefas em segundo plano impactar o desempenho porque eles sobrecarregar os recursos do sistema. Por exemplo, trabalhos de timer agendada, banco de dados as tarefas de limpeza e, principalmente, processos de indexação e rastreamento usam grandes quantidades de E/s de disco, CPU e RAM nos servidores front e back-end.

Resolvendo problemas de desempenho

Independentemente da estrutura e a metodologia que usar na tentativa de para compreender seus problemas de desempenho do SharePoint, isolar suas causas raiz e resolver os problemas, você precisa de dados de linha de base que refletem o desempenho aceitável em relação à qual você comparar os dados que refletem o desempenho ruim. Você pode obter um conjunto de linha de base de dados de desempenho direita após sua implantação inicial, durante períodos de um desempenho aceitável ou as práticas recomendadas pela. Se você tem não base para comparação, então você pode usar a Microsoft publicou recomendações de desempenho para várias medidas, disponíveis em technet.micro-soft.com/en-us/library/cc262787.aspx.

Como já mencionado, os problemas mais comuns de desempenho acontecer como resultado dos componentes inter-relacionados. Isso pode ser problemático porque geralmente os indicadores de base são os mesmos. Por exemplo, um indicador comuns de um problema de desempenho é um pico na utilização de recursos, como RAM, CPU ou E/s de disco. Para resolver o problema de desempenho, você precisará procurar disponíveis em todos os dados, compreender a seqüência de eventos, levando ao problema e correlacionar os eventos para determinar a causa raiz. Figura 2 mostra problemas de desempenho comuns, possíveis causas e opções de resolução.

Figura 2 emitir, causa e resolução resumo
Problema Possíveis causas raiz Resoluções possíveis Recursos adicionais
Disco de alto atividade de E/s no SQL Server Operações de lista grande, trabalhos de timer, tarefas de manutenção SQL, backup, indexação, RAM inadequado, altos bancos de dados de E/s, como tlog temp, pesquisa e conteúdo, colocado no mesmo disco ou discos lentos. Separar bancos de dados temporário e pesquisa em vários arquivos em grandes volumes de disco de E/s, aumente a RAM, usar discos dedicados para logs de transação, desfragmentar e reindexar semanalmente bancos de dados. TechNet.Microsoft.com/en-us/library/cc678870.aspx
MSDN.Microsoft.com/en-us/library/ms175527.aspx
TechNet.Microsoft.com/en-us/library/cc263261.aspx
.aspx TechNet.Microsoft.com/en-us/library/cc262067 (TechNet.10)
Bloquear/bloqueio de SQL Configuração de NIC, operações de lista grande, trabalhos de indexação/rastreamento. Não use o SharePoint Team Services Administration (STSADM). Usar o backup do SQL, DPM, Litespeed ou SQL 2008 com a compactação, certifique-se fator de preenchimento é definida como 70 % em bancos de dados de conteúdo, aplicar limite de crescimento de 100 GB. TechNet.Microsoft.com/en-us/library/cc901593.aspx
go.Microsoft.com/fwlink/?LinkID=105623&clcid=0x409
support.Microsoft.com/kb/271509
support.Microsoft.com/kb/298475
Geral carrega a página lenta Compactação não ativada. Cache não habilitado ou não configurado. Páginas grandes. Viagens SQL redundantes, problemas de rede subjacente. Ativar armazenamento em cache e compactação, verificar horários de carga de página e examinar consultas SQL e viagens de ida e volta, procurar NIC Broadcom 5708 Chimney problemas. TechNet.Microsoft.com/en-us/library/cc298550.aspx
support.Microsoft.com/kb/942861
Muito tempo para carregar a página inteira Objeto SharePoint incorreto tratamento no código personalizado, lento vincula, SQL bloquear, trabalhos de timer, Web part não cache habilitado. Resolver problemas de largura de banda e a resposta do back-end, descartar objetos adequadamente, utilizar hardware de 64 bits ou configurar limites de pool de memória, atraso download core.js. Code.msdn.Microsoft.com/SPDisposeCheck
TechNet.Microsoft.com/en-us/library/cc298550.aspx
TechNet.Microsoft.com/en-us/library/cc678870.aspx
TechNet.Microsoft.com/en-us/library/cc298466.aspx
Desempenho ruim de lista Listas grandes > 2, 000–3, 000 itens em um nível. Nenhuma indexação nas listas. Base problemas do SQL Server. Número excessivo de colunas. Índice em um ou mais colunas, garantir o desempenho do SQL Server, manter menos de 2, 000–3, 000 itens em um nível. go.Microsoft.com/fwlink/?LinkID=105580&clcid=0x409
Rastreamento e índice demora ou sluggishness causando indexação Grandes volumes de dados requerem vezes índice longo, nenhum destino de índices dedicado. Bloquear com robots.txt, o descarregamento de rastreamento/indexação para o servidor front-end dedicado. TechNet.Microsoft.com/en-us/library/cc261810.aspx
Operações de LDAP (como operações de autenticação e de usuário) causando picos de uso Baixa largura de banda, controlador de domínio remoto, importações de perfil grande. Aumentar largura de banda, usar o Kerberos, otimizar a importação de perfil. support.Microsoft.com/kb/827754
Backup levando muito tempo Usando o STSADM, outras condições SQL, como bloqueio. Use o Microsoft Data Protection Manager (DPM) ou SQL 2008 com a compactação. TechNet.Microsoft.com/en-us/library/cc901593.aspx
IIS fora das condições de memória Pool de aplicativos e trabalho processam o objeto reciclagem, impróprio tratamento, não há RAM, ruim balanceamento de carga arquitetura. Usar a reciclagem IIS sobreposto, use o hardware de 64 bits. .aspx MSDN.Microsoft.com/en-us/library/aa720391 (VS.71)
TechNet.Microsoft.com/en-us/library/cc737679.aspx

Como restringir possíveis causas para problemas de desempenho, manter Lembre-se as operações gerais as práticas recomendadas, como os documentados no IT Showcase white paper " Otimização de desempenho do SharePoint." Aplicação da patches, service packs e atualizações mais recentes para o SQL Server, IIS, SharePoint e Windows Server é especialmente importante. Microsoft tem fixo muitos problemas de desempenho anterior, como o tempdb alocação contenção (consulte a Aprimoramentos de simultaneidade para o banco de dados tempdb) e cache TokenAndPermUserStore (consulte a Consultas levar mais tempo para concluir a execução quando o tamanho do cache TokenAndPermUserStore cresce no SQL Server 2005).

Ferramentas de solução de problemas

Você pode confiar em um intervalo variado de ferramentas para indo até as especificações de um problema de desempenho do SharePoint e coleta de evidências que poderiam ajudar a fazer um diagnóstico, determinar as causas raiz e resolver o problema.

As ferramentas a seguir são especialmente úteis na identificação de causas de problemas de desempenho:

  • PowerToy Fiddler e neXpert complemento Usados juntos, essas ferramentas fornecem um ponto de partida sólido para análise de carregamento de página. Eles permitem que você revise cache, compactação e o desempenho geral do HTTP. Você pode obter mais informações sobre essas ferramentas em Fiddler PowerToy - parte 2: Desempenho de HTTPe Microsoft neXpert plug-in análise de desempenho.
  • WireShark Quando você precisar examinar problemas de rede, use o WireShark. Ele funciona com várias mídias e você pode capturar pacotes de conversações de TCP/IP recriadas quando você recriar problemas. Para obter mais informações, consulte wireshark.org.
  • Analisador de viagem de ida e volta Visual (VRTA) Você pode usar o VRTA para examinar o desempenho de ida e volta da solicitação para resposta. VRTA examina o protocolo de comunicação, identificar as causas de ida e volta excessiva e recomendar soluções. Você pode baixá-lo de downloads da Microsoft, O Visual Round Trip Analyzer.
  • SQL Profiler Você pode usar essa ferramenta útil, instalada com o SQL Server, para monitorar uma instância do SQL Server Database Engine ou SQL Server Analysis Services. Ele permite que você descobrir problemas de consultas, deadlocks, tempos limite, recompilações e erros gerais e exceções.
  • SQLDiag Essa ferramenta, também instalada com o SQL Server, coleta informações valiosas sobre a configuração do computador que executa o SQL Server, o sistema operacional e as informações que são relatadas aos logs de erro de SQL Server.
  • SQL Query Analyzer Isso é uma ferramenta baixo nível de depuração para analisar problemas de desempenho de consulta. Ele também é parte do conjunto de ferramentas do SQL Server.
  • SPtraceview Essa é uma das minhas ferramentas favoritas porque ele fornece um modo de exibição de problemas de desempenho em tempo real. É útil para monitorar o rastreamento de diagnóstico ao trabalhar com Web parts personalizadas. Para obter mais informações, consulte SPTraceView – ferramenta leve para monitorar o diagnóstico de SharePoint log em tempo real.
  • WSSDW.exe é uma ferramenta de teste de desempenho que preenche os dados para testar implantações do Office SharePoint Server 2007. Consulte Ferramentas de desempenho e planejamento de capacidade (Office SharePoint Server)e SharePoint 2007 Test Data Population ToolPara obter mais informações.
  • ferramenta personalizada para ping de URL baseadas no cliente Essa é uma das ferramentas mais úteis, pois permite que a comparação de estatísticas antes e depois de implementar alterações de configuração para o ambiente. Consulte o apêndice sobre o Otimização de desempenho do SharePointpágina.

O monitoramento constante

SharePoint ajuste de desempenho, como a maioria das coisas SharePoint, é complexa. Você precisa entender o modelo de objeto, detalhes sobre a arquitetura do SharePoint e as interações entre IIS/.NET e SQL Server. Você também precisa saber a solução de problemas as práticas recomendadas e administração de banco de dados. A boa notícia é que se você não tem essa compreensão, você ainda poderá fazer bem a otimizar a infra-estrutura do SharePoint após estabelecer práticas recomendadas, recomendações e conhecimento e os problemas comuns de endereçamento apontado aqui.

Pav Cherny é especialista em IT e autor especializado em tecnologias Microsoft para colaboração e comunicação unificada. Entre suas publicações estão white papers, manuais de produto e livros com foco em operações de TI e administração do sistema. Pav é presidente da Biblioso Corporation, empresa especializada em serviços de documentação gerenciada e localização.