Compartilhar via


Práticas recomendadas para coleções em Configuration Manager

Aplica-se a: Gerenciador de Configurações (branch atual)

Algumas diretrizes de gerenciamento de coleção podem ser contraditórias. Por exemplo, por motivos de desempenho, você deve limitar o número de coleções que são atualizadas com frequência. Mas atualizar coleções com frequência é conveniente, pois a maioria Configuration Manager funcionalidade depende de coleções. Considere cuidadosamente os impactos de desempenho e os requisitos de negócios ao projetar e configurar coleções e avaliação de coleção.

Use as práticas recomendadas a seguir para coleções em Configuration Manager.

Configurar a janela de manutenção para atualizações

Você pode configurar janelas de manutenção para coleções de dispositivos para restringir os horários que Configuration Manager podem instalar software nesses dispositivos. Se você configurar a janela de manutenção para ser muito pequena, o cliente poderá não instalar atualizações de software críticas. Esse estado deixa o cliente vulnerável aos problemas que a atualização atenua.

Considerações importantes a serem consideradas ao planejar suas janelas de manutenção:

  • O tempo máximo de execução da atualização de software padrão é de 60 minutos.
  • Quando Configuration Manager calcula se uma atualização pode ser instalada, ela adiciona cinco minutos ao tempo máximo de execução para considerar uma reinicialização.
  • A duração restante de uma janela de manutenção deve ser maior do que o tempo máximo de execução da atualização de software mais cinco minutos.

Evitar avaliação de coleção frequente

Uma avaliação completa da coleção avalia não apenas a coleção de destino, mas também todas as coleções que a coleção limita se ocorrer uma atualização. Além disso, uma coleção sem agendamento ainda será avaliada se sua coleção limitante for atualizada. Portanto, é possível que algumas coleções possam ser avaliadas com mais frequência do que você espera.

Em um ambiente de Configuration Manager ocupado, você pode melhorar o desempenho da avaliação de coleção redimensionando agendamentos para evitar repetidas avaliações de coleção. Em uma árvore profunda, você pode diminuir a frequência de avaliação da coleção à medida que as coleções descem mais fundo na árvore, pois as avaliações de coleção de nível superior também dispararão avaliações de coleção de nível inferior.

Entender o grafo de avaliação de coleção

Esteja ciente de como o grafo de avaliação de coleção funciona para que você possa projetar uma estrutura de coleção apropriada. Não confie na avaliação completa da coleção para sempre atualizar todas as coleções. Se uma coleção atualizada incrementalmente for atualizada em um agendamento, fazer referência a coleções que não estão habilitadas para atualizações incrementais poderá não ser atualizada. Como as atualizações provavelmente ocorreram durante avaliações incrementais, uma avaliação completa pode não atualizar a coleção, encerrando o grafo de avaliação de coleção para esse ciclo. Nesse caso, não ocorrem avaliações de coleção de referência. Para obter mais informações, consulte Gráfico de avaliação de coleção.

Limitar atualizações incrementais

Habilitar atualizações incrementais para muitas coleções pode causar atrasos na avaliação. É melhor limitar o número de coleções atualizadas incrementalmente para 200. O número exato depende de:

  • O número total de coleções
  • A frequência de novos recursos sendo adicionados e alterados na hierarquia
  • O número de clientes em uma hierarquia
  • A complexidade das regras de associação de coleção em uma hierarquia

Se o ciclo de avaliação incremental estiver demorando mais do que a frequência de atualização configurada, Configuration Manager está constantemente processando avaliações de coleção, o que pode afetar o desempenho do sistema. Reduza o número de coleções atualizadas incrementalmente ou aumente o tempo entre ciclos de avaliação incremental.

Dado os possíveis impactos das coleções incrementais, é importante ter uma política ou procedimento para criar as coleções e atribuir agendamentos de atualização. Exemplos de considerações políticas podem ser:

  • Use apenas atualizações incrementais para coleções usadas para escopo de segurança, configurações de cliente e janelas de manutenção. Essas atualizações de coleção afetam o comportamento do cliente e o acesso aos recursos.
  • Para aplicativos sem aprovação de licenciamento, anuncie aplicativos para coleções existentes e use condições globais para restringir a disponibilidade.
  • Delineie os períodos apropriados para outras coleções que têm atualizações de coleção completas agendadas.

Evitar a avaliação de árvores grandes do CAS

Em um ambiente Configuration Manager, o CAS (site de administração central) não avalia a associação de coleção. Os sites primários são os únicos sites que avaliam coleções. Sites secundários atuam como proxies que usam apenas dados que replicam de seu site primário.

Para solicitar uma atualização de coleção, o CAS envia uma solicitação para cada site primário. Os sites primários avaliam a coleção e enviam os resultados de volta para o CAS. Os resultados da avaliação da coleção aparecem somente depois que todas as instruções de avaliação de coleção forem replicadas para todos os sites, todos os sites avaliarem todas as coleções e todos os dados retornarem ao CAS e forem combinados.

O diagrama a seguir demonstra o fluxo quando o CAS solicita uma atualização de coleção manual:

Atualização de coleção manual de um CAS

Uma atualização de coleção de um CAS com vários sites primários pode ser demorada. Se uma coleção não for avaliada em tempo hábil, é tentador repetir a solicitação.

Depois que um thread de avaliação de coleção começa e carrega o grafo de avaliação, a avaliação continua até que o grafo de avaliação de coleção esteja vazio. Em seguida, o thread é encerrado e fica disponível para a próxima avaliação. No entanto, se outro ciclo de avaliação de coleção fizer filas enquanto o thread estiver avaliando coleções, o thread será imediatamente reiniciado para tentar uma avaliação do ciclo "perdido".

Cada método de avaliação é executado em seu próprio thread. É possível que, dentro do thread, Configuration Manager possa tentar grafar a mesma coleção mais de uma vez. Configuration Manager, em seguida, retira as segundas e posteriores solicitações.

Para evitar esses cenários, evite avaliações manuais de coleta de árvores grandes, especialmente ao trabalhar do CAS com vários locais.

Considere a profundidade da coleção e a referência cruzada

Para encontrar um equilíbrio entre os requisitos de negócios e o desempenho, é importante entender a estrutura de coleção que você cria e suas dependências em outras coleções. Se você criar uma coleção com regras que referenciam uma ou mais coleções que também se referem a outras coleções, todas essas coleções serão avaliadas para criar a associação da coleção.

A inclusão e a exclusão de regras de coleção em Configuration Manager facilitam a gravação de uma consulta WQL personalizada. No entanto, se o uso de coleções de inclusão e exclusão resultar em um pedágio de alto desempenho, você poderá usar o método de consulta WQL. Use as consultas de exemplo a seguir e substitua a ID XYZ0003F da coleção de exemplo pela ID da coleção que você deseja incluir ou excluir.

Inclua:

Select * from SMS_R_System where SMS_R_System.ResourceId in (select ResourceID from SMS_CM_RES_COLL_XYZ0003F)

Excluir:

Select * from SMS_R_System where SMS_R_System.ResourceId not in (select ResourceID from SMS_CM_RES_COLL_XYZ0003F)

Usar o CEViewer para monitorar a avaliação da coleção

Você pode usar o CEViewer (Collection Evaluation Viewer) para monitorar quantas coleções estão sendo avaliadas e quanto tempo cada coleção está levando para ser atualizada. O CEViewer está na pasta CD.Latest no servidor do site.

Dica

A partir Configuration Manager versão 2010, essa funcionalidade é integrada ao console. Para obter mais informações, confira Como exibir a avaliação da coleção.

Para fazer manualmente uma verificação semelhante com o SQL, você pode usar a seguinte consulta:

SELECT [t2].[CollectionName], [t2].[SiteID], [t2].[value] AS [Seconds], [t2].[LastIncrementalRefreshTime], [t2].[IncrementalMemberChanges] AS [IncChanges], [t2].[LastMemberChangeTime] AS [MemberChangeTime]
FROM (
    SELECT [t0].[CollectionName], [t0].[SiteID], DATEDIFF(Millisecond, [t1].[IncrementalEvaluationStartTime], [t1].[LastIncrementalRefreshTime]) * 0.001 AS [value], [t1].[LastIncrementalRefreshTime], [t1].[IncrementalMemberChanges], [t1].[LastMemberChangeTime], [t1].[IncrementalEvaluationStartTime], v1.[RefreshType]
    FROM [dbo].[Collections_G] AS [t0]
    INNER JOIN [dbo].[Collections_L] AS [t1] ON [t0].[CollectionID] = [t1].[CollectionID]
    inner join v_Collection v1 on [t0].[siteid] = v1.CollectionID
    ) AS [t2]
WHERE ([t2].[IncrementalEvaluationStartTime] IS NOT NULL) AND ([t2].[LastIncrementalRefreshTime] IS NOT NULL) and (refreshtype='4' or refreshtype='6')
ORDER BY [t2].[value] DESC