OS X Server (Mountain Lion) : configuration avancée du service de mise en cache

Cet article traite des réglages avancés applicables au service de mise en cache sous OS X Server (Mountain Lion).

Si vous exécutez OS X Server (Mavericks), consultez la section Configuration des réglages avancés pour la mise en cache dans le manuel d’administration avancé d’OS X Server.

Pour obtenir des informations supplémentaires sur le service de mise en cache, exécutez l’application Serveur, puis choisissez l’option Aide Serveur du menu Aide.


Les réglages de configuration avancée peuvent être modifiés à l’aide de la ligne de commande ou dans le fichier /Library/Server/Caching/Config/Config.plist. Les clés et valeurs correspondantes sont répertoriées ci-dessous.

Remarque : les réglages du fichier Config.plist qui ne sont pas répertoriés ci-dessous ne doivent pas être modifiés.

Clé Valeur par défaut Description
CacheLimit 0 (unlimited) Nombre maximal d’octets utilisés pour la mise en cache des ressources sur le disque. Cette option est configurable à l’aide de l’application Serveur.
DataPath /Library/Server/Caching/Data Chemin permettant d’accéder au répertoire de stockage des ressources mises en cache. Cette option est configurable à l’aide de l’application Serveur.
Interface Listen on all interfaces Nom BSD de l’interface réseau devant être utilisée par le service de mise en cache.
ListenRanges None Ensemble de dictionnaires permettant de définir quels serveurs de mise en cache les clients d’un réseau donné favorisent. Des informations supplémentaires sont indiquées ci-dessous.
ListenRangesOnly False Si la clé ListenRangesOnly est définie sur « true », le serveur fournit uniquement des ressources aux clients se trouvant dans les limites spécifiées par la clé ListenRanges. Cette dernière doit être définie avant d’utiliser la clé ListenRangesOnly.
LogLevel info Niveau de verbosité utilisé lors de la journalisation. Celui-ci peut être réglé sur les valeurs suivantes :
  • off
  • error
  • warn
  • info
  • verbose
Remarque : la modification du niveau de journalisation étant susceptible d’entraîner des problèmes de performances, il est conseillé de conserver le réglage par défaut. Si vous choisissez toutefois de le modifier, les données de journalisation supplémentaires sont stockées dans le fichier /Library/Server/Caching/Logs/Debug.log. Elles ne s’affichent pas dans la section Fichiers journaux de l’application Serveur.
MaxConcurrentClients 0 (allow unlimited clients) Nombre maximal de demandes clients simultanées.
Port 0 (use any port) Numéro de port TCP via lequel le service de mise en cache accepte les demandes de téléchargement.
ReservedVolumeSpace 25000000000 Nombre minimal d’octets disponibles devant être conservés pour le volume stockant les ressources mises en cache.

Clé ListenRanges

La clé ListenRanges permet de spécifier des serveurs de mise en cache prioritaires, au sein de topologies réseau avancées dans lesquelles plusieurs serveurs de mise en cache sont utilisés à l’aide de la même adresse IP publique. Par exemple :

  • Le serveur caching1.example.com utilise la clé ListenRanges pour définir des plages comprises entre 10.0.0.1 et 10.0.0.254, et 10.1.0.1 et 10.1.0.254.
  • Le serveur caching2.example.com utilise la clé ListenRanges pour définir une plage comprise entre 10.1.0.1 et 10.1.0.39 (chevauchant la seconde plage du serveur caching1).
  • Si un client doté de l’adresse IP 10.0.0.10 envoie une demande de ressources, ce dernier est orienté vers le serveur caching1.
  • Si un client doté de l’adresse IP 10.1.0.10 envoie une demande de ressources, ce dernier est orienté vers le serveur caching1 ou caching2. Le serveur est sélectionné aléatoirement.
  • Si un client doté de l’adresse IP 10.2.0.10 envoie une demande de ressources, ce dernier est orienté vers le serveur caching1 ou caching2. Le serveur est sélectionné aléatoirement.
  • Si le serveur caching1 est arrêté ou privé d’alimentation, alors que le serveur caching2 est disponible, tous les clients sont redirigés vers ce dernier.

Définition des valeurs d’une clé

Pour attribuer une valeur simple à une clé, utilisez la commande serveradmin. Par exemple, pour attribuer la valeur en1 à la clé Interface, exécutez cette commande en tant qu’administrateur :

sudo serveradmin settings caching:Interface = en1

La valeur associée à la clé ListenRanges étant complexe, il est préférable d’effectuer des modifications à l’aide du fichier /Library/Server/Caching/Config/Config.plist. Arrêtez le service de mise en cache et fermez l’application Serveur avant de procéder à toute modification. Une fois les modifications effectuées, attribuez la valeur _assetcache à l’utilisateur et au groupe, puis démarrez le service de mise en cache à l’aide de cette commande :

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

Un fichier Config.plist peut, par exemple, se présenter ainsi :

<?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>
Date de publication: