2010-02-15 6 views
3

Essaie de tester la performance d'un service web wcf qui devrait générer beaucoup de trafic. Quels compteurs de performance sont sensibles à utiliser et dans quel but .. Naturellement je regarde CPU et RAM, mais je voudrais savoir quand IIS est queing et quand il a des problèmes ...Webservice wcf compteurs de performance pour file d'attente

Des conseils sur les compteurs de performance sensibles reçu avec gratitude ...

Vive alex

Répondre

0

L'analyse des compteurs de performance est compliquée et demande beaucoup de pratique, ce qui est ma façon de dire que je n'ai pas assez d'expérience pour donner une liste complète.

Vous allez commencer par chercher des choses spécifiques. Tout d'abord est bien sûr combien de temps il faut pour retourner les appels webservice. Cela vous indique si vous avez même un problème de performance à ce chargement. Ensuite, tout le monde regarde la CPU. Cela ne vous dit vraiment pas beaucoup cependant. La RAM est bonne, mais vous voulez connaître la fréquence de pagination de votre application sur le disque, vérifiez donc les défauts de page par seconde. Vérifiez vos disques logiques et physiques pour la longueur actuelle de la file d'attente de disque. Si votre disque physique est du tout, vous lisez/écrivez beaucoup sur le disque. Au-delà de cela, vous devriez normalement essayer de trouver un problème spécifique et probablement obscur. En général, je prends des tests de performance par étapes. Faites un premier test avec les bases et si une page particulière a un problème regardez la charge qu'elle provoque.

Si l'ensemble du serveur de production ne fonctionne pas correctement, il est plus facile d'ajouter du matériel, mais je préfère regarder le code en cours d'exécution et le rendre meilleur.

0

Avant d'exécuter vos moniteurs de performance, vous voulez ajouter la clé de Registre:

HKLM/Services/CurrentControlSet/service/ 
    Add ServiceModelService 4.0.0.0 
    under that add Performance then add a DWORD FileMappingFile. 
    The size for that will be number of services exposed * 33 * 350. 

Dans votre configuration vous ajoutez

<system.ServiceModel> 
    <diagnostics performanceCounters="ServiceOnly"/> 
</system.ServiceModel> 

Vous pouvez regarder les compteurs suivants: CPU/RAM (pour les fuites de mémoire)/pour chaque appel Service et durée d'appel ainsi que les appels en cours

CPU will show you how heavily your are saturating your server 
RAM will show if you have memory leaks if it continues to grow and grow and grow 
Calls will show the number of calls you are getting accumulative, 
Calls Per Second will give you the volume you're handling 
Calls Outstanding are clients that are waiting because your services could not handle the volume. 

Si vous trouvez des numéros discutables dans ces groupes, commencez à regarder d'autres éléments comme les appels en erreur ou les appels échoués. (pas sûr de la différence entre un échec et un défaut)

Il est rare que vous ayez besoin de creuser plus loin dans les problèmes que ce que les numéros de service seulement fourniront. Lorsque vous entrez dans les deux autres ensembles de compteurs, votre utilisation de la mémoire partagée devient très élevée.

Questions connexes