Dela via


Metodtips för samlingar i Configuration Manager

Gäller för: Konfigurationshanteraren (current branch)

Vissa riktlinjer för insamlingshantering kan vara motstridiga. Av prestandaskäl bör du till exempel begränsa antalet samlingar som uppdateras ofta. Men det är praktiskt att uppdatera samlingar ofta, eftersom de flesta Configuration Manager funktioner är beroende av samlingar. Överväg noggrant både prestandapåverkan och affärskrav när du utformar och konfigurerar samlingar och samlingsutvärdering.

Använd följande metodtips för samlingar i Configuration Manager.

Konfigurera underhållsperiod för uppdateringar

Du kan konfigurera underhållsperioder för enhetssamlingar för att begränsa de tider som Configuration Manager kan installera programvara på dessa enheter. Om du konfigurerar underhållsperioden så att den är för liten kanske klienten inte installerar kritiska programuppdateringar. Det här tillståndet gör klienten sårbar för de problem som uppdateringen åtgärdar.

Viktiga saker att tänka på när du planerar underhållsperioder:

  • Den maximala körningstiden för programuppdateringen är 60 minuter.
  • När Configuration Manager beräknar om en uppdatering kan installeras lägger den till fem minuter till den maximala körningstiden för att ta hänsyn till en omstart.
  • Den återstående varaktigheten för en underhållsperiod måste vara längre än den maximala körningstiden för programuppdateringen plus fem minuter.

Undvik frekvent samlingsutvärdering

En fullständig samlingsutvärdering utvärderar inte bara målsamlingen, utan även alla samlingar som samlingen begränsar om en uppdatering sker. Dessutom utvärderas en samling utan schema fortfarande om den begränsar samlingsuppdateringarna. Det är därför möjligt att vissa samlingar kan utvärderas oftare än du förväntar dig.

I en upptagen Configuration Manager miljö kan du förbättra prestanda för samlingsutvärdering genom att skala ned scheman för att undvika upprepade samlingsutvärderingar. I ett djupt träd kan du minska insamlingsutvärderingsfrekvensen när samlingarna sjunker djupare i trädet, eftersom samlingsutvärderingar på högre nivå också utlöser utvärderingar av samlingen på lägre nivå.

Förstå insamlingsutvärderingsdiagrammet

Tänk på hur samlingsutvärderingsdiagrammet fungerar så att du kan utforma en lämplig samlingsstruktur. Förlita dig inte på fullständig samlingsutvärdering för att alltid uppdatera alla samlingar. Om en inkrementellt uppdaterad samling uppdateras enligt ett schema kanske det inte går att uppdatera refererande samlingar som inte är aktiverade för inkrementella uppdateringar. Eftersom uppdateringar sannolikt inträffade under inkrementella utvärderingar kanske en fullständig utvärdering inte uppdaterar samlingen, vilket avslutar insamlingsutvärderingsdiagrammet för den cykeln. I så fall sker inga utvärderingar av referenssamlingen. Mer information finns i Insamlingsutvärderingsdiagram.

Begränsa inkrementella uppdateringar

Om du aktiverar inkrementella uppdateringar för många samlingar kan utvärderingsfördröjningar uppstå. Det är bäst att begränsa antalet inkrementellt uppdaterade samlingar till 200. Det exakta antalet beror på:

  • Det totala antalet samlingar
  • Frekvensen för nya resurser som läggs till och ändras i hierarkin
  • Antalet klienter i en hierarki
  • Komplexiteten i reglerna för samlingsmedlemskap i en hierarki

Om den inkrementella utvärderingscykeln tar längre tid än den konfigurerade uppdateringsfrekvensen bearbetar Configuration Manager ständigt samlingsutvärderingar, vilket kan påverka systemets prestanda. Minska antalet inkrementellt uppdaterade samlingar eller öka tiden mellan inkrementella utvärderingscykler.

Med tanke på de potentiella effekterna av inkrementella samlingar är det viktigt att ha en princip eller procedur för att skapa samlingarna och tilldela uppdateringsscheman. Exempel på principöverväganden kan vara:

  • Använd endast inkrementella uppdateringar för samlingar som används för säkerhetsomfång, klientinställningar och underhållsperioder. Dessa samlingsuppdateringar påverkar klientbeteendet och åtkomsten till resurser.
  • För program utan licensieringsgodkännande annonserar du program till befintliga samlingar och använder globala villkor för att begränsa tillgängligheten.
  • Beskriva lämpliga perioder för andra samlingar som har fullständiga samlingsuppdateringar schemalagda.

Undvik utvärdering av stora träd från CAS

I en Configuration Manager miljö utvärderar inte den centrala administrationswebbplatsen (CAS) samlingsmedlemskap. Primära platser är de enda platser som utvärderar samlingar. Sekundära platser fungerar som proxyservrar som endast använder data som de replikerar från sin primära plats.

För att begära en samlingsuppdatering skickar CAS en begäran till varje primär plats. De primära platserna utvärderar samlingen och skickar resultaten tillbaka till CAS. Resultatet av samlingsutvärderingen visas först när alla instruktioner för samlingsutvärdering har replikerats till alla platser, alla webbplatser utvärderar alla samlingar och alla data returneras till CAS och kombineras.

Följande diagram visar flödet när CAS begär en manuell samlingsuppdatering:

Manuell samlingsuppdatering från en CAS

En samlingsuppdatering från en CAS med flera primära platser kan vara tidskrävande. Om en samling inte utvärderas i rätt tid är det frestande att upprepa begäran.

När en samlingsutvärderingstråd börjar och läser in utvärderingsdiagrammet fortsätter utvärderingen tills samlingsutvärderingsdiagrammet är tomt. Tråden avslutas sedan och blir tillgänglig för nästa utvärdering. Men om en annan samlingsutvärderingscykel köar medan tråden utvärderar samlingar, startas tråden omedelbart om för att försöka utvärdera cykeln "missade".

Varje utvärderingsmetod körs i en egen tråd. Det är möjligt att Configuration Manager i tråden kan försöka rita samma samling mer än en gång. Configuration Manager släpper sedan den andra och senare begäranden.

Undvik manuella samlingsutvärderingar av stora träd, särskilt när du arbetar från CAS med flera platser för att förhindra dessa scenarier.

Överväg samlingsdjup och korsreferenser

För att hitta en balans mellan affärskrav och prestanda är det viktigt att förstå samlingsstrukturen som du skapar och dess beroenden för andra samlingar. Om du skapar en samling med regler som refererar till en eller flera samlingar som även refererar till andra samlingar utvärderas alla dessa samlingar för att skapa medlemskap i samlingen.

Reglerna för att inkludera och exkludera samling i Configuration Manager göra det enklare att referera till samlingar än att skriva en anpassad WQL-fråga. Men om användning av inkludera och exkludera samlingar resulterar i en avgift med höga prestanda kan du använda WQL-frågemetoden i stället. Använd följande exempelfrågor och ersätt exempelsamlings-ID XYZ0003F :t med ID:t för den samling som du vill inkludera eller exkludera.

Inkluderar:

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

Utesluta:

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

Använda CEViewer för att övervaka insamlingsutvärdering

Du kan använda Visningsprogram för samlingsutvärdering (CEViewer) för att övervaka hur många samlingar som utvärderas och hur lång tid varje samling tar att uppdatera. CEViewer finns i mappen CD.Latest på platsservern.

Tips

Från och med Configuration Manager version 2010 är den här funktionen inbyggd i konsolen. Mer information finns i Så här visar du samlingsutvärdering.

Om du vill göra en liknande kontroll med SQL manuellt kan du använda följande fråga:

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