OS X Server (Mountain Lion): Erweiterte Konfiguration des Caching-Dienstes

Wenn Sie OS X Server (Mountain Lion) ausführen, erhalten Sie im folgenden Abschnitt mehr Informationen über die erweiterten Einstellungen, die Sie mit dem Caching-Dienst verwenden können.

Wenn Sie OS X Server (Mavericks) ausführen, lesen Sie den Abschnitt "Configure advanced cache settings" (Erweiterte Cache-Einstellungen konfigurieren) im OS X Server Advanced Administration Guide (OS X Server – Weiterführendes Adminstrationshandbuch), um mehr über die erweiterten Einstellungen des Caching-Dienstes zu erfahren.

Führen Sie für weitere Informationen über den Caching-Dienst die Server-App aus, und wählen Sie im Menü "Hilfe" die Option "Server-Hilfe" aus.


Sie können erweiterte Konfigurationseinstellungen für den Caching-Dienst mit der Befehlszeile oder durch Bearbeiten der Datei "/Library/Server/Caching/Config/Config.plist" festlegen. Die Schlüssel und Beschreibungen der Werte sind unten aufgeführt.

Hinweis: Einstellungen in der Datei "Config.plist", die im Folgenden nicht aufgeführt sind, sollten nicht geändert werden.

Schlüssel Standardwert Beschreibung
CacheLimit 0 (unbegrenzt) Für das Asset-Caching wird der größtmögliche freie Speicherplatz in Byte verwendet. Dies kann mithilfe der Server-App eingestellt werden.
DataPath /Library/Server/Caching/Data Das ist der Pfad zu dem Verzeichnis, das für Cache-Assets verwendet wird. Dies kann mithilfe der Server-App eingestellt werden.
Interface Listen on all interfaces Der BSD-Name einer Netzwerkschnittstelle, die vom Caching-Dienst verwendet wird.
ListenRanges none Ein Lexikon-Array zur Festlegung der Caching-Server, die die Clients in einem Netzwerk bevorzugen. Weitere Details werden unten erläutert.
ListenRangesOnly false Wenn ListenRangesOnly auf "true" gesetzt ist, werden Assets nur für Clients in den Bereichen bereitstellt, die durch den ListenRanges-Schlüssel definiert sind. Um den Schlüssel "ListenRangesOnly" verwenden zu können, müssen Sie den Schlüssel "ListenRanges" definieren.
LogLevel info Detailstufe bei der Protokollerstellung. Sie können die Einstellung auf folgende Werte festlegen:
  • off
  • error
  • warn
  • info
  • verbose
Hinweis: Sie sollten die Protokollierungsstufe bei Produktionssystemen auf der Standardeinstellung belassen, da ein höherer Wert zu Leistungseinbußen führen kann. Wenn Sie die Protokollierungsstufe so erhöhen, dass sie über dem Standardwert liegt, wird die zusätzliche Protokollierung in /Library/Server/Caching/Logs/Debug.log gesichert und nicht in der Server-App im Abschnitt "Logs" angezeigt.
MaxConcurrentClients 0 (unbegrenzte Clients erlauben) Die maximal erlaubte Anzahl an gleichzeitigen Client-Anfragen.
Port 0 (beliebigen Port verwenden) Die TCP-Portnummer, auf der der Caching-Dienst Download-Anfragen empfängt.
ReservedVolumeSpace 25000000000 Der minimale freie Speicherplatz in Byte, der zur Speicherung von Cache-Assets auf dem Volume freigehalten werden muss.

Der Schlüssel "ListenRanges"

Die Schlüssel "ListenRanges" kann zur Festlegung bevorzugter Caching-Server in erweiterten Netzwerktopologien verwendet werden, in denen mehrere Caching-Server hinter derselben öffentlichen IP-Adresse verwendet werden. Beispiel:

  • caching1.example.com verwendet den Schlüssel "ListenRanges" zur Definition der Bereiche von 10.0.0.1 bis 10.0.0.254 und 10.1.0.1 bis 10.1.0.254.
  • caching2.example.com verwendet den Schlüssel "ListenRanges" zur Definition der Bereiche von 10.1.0.1 bis 10.1.0.39 (beachten Sie die Überschneidung mit dem zweiten Bereich von caching1).
  • Wenn ein Client mit der IP-Adresse 10.0.0.10 ein Asset anfragt, wird er an caching1 geleitet.
  • Wenn ein Client mit der IP-Adresse 10.1.0.10 ein Asset anfragt, wird er entweder an caching1 oder caching2 geleitet. Der Server wird zufällig ausgewählt.
  • Wenn ein Client mit der IP-Adresse 10.2.0.10 ein Asset anfragt, wird er entweder an caching1 oder caching2 geleitet. Der Server wird zufällig ausgewählt.
  • Wenn caching1 ausgeschaltet ist oder an Leistung verliert, aber caching2 weiterhin verfügbar ist, werden alle Clients an caching2 geleitet.

Werte für einen Schlüssel festlegen

Um einen Schlüssel mit einem einfachen Wert zu definieren, können Sie den Befehl serveradmin(8) verwenden. Beispiel: Um den Schlüssel "Interface" auf en1 festzulegen, würden Sie als Administrator folgenden Befehl ausführen:

sudo serveradmin settings caching:Interface = en1

Der Schlüssel "ListenRanges" hat einen komplexen Wert, bei dem es einfacher ist, /Library/Server/Caching/Config/Config.plist zu bearbeiten, um den Wert zu definieren. Wenn Sie diese Datei manuell bearbeiten, müssen Sie zunächst den Caching-Dienst stoppen und die Server-App beenden. Sobald Sie die Bearbeitung der Datei beendet haben, legen Sie die Benutzer- und Gruppen-Eigentümer auf "_assetcache" fest, bevor Sie den Caching-Dienst mit folgendem Befehl starten:

sudo chown _assetcache:_assetcache /Library/Server/Caching/Config/Config.plist

Im Folgenden finden Sie ein Beispiel für eine Config.plist-Datei.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
   <key>CacheLimit</key>
   <!-- Set a CacheLimit of 200 GB -->
   <integer>200000000000</integer>
   <key>DataPath</key>
   <string>/Volumes/BigDisk/Caching/Data</string>
   <key>Interface</key>
   <string>en1</string>
   <key>ListenRanges</key>
   <array>
     <dict>
       <key>type</key>
       <string>IPv4</string>
       <key>first</key>
       <string>10.0.0.1</string>
       <key>last</key>
       <string>10.0.0.254</string>
     </dict>
     <dict>
       <key>type</key>
       <string>IPv4</string>
       <key>first</key>
       <string>10.1.0.1</string>
       <key>last</key>
       <string>10.1.0.254</string>
     </dict>
   </array>
   <key>ListenRangesOnly</key>
   <true/>
   <key>LogLevel</key>
   <string>info</string>
   <key>MaxConcurrentClients</key>
   <integer>100</integer>
   <key>Port</key>
   <integer>12345</integer>
   <key>ReservedVolumeSpace</key>
   <!-- Set the ReservedVolumeSpace to 1 GB -->
   <integer>1000000000</integer>
 </dict>
</plist>
Veröffentlichungsdatum: