Partage via


Paramètres de configuration des applications (mise en cache d'AppFabric 1.1)

Les fonctionnalités de mise en cache de Microsoft AppFabric 1.1 pour Windows Server permettent de configurer les paramètres de client de cache de votre application par programme, à l'aide d'un fichier de configuration d'application ou en utilisant ces deux approches à différents emplacements de votre application. Pour plus d'informations sur chacune de ces méthodes de configuration et la manière de les sélectionner, consultez la rubrique Configuration d'un client de cache.

Quelle que soit l'approche que vous choisissez, vous configurez les mêmes paramètres du client de cache. Dans cette rubrique, les tableaux présentent les paramètres accessibles au client de cache et la manière dont ceux-ci sont configurés dans le fichier de configuration d'application XML et par programme (à l'aide du code).

Pour plus d'informations sur l'utilisation de ces paramètres dans votre application, consultez les exemples traités dans la rubrique Configuration du client basée sur un fichier XML.

Paramètre du client de cache

Des paramètres de configuration sont définis pour chaque client de cache. Si vous utilisez un fichier de configuration, ceux-ci sont inclus dans une ou plusieurs sections dataCachClient, éventuellement intégrées dans une section dataCacheClients. Par exemple :

  <dataCacheClients>
    <dataCacheClient name="default">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
        <host name="CacheServer2" cachePort="22233" />
      </hosts>
    </dataCacheClient>
    <dataCacheClient name="compressedCache" isCommpressionEnabled="true">
      <hosts>
        <host name="CacheServer1" cachePort="22233" />
        <host name="CacheServer2" cachePort="22233" />
      </hosts>
    </dataCacheClient>
  </dataCacheClients>

Dans l'exemple précédent, deux clients de cache sont définis dans le fichier de configuration : default et compressedCache. Pour accéder au cache par défaut, vous n'avez pas besoin de spécifier le nom du client de cache. Par exemple :

DataCacheFactory factory = new DataCacheFactory();

Pour spécifier une autre section dataCacheClient nommée, vous devez spécifier le nom de section du client de cache à l'aide du constructeur DataCacheFactoryConfiguration.

DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)

Si vous n'utilisez pas de fichier de configuration, vous pouvez définir tous les paramètres par programme avec les propriétés de la classe DataCacheFactoryConfiguration.

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Compression (booléen)

Attribut isCompressionEnabled de l'élément dataCacheClient. La valeur par défaut est false.

Propriété IsCompressionEnabled de la classe DataCacheFactoryConfiguration.

Délai d'expiration du client (en millisecondes)

Attribut requestTimeout de l'élément dataCacheClient. Il est déconseillé de spécifier une valeur inférieure à 10000 (10 secondes). La valeur par défaut est 15000.

Propriété RequestTimeout de la classe DataCacheFactoryConfiguration.

Délai d'ouverture du canal (en millisecondes)

Attribut channelOpenTimeout de l'élément dataCacheClient. Cette valeur peut être définie sur 0 pour traiter immédiatement les problèmes réseau. Pour plus d’informations, consultez la rubrique Configuration des délais d'expiration du client de cache. La valeur par défaut est 3000.

Propriété ChannelOpenTimeout de la classe DataCacheFactoryConfiguration.

Nombre maximal de connexions au serveur

Attribut maxConnectionsToServer de l'élément dataCacheClient. La valeur par défaut est 1.

Propriété MaxConnectionsToServer de la classe DataCacheFactoryConfiguration.

Paramètres des hôtes de cache

Pour chaque client de cache, vous devez spécifier un ou plusieurs hôtes de cache au sein du cluster. Spécifiez des hôtes principaux car les hôtes de cache désignés comme hôtes principaux participent à la gestion du cluster. À l'origine, les hôtes principaux sont les premiers hôtes de cache installés dans le cluster. Pour plus d'informations sur les hôtes principaux, consultez la rubrique Diagramme de l'architecture physique de mise en cache d'AppFabric (mise en cache d'AppFabric 1.1).

Dans le fichier de configuration de l'application, les paramètres de chaque hôte de cache sont spécifiés dans un élément d'hôte, enfant de l'élément hosts. Dans la configuration par programme, chaque hôte est défini dans le constructeur de la classe DataCacheServerEndpoint. Une fois les objets DataCacheServerEndPoint instanciés, ils sont transmis à la propriété Servers de la classe DataCacheServerEndpoint.

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Nom du serveur de cache

Attribut name de l'élément host.

Propriété HostName de la classe DataCacheServerEndpoint.

Numéro du port de cache

Attribut cachePort de l'élément host.

Propriété CachePort de la classe DataCacheServerEndpoint.

Paramètres du cache local

Les paramètres du cache local indiquent si celui-ci doit être activé, le mode d'invalidation des objets mis en cache localement, le délai d'expiration des objets et l'utilisation des notifications de cache pour invalider les objets mis en cache localement.

Dans le fichier de configuration de l'application, les paramètres de cache local sont définis dans l'élément localCache, lequel est un enfant de l'élément dataCacheClient. Le cache local est configuré par programme avec une instance de la classe DataCacheFactoryConfiguration transmise au constructeur de la classe DataCacheFactory. Pour plus d'informations sur le cache local, consultez la rubrique Clients de cache et cache local (mise en cache d'AppFabric 1.1).

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Cache local activé

Attribut isEnabled de l'élément localCache. La valeur peut être true ou false. L'élément localCache peut également être manquant pour indiquer qu'il est désactivé.

Propriété IsEnabled de la classe DataCacheLocalCacheProperties. Elle est ensuite affectée à la propriété LocalCacheProperties de la classe DataCacheFactoryConfiguration.

Méthode d'invalidation du cache local

Attribut sync de l'élément localCache. Utilisez la valeur TimeoutBased pour indiquer qu'une valeur de délai d'expiration doit être utilisée. Utilisez la valeur NotificationBased pour indiquer que les notifications de cache doivent également être utilisées.

Propriété InvalidationPolicy de la classe DataCacheLocalCacheProperties. Les valeurs possibles sont NotificationBased et TimeoutBased.

Délai d'expiration du cache local (en secondes)

Attribut ttlValue de l'élément localCache.

Propriété DefaultTimeout de la classe DataCacheLocalCacheProperties.

Fréquence d'interrogation spécifique des notifications de cache (en secondes)

(Facultatif) Spécifiée par l'attribut pollInterval de l'élément clientNotification. L'élément clientNotification est un enfant de l'élément dataCacheClient et non de l'élément localCache. Si aucune fréquence n'est spécifiée, la valeur de 300 secondes est utilisée.

Propriété PollInterval de la classe DataCacheNotificationProperties. Elle est ensuite affectée à la propriété NotificationProperties de la classe DataCacheFactoryConfiguration.

Nombre maximal d'objets mis en cache localement

(Facultatif) Spécifiée par l'attribut objectCount de l'élément localCache. Contrôle le démarrage de l'éviction dans le cache local ; elle tente ensuite de supprimer 20 % des objets les moins récemment utilisés mis en cache localement. Si aucune valeur n'est spécifiée, la valeur par défaut de 10 000 objets est utilisée.

Propriété ObjectCount de la classe DataCacheLocalCacheProperties.

Notes

Pour optimiser les performances, activez uniquement le cache local pour les objets qui changent rarement. L'utilisation du cache local pour les objets qui changent fréquemment augmente le risque que le client travaille avec des objets périmés. Bien que vous puissiez diminuer la valeur ttlValue et utiliser un processus permettant d'actualiser le cache local plus fréquemment, les inconvénients liés à la charge accrue sur le cluster risquent de l'emporter sur les avantages liés à l'utilisation d'un cache local. Lorsque les données changent fréquemment, il est recommandé de désactiver le cache local et d'extraire directement les données à partir du cluster.

Paramètres de notification

Dans le fichier de configuration de l'application, les propriétés de notification sont définies dans l'élément clientNotification, lequel est un enfant de l'élément dataCacheClient. Les propriétés de notification sont configurées par programme avec une instance de la classe DataCacheFactoryConfiguration transmise au constructeur de la classe DataCacheFactory. Pour plus d'informations, consultez la rubrique Méthodes de configuration.

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Fréquence d'interrogation spécifique des notifications de cache (en secondes)

Spécifiée par l'attribut pollInterval de l'élément clientNotification. Si aucune fréquence n'est spécifiée, la valeur de 300 secondes est utilisée.

Propriété PollInterval de la classe DataCacheNotificationProperties. Elle est ensuite affectée à la propriété NotificationProperties de la classe DataCacheFactoryConfiguration.

Longueur maximale de la file d'attente

Attribut maxQueueLength de l'élément clientNotification. Si aucune valeur n'est spécifiée, la valeur par défaut de 10000 est utilisée.

Propriété MaxQueueLength de la classe DataCacheNotificationProperties.

Paramètres de sécurité

Dans le fichier de configuration de l'application, les propriétés de sécurité sont définies dans l'élément securityProperties, lequel est un enfant de l'élément dataCacheClient. Les propriétés de sécurité sont configurées par programme avec une instance de la classe DataCacheFactoryConfiguration transmise au constructeur de la classe DataCacheFactory. Pour plus d'informations, consultez la rubrique Méthodes de configuration.

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Mode

Attribut mode de l'élément securityProperties. Les valeurs possibles sont Transport et None. La valeur par défaut est Transport.

Propriété SecurityMode de la classe DataCacheSecurity. Les valeurs possibles sont None et Transport. L'objet DataCacheSecurity est ensuite affecté à la propriété SecurityProperties de la classe DataCacheFactoryConfiguration.

Niveau de protection

Attribut protectionLevel de l'élément securityProperties. Les valeurs possibles sont None, Sign et EncryptAndSign. La valeur par défaut est EncryptAndSign.

Propriété ProtectionLevel de la classe DataCacheSecurity. Les valeurs possibles sont None, Sign et EncryptAndSign.

Paramètres de transport

Dans le fichier de configuration de l'application, les propriétés de transport sont définies dans l'élément transportProperties, lequel est un enfant de l'élément dataCacheClient. Les propriétés de transport sont configurées par programme avec une instance de la classe DataCacheFactoryConfiguration transmise au constructeur de la classe DataCacheFactory. Pour plus d'informations, consultez la rubrique Méthodes de configuration.

Paramètre Emplacement de la configuration XML Emplacement de la configuration du code

Taille de la mémoire tampon de la connexion (en octets)

Attribut connectionBufferSize de l'élément transportProperties.

Propriété ConnectionBufferSize de la classe DataCacheTransportProperties. Elle est ensuite affectée à la propriété TransportProperties de la classe DataCacheFactoryConfiguration.

Taille maximale du pool de mémoires tampons (en octets)

Attribut maxBufferPoolSize de l'élément transportProperties.

Propriété MaxBufferPoolSize de la classe DataCacheTransportProperties.

Taille maximale de la mémoire tampon (en octets)

Attribut maxBufferSize de l'élément transportProperties.

Propriété MaxBufferSize de la classe DataCacheTransportProperties.

Délai de sortie maximal (en millisecondes)

Attribut maxOutputDelay de l'élément transportProperties.

Propriété MaxOutputDelay de la classe DataCacheTransportProperties.

Délai d'initialisation du canal (en millisecondes)

Attribut channelInitializationTimeout de l'élément transportProperties.

Propriété ChannelInitializationTimeout de la classe DataCacheTransportProperties.

Délai de réception (en millisecondes)

Attribut receiveTimeout de l'élément transportProperties.

Propriété ReceiveTimeout de la classe DataCacheTransportProperties.

Exemple de fichier de configuration d'application

Pour que les assemblys AppFabric lisent les éléments XML du fichier de configuration d'application, vous devez inclure l'élément configSections en première position dans le fichier, sous la balise configuration. Dans l'élément configSections, vous devez également inclure un élément section associé à l'élément dataCacheClient.

L'exemple suivant montre un fichier de configuration d'application utilisant plusieurs options de configuration du client de cache décrites dans cette rubrique. Il convient de noter que seul l'élément hosts est requis dans le dataCacheClient pour la connexion au cluster. Les autres éléments enfants ont tous des valeurs par défaut.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <!--configSections must be the FIRST element -->
<configSections>
   <!-- required to read the <dataCacheClient> element -->
   <section name="dataCacheClient"
         type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
            Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          allowLocation="true"
          allowDefinition="Everywhere"/>
</configSections>

   <dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
      <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
      <clientNotification pollInterval="300" maxQueueLength="10000"/>
      <hosts>
         <host name="CacheServer1" cachePort="22233"/>
         <host name="CacheServer2" cachePort="22233"/>
      </hosts>
      <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
      <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" 
                           maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" 
                           receiveTimeout="600000"/>
   </dataCacheClient>
</configuration>

Voir aussi

Concepts

Configuration d'un client de cache
Paramètres de configuration du cluster
Dépannage de la mise en cache d'AppFabric
Utilisation de Windows PowerShell pour la gestion des fonctionnalités de mise en cache d'AppFabric 1.1
Concepts relatifs à la mise en cache d'AppFabric (mise en cache d'AppFabric 1.1)
Développement d'un client de cache

  2012-03-05