1

J'ai remarqué quelques posts concernant les tests de stress IIS, mais je suis plus intéressé par savoir un bon moyen d'établir une marque de ce que mon serveur web physique peut gérer.Qu'est-ce qu'un bon test de test de charge pour tester un système de production exécutant IIS?

Je travaille actuellement sur un système de production qui semble ralentir presque tous les jours, et personne ne semble comprendre ce qui cause le problème. Ceci est votre configuration N-tier standard (client, serveur web, serveur db). J'ai créé quelques pages ASP.NET simples qui peuvent faire quelques choses simples que j'utilise pour établir une référence pour les tests de stress que je peux utiliser plus tard en comparaison avec le système de production qui est déjà en place.

J'ai déjà construit un exemple de page ASPX qui retourne simplement quelques statistiques de serveur Web sur les utilisations de la boîte, rien de lourd, peut-être quelques lignes de code. J'ai également créé un simple service Web (asmx) qui testera une connexion DB avec l'identifiant correct, encore une fois rien de lourd à ouvrir juste une connexion db et un exemple de requête qui ne fait vraiment rien.

Ce que je voudrais savoir est, ce qui est un bon niveau de stress que les tests suivants devraient fonctionner sous? En particulier, j'utilise application Web de Microsoft Stress outil, et je suis curieux de savoir ce que la plupart des gens attendent le niveau de stress et le stress Multiplicateurgammes acceptables devraient être. Je sais déjà à quel point le serveur web commence à flamber, ses 20 niveaux de stress et 10 multiplicateurs de stress se traduisant par environ 275 demandes de pages par seconde. J'essaie de savoir si ce nombre est trop bas, et si c'est une sorte d'indication qu'il y a un problème entre le client et le serveur Web ou un problème matériel, ou si c'est plus une indication qu'il y a Rien de mal et que le système est juste trop lourd.

MISE À JOUR: Depuis j'ai écrit ce post le code a été déplacé vers un serveur exécutant Windows 2003 en utilisant IIS 7.

Ce que je voudrais savoir est maintenant si je mis en place un test relativement simple , comme un fichier index.html de base qui ne fait que servir une petite page, qu'attendez-vous des "meilleures" demandes de pages/s que je pourrais obtenir à partir d'un test de stress?

+0

est-ce encore plus supporté? Je craindrais que vous ne receviez pas de mises à jour de sécurité ... –

+0

Votre site Web est-il accessible au public? –

+0

Salut Mitch, merci pour les questions. Malheureusement, je ne suis pas en contrôle de la façon dont le serveur Web est configuré, mais oui, je crois qu'il est en cours d'exécution IIS 5.2. Certaines parties du site sont accessibles au public, mais ce n'est vraiment pas conçu pour l'être. C'est en fait un modèle de service Web pour prendre en charge les clients d'application. – Joseph

Répondre

1

Ce que je voudrais savoir est maintenant si je mis en place un test relativement simple, tel qu'un fichier index.html de base qui sert juste une petite page, qu'est-ce que vous attendez le " meilleur "demandes de page/s je pourrais réaliser à partir d'un test de stress?

Je ne peux pas parler de l'application Web de Microsoft Stress Tool, mais il devrait être possible de thrash une page html statique hébergé sur IIS jusqu'à ce que le réseau entre la machine d'essai et les inondations de serveur ou le serveur de test à court de CPU pour créer et compiler les tests. Tout ce que ISS ferait est d'envoyer la même réponse en cache à chaque fois. Pour obtenir un bon profil du fonctionnement de votre site, vous devez disposer d'une bonne représentation du trafic réel sur le site. Une fois que vous avez modélisé, vous pouvez augmenter le nombre de personnes qui l'utilisent pour explorer les pages les plus lentes et les ressources du serveur en premier.Soit vous aurez une ou plusieurs pages dont les performances sont inacceptables pour un chargement donné, soit des statistiques de serveur telles que l'utilisation du disque ou les performances de la base de données sont recherchées.

Sauf si vous effectuez des tests sur un site hébergé sur la même architecture que votre site de production, il est difficile de faire des recommandations d'architecture.

Avec des pages sous-performantes, il est plus facile de faire des améliorations car le code est disponible pour analyser.

Je recommande d'utiliser Visual Studio Édition Ultimate pour charger le test si vous pouvez l'obtenir. Il fournit également des outils de profilage ASP.NET pour maîtriser les sections d'appels de code et de base de données.

+0

Merci pour l'info. Au moment où j'essayais de déterminer où mon système avait un goulot d'étranglement, mon idée était de mettre en place une page statique (puisque IIS peut le faire très rapidement) et de voir si les performances de cette page étaient inacceptables. Je pourrais alors prendre ces résultats et montrer que notre serveur n'était pas vraiment le problème, qu'il y avait quelque chose entre l'origine du problème (équilibreur de charge, topologie générale du réseau, etc.) Au final, il a fini par être la RAM de notre DB le serveur a été coupé en deux sans explication, si je me souviens bien. – Joseph

+0

Oui, IIS est très bon pour l'optimisation des pages statiques. – Nat