Artigo original publicado na terça-feira, 26 de junho de 2012
Uma das primeiras ações que a maioria dos Administradores do Exchange geralmente fazem ao resolver problemas suspeitos com a Indexação de Conteúdo do Exchange será recompilar os arquivos de índice de conteúdo do Banco de dados da Caixa de correio impactada (manualmente ou usando o script ResetSearchIndex.ps1 encontrado no diretório \Exchange Server\Scripts). Eu também trabalhei com vários administradores do Exchange em vários anos que escolhem recompilar proativamente os índices de pesquisa em vários pontos durante o ano ou como várias etapas dentro de um projeto (como um projeto de migração, como exemplo).
Independente da justificativa para redefinir os índices, a maioria dos administradores, quando perguntados, não poderão fornecer estimativas reais de quanto tempo este processo levará. As consequências não desejadas de não estimar este tempo com precisão irão diferir de acordo com a organização. Alguns departamentos de TI podem desencorajar não ter índices laterais do servidor disponíveis para os usuários durante o dia comercial citando perdas na produtividade do usuário final e pequenos aumentos nos problemas escalados no Atendimento ao Cliente. De uma perspectiva operacional, não ter o conhecimento do tempo de recompilação antecipadamente também pode evitar que os administradores do Exchange sejam alertados sobre potenciais problemas com o próprio processo de recompilação. Seja qual for a justificativa, ter uma total compreensão de quanto o tempo vai levar é valioso.
É certo que há pouca informação sobre a quantidade de tempo que leva (ou melhor ainda, o tempo que deve levar) para recompilar o índice de conteúdo do Exchange disponível hoje. Aparentemente, isto ocorre porque os tempos de recompilação reais são sempre variáveis. Pode haver vários fatores que influenciam as taxas de recompilação e o tempo para concluir. Principalmente:
Na Microsoft (em nossa implementação empresarial, assim como em várias ofertas do Office-365), utilizamos uma Estrutura de recompilação de pesquisa desenvolvida pelo meu colega Anatoly Girko e eu. Esta estrutura foi projetada originalmente para oferecer para nossa equipe de operações internas um conjunto de etapas de validação completas e indicadores de progresso que eles podem analisar ao realizar recompilações de índices de conteúdo. Estas técnicas são utilizadas em várias etapas fundamentais dentro do processo de recompilação geral para garantir a conclusão com sucesso.
Como a estrutura evoluiu, decidimos adicionar uma funcionalidade que nos permite rastrear e armazenar um histórico de métricas de resultados para toda e qualquer operação de recompilação. Como estes conjuntos de dados cresceram, e como os dados de tendências subsequentes apareceram, descobrimos que podemos fazer estimativas mais informadas e mais precisas sobre quanto tempo uma determinada operação de recompilação pode levar. Isto, por sua vez, nos permitiu como uma equipe operacional tomar melhores decisões sobre quando programar recompilações para que possamos minimizar a interrupção para nossa base de clientes do usuário final. Desde o início, esta estrutura foi utilizada para supervisionar as operações de compilação para milhares de índices de conteúdo dentro dos vários ambientes que suportamos.
Em uma série de artigos, discutiremos nossa “Estrutura de recompilação” para que as partes interessadas possam aplicar uma metodologia semelhante em seus próprios ambientes caso seja necessário. Cada etapa da estrutura será detalhada, incluindo as discussões sobre os vários conjuntos de ferramentas que criamos para ajudar neste processo. Esta série será concluída com uma série de gráficos e tabelas que detalham nossas estatísticas de recompilação do índice de conteúdo e conclusões até o momento. Para os clientes que não rastrearam as estatísticas nesta área anteriormente, esperamos que isso sirva como um ponto de referência valioso. Provavelmente fornecerá a habilidade de realizar estimativas mais informadas sobre o tempo de recompilação do índice de conteúdo do Exchange em seus próprios ambientes. Isso dito, vale observar que devido a todos os ambientes do Exchange serem únicos, suas métricas de recompilação podem diferir drasticamente das taxas que observamos e apresentamos aqui.
Antes de mergulhar a "cabeça primeiro", é importante mencionar que esta série não é destinada como um guia de resolução de problemas. Nossa expectativa é que sua própria resolução de problemas que levou a decisão de realizar a recompilação em resposta a um problema ou como uma medida proativa. Todos os exemplos apresentados nesta série focalizarão no Exchange 2007. Tomei a decisão de concentrar no 2007 para esta publicação porque a probabilidade de recompilar índices de 2007 são significantemente maiores quando contrastado com o 2010 (diferente do 2007, o 2010 possui a capacidade de semear novamente Índices de conteúdo de fontes redundantes íntegras, criando a necessidade de realizar recompilações de índice completas muito mais raramente em arquiteturas de múlti-cópias). Nas próximas semanas, Anatoly e eu lançaremos uma publicação complementar fornecendo a referência de script para a versão de Exchange 2010 do script Analisador de Recompilação do Índice de Conteúdo, conforme acumulamos exemplos correspondentes para seu uso.
Dentro da Microsoft, o principal conjunto de ferramentas que usamos ao recompilar Índices de Conteúdo é o script IndexRebuildAnalyzer. Este script foi criado por Anatoly e eu especificamente para estabelecer as linhas de base de recompilação do Índice de Conteúdo. Como observado anteriormente, existem duas versões deste script; uma versão do Exchange 2007 e uma versão do Exchange 2010. Para calcular suas estatísticas adequadamente, sempre use o script que corresponde a versão do Banco de dados de Caixa de correio do Exchange cujo índice será recompilado. O script IndexRebuildAnalyzer gera dois tipos de métricas dependendo do modo de operação passado pelo operador. Internamente, mencionamos estes dois modos como “métricas pré-compiladas” e “métricas pós-recompilação” (todas as propriedades estão documentadas dentro da seção de Referência do Script abaixo).
Embora este script seja primariamente nivelado para rastrear as operações de recompilação do Índice de Conteúdo, os Administradores do Exchange podem certamente utilizar o script no “pré-modo” para obter estatísticas Point-In-Time (PIT) para vários objetivos centralizados na caixa de correio (por exemplo, “Número de caixas de correio”, “Número de itens em um banco de dados”, “Tamanho médio da mensagem” para toda sua organização, etc.). Isto pode, por exemplo, oferecer óticas adicionais e capacidades para tendenciar a ferramenta do usuário ser nivelada regularmente dependendo dos seus próprios requisitos ou necessidades comerciais.
Os parâmetros E2K7_IndexRebuildAnalyzer.ps1 script, assim como os exemplos para uso podem ser obtidos passando o parâmetro -Help na sessão do PowerShell antes da execução do script.
A tabela a seguir destaca cada parâmetro:
“MailboxServerName\StorageGroupName\DatabaseName”
Estatísticas para vários bancos de dados podem ser calculadas pela vírgula separando os nomes dos bancos de dados.
Como definido acima, o "modo de operação" do script é determinado pela presença ou ausência da opção -PostRebuild. Para obter métricas pré-compilação, a opção -PostRebuild não será utilizada. Quando o script é instanciado no pré-modo, os seguintes Cabeçalhos serão apresentados com as métricas correspondentes:
Quando a opção -PostRebuild é utilizado, o IndexRebuildAnalyzer tentará calcular as métricas de resultado para as operações de recompilação do Índice de Conteúdo. Faz a análise do Log de eventos de aplicativo para obter o horário inicial (denotado pela ID do evento 109) e conclusão da recompilação (denotado pela ID do evento 110) para cada banco de dados da caixa de correio no servidor da caixa de correio. Para calcular as métricas pós-recompilação com sucesso, o par da ID de Evento completo deve estar presente no Visualizador de eventos para cada banco de dados da caixa de correio cujo Índice de Conteúdo correspondente foi reiniciado. Em situações onde o par da ID de evento não está disponível, o script não poderá calcular as estatísticas. Nestas situações, a cadeia “NoEventsFound” será retornada. Os motivos mais comuns porque esta cadeia deve ser retornada são:
Todos os cabeçalhos “pré-recompilados” e métricas também são calculados sempre que a opção -PostRebuild é passada para a execução do script. O uso da opção -PostRebuild incluirá a adição dos seguintes cabeçalhos e métricas:
Cabeçalho
Descrição
Tempo inicial de recompilação do índice de conteúdo
A Hora inicial de quando o serviço do Indexador de pesquisa começa o Rastreamento completo do banco de dados da caixa de correio.
Tempo final de recompilação do índice de conteúdo
O Tempo de conclusão de quando o serviço do Indexador de pesquisa concluiu o Rastreamento completo do banco de dados da caixa de correio
Tempo total de recompilação: H:Min:Seg
Tempo total em Horas:Minutos:Segundos necessários para o serviço do Indexador de pesquisa concluir o Rastreamento completo do banco de dados da caixa de correio.
Tempo total de recompilação: Min Total
Tempo total em Minutos necessários para o serviço do Indexador de pesquisa concluir o Rastreamento completo.
Tempo total de recompilação: Seg Total
Tempo total em Segundos necessários para o serviço do Indexador de pesquisa concluir o Rastreamento completo.
Recompilar: Por média da caixa de correio: Seg
Tempo médio em Segundos para concluir o Rastreamento completo por caixa de correio.
Recompilar: MB por/seg
Indexador de pesquisa Rastreamento completo média de resultado em MB/por segundo.
Recompilar: Itens por/seg
Indexador de pesquisa Rastreamento completo resultado em Correio Itens/por segundo.
É possível baixar o script do analisador de recompilação de índice do Exchange 2007 aqui.
Na parte 2 desta série, discutirei a estrutura de recompilação de pesquisa e na parte 3 desta série, discutirei o que vimos até o momento dentro da Microsoft.
Eric Norberg Engenheiro de Serviço Exclusivo do Office 365
Esta é uma publicação localizada. Encontre o artigo original em Establishing Exchange Content Index Rebuild Baselines – Part 1