Skip to main content

Computer Cache

Beschreibung

Es gibt eine neue Version, in der die Liste aller Computer (entsprechend Konfiguration Default Query in UserPermissions.xml) dauerhaft im Speicher gehalten wird und alle konfigurierbaren n Sekunden (web.config: ComputerDataTTL) aktualisiert wird. 

Bei Abruf der Computerliste werden dadurch nur noch die Berechtigungen des Benutzers abgefragt und eine gefilterte Version der Gesamtliste zurückgegeben. Dementsprechend gibt es keine SQL-Abfrage mehr beim Start des SCCM Manager Clients (und die damit verbundene Wartezeit), sondern es wird sofort eine maximal n Sekunden alte Liste zurückgegeben. 

Durch das letzte Update des Client Creator Plugins können Benutzer trotzdem mit neu angelegten Clients arbeiten, selbst wenn die Computerliste noch nicht aktualisiert wurde. 

Die neue Funktionsweise ist konfigurierbar und kann über die web.config aktiviert werden EnableComputerDataCache. 

Außerdem ist ein neues Setting (web.config: EnableSqlQueryLogging) zum Ein/Ausschalten des SQL-Query-Loggings hinzugekommen. Im Normalbetrieb kann so das Zuspammen des Logfiles verringert werden 

 

ComputerCache Schema.png

 

Konfiguration 

Die Konfiguration der UserPermissions.xml ist im Caching-Modus etwas anders: 

  • Die Grundlage bildet immer das Default Query 

  • Das Collection Query muss nur die Spalten [CollectionID] und [ResourceID] zurückgeben 

  • Unter Computer Search Queries werden keine SQL-Queries mehr angegeben, sondern nur noch Filterbedingungen 


Beispiel: 

Das Default Query bleibt unverändert. Das Collection Query gibt die Gesamtmenge aller möglichen Collection – ResourceID Zuordnungen zurück . {COLLECTION_VIEW} wird programmatisch ersetzt durch die gefundenen CollectionIDs z.B. DE1002B4, DE1002B8 (siehe <ComputerSearchCollections>) 

<Setting Name="CollectionSearchQuery"> 
      SELECT 
            CollectionID, ResourceID 
      FROM 
             v_FullCollectionMembership 
      WHERE 
            ResourceType = 5 
      AND 
            CollectionID IN ({COLLECTION_VIEW}) 
</Setting>   

<ComputerSearchCollections> 
      <Collection ID="DE1002B4" RequiredGroupMembership="DEVMSC\G-A-TEST01-Admins" /> 
      <Collection ID="DE1002B8" RequiredGroupMembership="DEVSMC\G-A-TEST02-Admins" /> 
</ComputerSearchCollections> 
 
Unter ComputerSearchQueries werden keine ganzen SQL-Queries mehr angegeben, sondern nur noch Bedingungen zur Filterung der Computer vom Default Query:  

<ComputerSearchQueries> 
      <Query RequiredGroupMembership="DEVSMC\G-A-%-Admins">Organizational_unit LIKE '%/{0}/%'</Query> 
      <Query RequiredGroupMembership="DEVSMC\G-B-%-Koordinatoren">Organizational_unit LIKE '%/{0}/%'</Query> 
</ComputerSearchQueries> 

Prinzipiell reicht es zu wissen, dass unter <ComputerSearchQueries> nur noch Filterbedingungen angegeben werden müssen. Das Collection Query kann wie o.g. genutzt werden 

Neue web.config-Einträge 
  • EnableComputerDataCache 

  • EnableSqlQueryLogging 

  • ComputerDataTTL 

 

IIS Einstellung 2.png

 

IIS Einstellung.png