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 |
Propriété IsCompressionEnabled de la classe DataCacheFactoryConfiguration. |
Délai d'expiration du client (en millisecondes) |
Attribut |
Propriété RequestTimeout de la classe DataCacheFactoryConfiguration. |
Délai d'ouverture du canal (en millisecondes) |
Attribut |
Propriété ChannelOpenTimeout de la classe DataCacheFactoryConfiguration. |
Nombre maximal de connexions au serveur |
Attribut |
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 |
Propriété HostName de la classe DataCacheServerEndpoint. |
Numéro du port de cache |
Attribut |
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 |
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 |
Propriété InvalidationPolicy de la classe DataCacheLocalCacheProperties. Les valeurs possibles sont NotificationBased et TimeoutBased. |
Délai d'expiration du cache local (en secondes) |
Attribut |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Propriété MaxBufferPoolSize de la classe DataCacheTransportProperties. |
Taille maximale de la mémoire tampon (en octets) |
Attribut |
Propriété MaxBufferSize de la classe DataCacheTransportProperties. |
Délai de sortie maximal (en millisecondes) |
Attribut |
Propriété MaxOutputDelay de la classe DataCacheTransportProperties. |
Délai d'initialisation du canal (en millisecondes) |
Attribut |
Propriété ChannelInitializationTimeout de la classe DataCacheTransportProperties. |
Délai de réception (en millisecondes) |
Attribut |
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