J'ai une application ASP.NET qui tourne sur IIS7.5 avec .NET4. À certains moments spécifiques, je reçois tellement de demandes de la part des clients (environ 10000 en deux minutes) et cela prend environ 20 minutes jusqu'à ce qu'elles soient toutes traitées. Je suis confus, pourquoi l'utilisation du CPU ne dépasse pas 20% pendant cette période. J'ai pensé à la liste suivante de raisons.
- Utilisation de la base de données : Ma base de données est petite (environ 40 Mo) et l'utilisation de la mémoire de mon serveur est inférieure à 60%, donc le taux de cache de la base de données est de 100%.
- Appel de service externe : Il n'y a rien de tel dans mon service.
- Utilisation de verrous : Je n'ai utilisé ni verrous de base de données ni sémaphores dans mon service.
- Nombre faible de demandes en cours d'exécution simultanément : Le moniteur de performance montre que toutes les demandes entrantes passent à l'état d'exécution et la file d'attente d'attente est vide à ce moment-là.
Quelles sont les autres raisons potentielles pour une utilisation faible du CPU dans un tel système?