38 votes

Azure Web Apps est vraiment lent

J'ai étudié une lente chauffe de temps pour mon application et j'ai eu des résultats inattendus.

Essais sur divers Azure Vm a montré le warm-up de temps pour être bien liés à l'application de performances du serveur (donc c'est pas la demande externe, y compris sql), mais ce qui est vraiment intéressant est la comparaison d'Azure Web Apps et ma propre machine (toutes les heures sont des moyennes à partir d'environ 3 pistes):

VM A0:            >1m
VM A2:            13s
VM D2V2:           6.8s
VM D5V2:           7.8s
Wep App P2:       25s
Web App S2:       26.5s
My local machine:  6.6s

Ma machine locale est un i5 cadencé à 3.3 GHz.

Le local de la machine est plus rapide , même si il se connecte à la même base de données SQL Azure-dessus de l'internet et de la demande inclut Entité Cadres de vérification de modèle.

Tous les tests d'utilisation .NET 4.6.1, la version la plus récente à ce moment.

Apparent conclusion:

  • Mon 4 ans ordinateur de bureau est plus rapide que n'importe quelle taille d'Azure VM pour des emplois qui ne sont pas parallélisable.
  • Azure Web Apps de fonctionner sur des pommes de terre, même si vous êtes prêt à dépenser 500 dollars par mois.

Cela semble louche. Toutes les idées de ce qui pourrait se passer? Ou de quoi tester?

EDIT après quelques profilage: Aucun des éléments suivants ne jette aucune lumière sur ma question, mais c'est toujours intéressant de l'information (testé sur un autre A2 VM avec 20s temps la demande totale, tandis que le profileur être joint en annexe):

  • 58% jitting.
  • E / s de fichier de blocage est pratiquement nulle (l'application a été commencé avant, donc je suppose que toutes les dll requis les pièces sont dans la mémoire cache).
  • <1% est SQL Azure demandes.
  • Le reste de l'90% de temps de fonctionnement doit donc être .NET de l'exécution ou de profiler les frais généraux.
  • Le testeur lui-même a tout à fait les frais généraux, que la requête s'exécute en environ 15s sans elle (j'ai utilisé un essai de JetBrains dotTrace, que j'aime vraiment)
  • 50% du temps est au cours de la première demande avec Entity Framework, 80% de la jitting
  • 15% de la première utilisation de SignalR, presque pas de jitting (en faisant un peu de réflexion-non-sens)

Presque pas de parallélisation est fait.

5voto

Prawin Points 194

Initialement, lorsque nous avons déployé notre Azure App Service - Application Web (hébergée dans Resource Group1) et notre base de données Azure SQL (hébergée dans Resource Group2), l'application était très lente. L'erreur que j'ai commise est que les deux RG1 et RG2 se trouvaient à deux endroits différents. Plus tard, lorsque nous avons changé l'emplacement des deux RG (les recréant en fait) pour qu'ils soient identiques, les WebApp ont commencé à fonctionner correctement.

Merci, Prawin

1voto

Rajasekar Points 99

Moi aussi, j'ai le même problème, je l'ai résolu en déplaçant ou en copiant le contenu de mon site (photos et vidéos) vers Azure Blob Storage. Nous pouvons également configurer Azure CDN en WebApps, VM, Cloud Services et Custom origin. En essayant ce CDN Azure, le temps de chargement de votre site s'améliorera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X