Puis-je savoir comment améliorer les performances de mon service .Net WCF? En ce moment, c'est assez lent et parfois il se bouché & finit par cesser de répondre.Amélioration des performances WCF
Répondre
Quel genre de InstanceContextMode et ConcurrencyMode vous utilisez sur votre classe de service? S'il s'agit d'instances PerCall, vous pouvez vérifier si vous pouvez réduire le temps de création d'une instance de serveur pour chaque appel.
S'il s'agit d'instances uniques (singleton) - en avez-vous vraiment besoin? :-) Essayez d'utiliser PerCall à la place.
Marc
Quelle liaison utilisez-vous? Si vous utilisez HTTP, vous pouvez obtenir de meilleures performances avec TCP.
Selon toute vraisemblance, le goulot d'étranglement va être plus haut dans le pipeline WCF et éventuellement dans vos objets hébergés.
Nous aurions besoin de plus de détails sur votre configuration WCF pour être en mesure d'aider beaucoup.
Eh bien, quel genre de données envoyez-vous, et sur quelle liaison?
Est-ce le problème de la taille des demandes (bande passante), ou la quantité des demandes (latence). En cas de latence, faites simplement moins de demandes, mais plus grandes ;-p
Pour la bande passante: si vous envoyez des données binaires via http, vous pouvez activer MTOM - cela vous permettra d'économiser quelques octets. Vous pouvez activer la compression sur le serveur, mais ce n'est pas garanti.
Si vous utilisez .NET vers .NET, vous pouvez envisager protobuf-net; ceci a des crochets de WCF pour permuter le formateur (DataContractSerializer
) pour employer le format binaire de "protocoles de protocoles" de google, qui est très petit et rapide. Je peux conseiller sur comment sur demande.
Autre que: envoyer moins de données ;-P
Les symptômes que vous décrivez pourrait être causé par quoi que ce soit. Vous devrez l'affiner en utilisant un profileur tel que dotTrace de JetBrain ou AQTime de QA automatisé.
Ou vous pouvez le faire à l'ancienne en instrumentant votre code (ce que font les profileurs pour vous). Collectez l'heure de début avant le début de votre opération. Quand cela se termine, soustrayez l'heure de début de l'heure actuelle pour déterminer le temps écoulé, puis imprimez-la ou connectez-la ou quoi que ce soit. Faites de même avec les méthodes que cette opération appelle. Vous verrez rapidement quelles méthodes prennent le plus de temps. Ensuite, passez à ces méthodes et faites de même, en découvrant ce qui fait les prend tellement de temps, etc.
"Améliorer les performances de mon service .Net WCF" - son terme très générique vous demandez, de différentes façons nous peut améliorer les performances et, en même temps, vous devez trouver celui qui provoque les performances comme l'accès à la base de données dans les méthodes WCF.
Veuillez essayer de connaître les fonctionnalités disponibles dans WCF comme la méthode oneWay WCF, elle vous aidera à trouver des moyens d'améliorer les performances.
Merci Venkat
Voici un article avec quelques statistiques de réels systèmes de production, vous pourriez utiliser pour comparer/comparer votre performance.
Microsoft a récemment publié un article de base de connaissances:
Ces questions sont les suivantes:
plante application
Hangs 10 Performance générale de l'application lors de l'appel du service WCF.
- 1. Amélioration des performances cURL (PHP Library)
- 2. Amélioration des performances de téléchargement de fichiers sous Windows 2003
- 3. amélioration des performances de navigation de table dans jquery
- 4. Service de réglage des performances WCF
- 5. Diagnostic et amélioration des performances d'un java jnlp par rapport au fichier jar
- 6. Amélioration des performances du script ASP qui prend plus de 3 minutes
- 7. Amélioration des performances de la recherche basée sur l'emplacement à l'aide de Lucene
- 8. Amélioration des performances de la logique de page Web jquery/javascript
- 9. Performances WCF net.tcp par rapport à namedpipes
- 10. Amélioration du traitement des messages UDP
- 11. soumission de formulaire jQuery/amélioration des effets?
- 12. Optimisation des performances, WebApplication
- 13. Réglage des performances
- 14. Amélioration progressive pour javascript?
- 15. Optimisation des performances de Lucene
- 16. Améliorations des performances C++ 0x
- 17. Ralentissement des performances de SqlDataReader
- 18. Suivi des performances dans C#
- 19. Amélioration de la lisibilité Python?
- 20. Amélioration du fournisseur de profil
- 21. Quelle amélioration perfromance obtiendrais-je en passant à lighttpd d'Apache?
- 22. ASP.Net MVC, AJAX et amélioration progressive
- 23. amélioration progressive sur le côté serveur?
- 24. Débogage et amélioration de l'efficacité C# winform code
- 25. ralentissement des performances lors de l'utilisation Unicode
- 26. Surveillance des performances dans l'application Silverlight 2.0
- 27. PowerShell: Performances des appels de méthodes .NET
- 28. Comparaison des performances de la boucle DataTable
- 29. WPF VirtualizingStackPanel pour des performances accrues
- 30. Analyse comparative des performances pour Apache Nutch
+1 envoyer moins de données. Ou «n'utilisez pas le service autant»;) –