Site icon Blog ARC Optimizer

5 caractéristiques de Fiddler partout où vous ne connaissez peut-être pas

5 caractéristiques de Fiddler partout où vous ne connaissez peut-être pas


La création d’un ensemble de tests de contrainte valide (et utile) pour votre service Web est ridiculement facile dans Fiddler partout… à condition que vous connaissiez les fonctionnalités qui rendent ce test possible.

Quand les gens vous montrent comment le progrès Telerik Fiddler partout Fonctionne, il me semble que les exemples ne vous montrent pas assez de ce que Fiddler peut faire pour vous. Je vais passer à travers un test de stress standard pour un service Web avec Fiddler et, en cours de route, vous montrer un tas de fonctionnalités que je ne pense pas que vous connaissez.

Afin de tester mon service, j’ai d’abord besoin de l’isoler – faites preuve de mon application client à partir de l’équation pour faire de mon service le «composant testé». Fiddler est parfait pour cela: je peux appeler mon service de Fiddler sans avoir à invoquer mon client.

Je souhaite également isoler les messages liés à mon test, donc j’ai également configuré un filtre dans Fiddler partout pour limiter la liste des messages aux demandes et aux réponses à mon service. (De cette façon, je n’ai pas à regarder tous les autres trafics de réseau que Fiddler attrape… et Fiddler capture tout).

Devenir authentifié

Mes clients font partie de mon test de stress, mais ils peuvent toujours être utiles. Pour commencer mon test, j’ai besoin d’une demande et, bien que je puisse utiliser le compositeur Fiddler Everywhere pour créer mon message de test, j’ai besoin de ce message pour avoir un en-tête d’authentification valide pour dépasser la sécurité de mon service. Cela semble… difficile parce que je teste un service Web exécuté dans un service d’application Azure que j’ai verrouillé avec Inscriptions des applications et identités gérées.

Heureusement, c’est plus facile que vous ne le pensez parce que j’ai les deux application côté client et un application côté serveur qui accéder à mon service avec succès et récupérer les jetons d’authentification nécessaires. Le moyen le plus simple pour moi d’obtenir les jetons d’autorisation dont j’ai besoin est de demander à l’un de mes clients de générer une demande et de saisir le jeton dont j’ai besoin de cette demande.

Pour ce faire, je commence Fiddler partout, puis je gère un de mes clients une fois, en l’accès à mon service. Dans la liste des messages qui en résulte de cette exécution, je sélectionne un message qui a réussi à récupérer le contenu de mon service et, dans le panneau du côté droit de la fenêtre Fiddler, passez à l’onglet Inspecteurs du message.

Dans l’onglet Inspecteurs, je sélectionne l’onglet En-têtes pour afficher tous les en-têtes générés par mon client. Pour obtenir l’en-tête de sécurité dont j’ai besoin pour mon message de test, je clique avec le bouton droit sur l’en-tête d’autorisation dans la liste de l’onglet et sélectionnez Copier la valeur pour copier le jeton d’accès à partir de l’en-tête. Je suis maintenant prêt à créer mon message de test.

Pour créer mon message de test, dans la barre de menu en bas du côté gauche de Fiddler, je clique sur l’icône inférieure pour ouvrir l’onglet Fiddler Composer. Cet onglet me montre une méthode par défaut, une URL et un protocole pour ma demande, ainsi qu’une liste vierge d’en-têtes.

La liste des en-têtes a une ligne vide pour moi pour commencer, c’est donc là que j’ajoute mon en-tête d’autorisation. Dans la première colonne (appelée clé), je commence à taper «autorisation». Fiddler affiche immédiatement une liste déroulante des noms d’en-tête standard. Je sélectionne simplement le reste du nom d’en-tête d’autorisation lorsqu’il apparaît dans la liste. Je taborte ensuite à la colonne de valeur et colle dans la valeur que j’ai copiée à partir de mon message d’origine.

