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

Aplica-se a: Configuration Manager (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, já que a maioria das funcionalidades do Configuration Manager 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 seguintes práticas recomendadas para coleções no Configuration Manager.

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

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

Considerações importantes para ter em mente ao planejar suas janelas de manutenção:

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

Evitar avaliação de coleção frequente

Uma avaliação de coleção completa avalia não apenas a coleção direcionada, 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 suas atualizações de coleção limitando. Portanto, é possível que algumas coleções possam ser avaliadas com mais frequência do que você espera.

Em um ambiente ocupado do Configuration Manager, você pode melhorar o desempenho da avaliação da coleção escalando os agendamentos de retorno para evitar avaliações repetidas da 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 profundamente na árvore, porque avaliações de coleção de nível superior também dispararão avaliações de coleção de nível inferior.

Compreender o gráfico de avaliação da coleção

Esteja ciente de como o gráfico de avaliação da 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 atualizar atualizações em um cronograma, as coleções que não estão habilitadas para atualizações incrementais podem não ser atualizadas. Como as atualizações provavelmente ocorreram durante avaliações incrementais, uma avaliação completa pode não atualizar a coleção, encerrando o gráfico de avaliação da 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

A habilitação de 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, o Configuration Manager está constantemente processamento de 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 incrementais.

Considerando os possíveis impactos de 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 de política podem ser:

  • Use apenas atualizações incrementais para coleções usadas para o escoamento de segurança, configurações do 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, anuiem aplicativos para coleções existentes e usem condições globais para restringir a disponibilidade.
  • Delinear períodos apropriados para outras coleções que tenham atualizações de coleção completas agendadas.

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

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

Para solicitar uma atualização de coleção, o CAS envia uma solicitação para cada site principal. Os sites principais 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 são replicadas para todos os sites, todos os sites avaliam todas as coleções e todos os dados retornam para o CAS e são combinados.

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

Atualização de conjunto manual de um CAS

Uma atualização de coleção de um CAS com vários sites principais 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 gráfico de avaliação, a avaliação continua até o gráfico de avaliação da coleção ficar vazio. Em seguida, o thread termina e fica disponível para a próxima avaliação. No entanto, se outro ciclo de avaliação de coleção estiver em filas enquanto o thread estiver avaliando coleções, o thread será reiniciado imediatamente 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, o Configuration Manager possa tentar fazer o gráfico da mesma coleção mais de uma vez. O Configuration Manager, em seguida, descarta 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 sites.

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

Para equilibrar os requisitos comerciais e o desempenho, é importante entender a estrutura de coleção que você cria e suas dependências de outras coleções. Se você criar uma coleção com regras que fazem referência a 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.

As regras de inclusão e exclusão de coleção no Configuration Manager facilitam as coleções de referência do que a escrita de uma consulta WQL personalizada. No entanto, se o uso de coleções incluir e excluir resulta em um pedágio de alto desempenho, você pode usar o método de consulta WQL em vez disso. Use as consultas de exemplo a seguir e substitua a ID da coleção de exemplo pela ID da coleção que você XYZ0003F 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 Visualizador de Avaliação de Coleção (CEViewer) para monitorar quantas coleções estão sendo avaliadas e quanto tempo cada coleção está levando para atualizar. O CEViewer está na pasta CD.Latest no servidor do site.

Dica

A partir do Configuration Manager versão 2010, essa funcionalidade é criada no console. Para obter mais informações, consulte How to view collection evaluation.

Para fazer uma verificação semelhante manualmente com 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