2010-09-30 3 views
1

Nous utilisons le cache Appfabric dans notre projet, et nous avons rencontré deux problèmes majeurs. Premièrement, nous utilisons des caches nommés (pas de régions explicitement créées). L'un d'entre eux, créé comme Expirable = false, Eviction = none, TTL = 525600 est utilisé pour les objets qui doivent toujours être disponibles (renseignés au démarrage de l'application, via la méthode Put). Mais de temps en temps (je ne pouvais pas identifier le temps exact, ni la connexion à certaines actions dans l'application) tout l'objet dans ce cache expire soudainement - je peux le voir des compteurs de performance - le nombre d'objets pour ce cache passe à 0 de la quantité d'objets dans ce cache en même temps. Ai-je manqué d'autres paramètres? J'ai essayé les deux en les insérant via Put() sans timespan, et Put avec timespan "un an". Expire encore après plusieurs minutes ...Cache Appfabric (Velocity): Expiration dans un cache non expirable et dans un journal de suivi illisible?

Le deuxième problème - quand j'ai essayé de résoudre le premier problème, j'ai décidé d'utiliser la fonction de trace de ETW pour voir dans le journal, ce qui se passe. J'ai créé tracelog via logman et l'ai démarré, j'ai attendu l'expiration du cache, j'ai arrêté le journal, et j'ai utilisé tracerpt pour créer dumpfile depuis etl. Tout va bien jusqu'ici. Mais ce fichier de vidage est inutile, car il n'y a pas de données lisibles, seulement 4400690073007400720 ....... Après quelques recherches rapides, j'ai compris que je devais fournir un fichier PDB ou TMF à tracerpt, afin qu'il puisse "décoder" binaryeventdata en données d'événement lisibles. Est-il possible d'obtenir certains d'entre eux pour le cache appfabric? Ou existe-t-il une autre façon d'utiliser ETW avec appfabric pour obtenir un journal lisible utile?

Répondre

2

J'ai découvert le problème lorsque le cache expire presque instantanément. Si votre mémoire est faible, le cache est effacé.

Vérifiez dans eventvwr -> Applicatin et Service -> Microsoft -> Windows - Services système d'Application Server et sélectionnez Opérationnel.

Rechercher des mises en garde comme:

service mémoire faible disponible - octets privés Cache pour cent {2} Cache de travail mis en pour cent {1} taille des données de cache pour cent {0} La mémoire disponible pour cent {21} count CLR Generation2 {2013 } Pourcentage de mémoire libéré {0}.

Questions connexes