Question

J'ai un grand site Web ASP.NET sur une plate-forme hébergée. Il partage la machine avec beaucoup d'autres applications. Nous n'avons pas accès à la machine elle-même (seulement un compte FTP).

Notre client se plaint qu'il commence à faire assez mal, en particulier autour des heures de pointe. J'ai couru quelques mesures à distance (à l'aide d'un outil comme JMeter) qui me dit que, oui, il ne fonctionne en effet assez mal pendant les heures de pointe. Il ne me dit pas pourquoi si. Le client résiste un mouvement vers un serveur dédié sans quelques faits.

Comme je le vois, ce que je dois des données précises sur la machine elle-même. Mise en place d'un environnement de test de performance locale serait extrêmement chronophage, et je n'ai aucun moyen d'estimer les performances du serveur.

Ma question : est-il un bon moyen de recueillir (beaucoup) de mesures de performances lorsque j'ai un accès limité à la machine, et certainement pas d'accès au moniteur de performance? Tout code devrait fonctionner dans l'application asp.net elle-même, sans la visser trop.

Était-ce utile?

La solution

Nous avons eu un problème similaire avec notre application asp.net hébergé sur un serveur partagé, qui a également commencé à effectuer mal aux heures de pointe.

Bien que je ne connais pas une solution élégante à votre question, voici ce que nous avons fait:

  1. Parlez à vos fournisseurs d'accueil pour voir quelles informations supplémentaires ils peuvent vous donner - il est dans leur intérêt de garder leurs clients heureux. Nos fournisseurs d'accueil ont pu nous donner un peu de temps avec un de leurs ingénieurs réseau qui nous ont fourni des statistiques utilisation du processeur décent et de la mémoire.

  2. Prenez vos propres mesures de performance par des informations dumping soit un fichier journal (en utilisant log4net ) et / ou la base de données - par exemple, les sessions utilisateur, le temps de recherche, nombre de visites, le calendrier des mesures autour des fonctionnalités clés. De cette information, nous avons pu constater que nos systèmes était un comportement normal pour un certain nombre de tests d'automatisation.

  3. Installation d'un serveur local (pas nécessairement mêmes stats que hébergé / serveur de production) avec votre application chargée et lui donner un essai à pleine charge / performance / capacité (nous avons utilisé Red Gate ANTS Profiler ). Les statistiques que vous rassemblerai de qui vous donnera et votre client une bonne indication de la façon dont le système doit se comporter dans certaines charges avec un environnement connu. Oui, cela peut prendre beaucoup de temps, mais il vous donnera un excellent outil de mesure de performance afin que vous puissiez attraper / corriger les goulots d'étranglement au niveau local plutôt que sur la production.

Bonne chance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top