Je termine en définissant la méthode de ma demande de test (GET), l’URL de mon service (également copié à partir du message de mon client) et le protocole (HTTP 1.1). Avec ceux qui sont en place, je clique sur le bouton Exécuter en haut à droite de l’onglet Composer et obtient le résultat de l’envoi de mes messages à mon service dans le volet à gauche.

Mais, dans un test de stress, je ne suis pas vraiment intéressé par ce que ce message a récupéré, mais dans quelle mesure mon service se porte quand il a traité le message. Avant de vérifier cela, je reconnais que je pouvais à nouveau avoir besoin de ce message, donc je clique sur le bouton Enregistrer dans le coin supérieur droit de l’onglet Composer et enregistre ce message sous le nom de «demande de base de base».

Maintenant, pour voir dans quelle mesure le traitement de ma demande s’est déroulé, je passe à l’onglet Fiddler Live Traffic (l’icône des yeux dans l’icône du milieu du menu dans le côté gauche de Fiddler) pour voir mon message et, dans son onglet de vue d’ensemble, comment le message a bien fait.

Test de stress à votre service

Et les statistiques semblent plutôt bonnes. Mais ce n’est qu’une demande – tout semble bon si vous réglez la barre assez basse. Je veux voir quelle est la capacité de mon service: dans quelle mesure mon service fait-il quand il obtient plusieurs demandes simultanées.

Pour ce faire, je clique avec le bouton droit sur peut exempter de message dans la liste des messages et sélectionner la relecture avancée. Dans la boîte de dialogue de relecture avancée, je peux définir le nombre de demandes que je veux faire (j’ai choisi 100) et si je veux ces demandes envoyées en parallèle ou en série (j’ai choisi «parallèle»).

Et maintenant, juste en cliquant sur le bouton Démarrer de la boîte de dialogue, je peux voir ce qui se passe lorsque mon service reçoit 10 messages simultanés.

Analyser les conversations: regroupement des messages

Effectivement, lorsque je reviens à l’onglet Traffic live dans Fiddler partout, je peux voir les 100 de mes demandes. Je peux sélectionner n’importe quel message pour voir comment cela s’est fait mais, dans un test de capacité, je veux savoir que je veux savoir à quel point les messages ont réussi en tant que groupe (mon service est en mesure de répondre à tous les SLA que je me suis engagés). Fiddler me le dira aussi.

Initialement, dans ma liste de messages, seul le message que j’ai utilisé pour déclencher mon test est sélectionné, avec ses détails présentés dans l’onglet Présentation de Fiddler à droite. Pour voir les résultats de tous mes messages, je clique sur le premier message de mes 100 demandes et, en maintenant la touche de décalage, j’utilise ma flèche vers le bas pour sélectionner le reste des messages.

Fiddler affiche désormais les résultats sommaires de tous mes messages sélectionnés dans le panneau à droite, en trois groupes: un graphique à barres montrant les temps de réponse, suivis d’un graphique à barres montrant les tailles de réponse et, en bas, un ensemble de statistiques de résumé.

Dans ce test de stress, en regardant simplement le graphique à barres initial, certaines de mes demandes ont rapidement été complétées (environ 300 millisecondes – c’est!) Et d’autres ont pris… plus (jusqu’à 37 secondes – Boo!).

Si je fais défiler vers la section suivante dans le panneau de vue d’ensemble, je peux voir dans le graphique de la barre montrant la taille des réponses que deux corps de réponse étaient beaucoup plus petits que le reste. Étant donné que les 100 demandes étaient identiques, les 100 réponses auraient également dû l’être.

Si je fais défiler jusqu’au bas du panneau, j’obtiens mes statistiques de résumé pour mes tests. Ces statistiques montrent que, bien que mon test ait pris environ 37 secondes à terminer, mes temps médians et moyens à compléter pour toute demande unique étaient beaucoup plus bas: 7 secondes et 8,5 secondes (à peu près). Ces statistiques montrent également que j’ai pu pousser environ trois transactions par seconde. Mais ces statistiques montrent également que deux de mes demandes ont échoué avec 500 codes d’état (erreur interne) qui explique les deux petites tailles de réponse.

Si je ne peux pas m’attendre à ce que mon service obtienne 100 demandes simultanées, alors, évidemment, j’ai du travail à faire (il est peut-être temps de mettre en œuvre une stratégie de mise en cache dans mon service ou, puisque mon service s’exécute dans un service d’applications Azure, à augmenter ou à activer la mise à l’échelle).

Avant de continuer, cependant, il convient de souligner que, bien que j’utilise cette fonctionnalité pour 100 messages identiques, Fiddler partout générera des résultats sommaires pour tout groupe de messages. C’est important car votre client n’envoie probablement pas un seul message à votre service – votre client est probablement engagé dans une conversation avec mon service qui implique un échange de plusieurs messages.

Être en mesure de sélectionner tous les messages d’une conversation entre votre client et votre service vous permet d’analyser la conversation en tant que groupe et peut grandement contribuer aux caractéristiques de performance de votre application dans son ensemble. Il répondra, par exemple, lequel des demandes et réponses de votre application a le plus grand impact sur le temps de réponse de mon client.

Garder une trace

De toute évidence, ces données sont importantes, ne serait-ce que pour comparer mes résultats après avoir apporté mes modifications à mon service. Je peux enregistrer ces résultats sous forme d’instantané en cliquant avec le bouton droit sur ma liste de messages et en sélectionnant Enregistrer. Cela ouvre la boîte de dialogue Enregistrer un instantané où je peux donner un nom à mon instantané et choisir un dossier pour enregistrer ces messages avec leurs résultats avant de cliquer sur le bouton Enregistrer dans le coin inférieur de la boîte de dialogue (l’instantané ne contiendra que mes messages actuellement sélectionnés).

Je peux maintenant fermer le violonateur, apporter mes modifications à mon service et, lorsque j’y arrive, redémarrer le violonateur pour relancer mon test de stress. Pour relancer mon test, je double-cliquez d’abord sur le nom de mon instantané dans la liste des instantanés de Fiddler à droite pour restaurer mes messages enregistrés (avec leurs statistiques) dans un nouvel onglet dans la liste des messages de Fiddler.

Pour exécuter à nouveau toutes les demandes de mes instantanés, je les sélectionne tous avec Ctrl + A (Windows) / CMD + A (macOS), cliquez avec le bouton droit sur la liste sélectionnée et sélectionnez Replay dans le menu contextuel. Au fur et à mesure que mes messages s’exécutent, je passe à l’onglet Fiddler Everywhere Live Traffic pour voir les résultats de mon test. Pour obtenir les résultats de mes nouvelles demandes que je peux comparer à mes résultats originaux, je sélectionne tous les messages réexécutés en cliquant avec le bouton droit sur l’un des messages réexécutés et en choisissant SELECT | Demandes en double du menu contextuel. Cela génère les statistiques de résumé de ma nouvelle série de mon instantané dans l’onglet Présentation de Fiddler à droite.

Examiner les résultats

Je vais couper à la poursuite: mon service a fait beaucoup Mieux après implémentation de mes modifications (j’ai ajouté un cache côté serveur). Non seulement toutes mes demandes ont réussi, mais j’ai réduit de moitié mes temps de réponse médiane et moyenne, avec ma réponse la plus longue prenant moins de cinq secondes. Étant donné que ceux-ci sont bien sous les valeurs spécifiées dans mon SLA (et mon SLA spécifie également que je peux raisonnablement m’attendre à obtenir seulement 25 demandes simultanées), je peux passer au problème suivant.

Mais d’abord, je vais économiser la nouvelle course comme un autre instantané afin qu’au moment de l’évaluation, je puisse leur tirer ces statistiques pour démontrer à quel point je suis merveilleux.


Essayez-le par vous-même

Explorez ces fonctionnalités et plus encore avec votre propre essai gratuit de 10 jours de Fiddler partout.

Essayer maintenant




Source link
Quitter la version mobile