Est-ce que plus de 100 connections actives à SQL Server db ne sont pas normales sur un site Web ASP.NET?

En traçant la connection active sur ma database, j'ai trouvé que parfois les connections dépassaient les 100, est-ce normal? et après quelques minutes, il revient à 20 ou 25 connection active plus de détails sur mon problème

Le trafic sur le site est d'environ 200 visiteurs par jour. Pourquoi je request? parce que le MaxPool par défaut dans la string de connection asp.net est 100 Aussi, j'utilise login dans le site Web IIS

Cela dépend vraiment de votre site et de votre trafic. J'ai vu un site jeter un coup d'œil à plus de 350 connections actives à SQL pendant son time de pointe. C'était pour environ 7 000 users Web concurents, sur deux servers Web, ainsi que divers process dorsaux.

modifier

Quelques informations supplémentaires dont nous avons besoin pour vous donner une meilleure réponse:

  • Combien de process Web rencontrent votre server SQL? Par exemple utilisez-vous des jardins web? Avez-vous plusieurs servers combien en avez-vous? Ceci est important car vous pouvez alors calculer le nombre de connections que vous pouvez avoir en calculant le nombre de threads de travail par process que vous avez configuré. Supposons le pire des cas, chaque thread est en cours d'exécution qui appendait une connection au pool.
  • Utilisez-vous le pool de connection? Si c'est le cas, vous verrez les connections restr après la fin de la request de l'user. Par défaut, c'est activé.
  • Combien d'users concurents avez-vous?

Mais, je pense que vous allez après ce problème, vous avez un problème avec aucune connection gratuite disponible dans votre piscine. La première chose que je searchrais est toute fuite des connections (les connections étant maintenues ouvertes plus longtime qu'ils ne le devraient). Par exemple passer un lecteur de données à la page Web, pourrait être un signe de cela.

La prochaine chose est d'évaluer les parameters par défaut. Maybee vous devriez exécuter un jardin de Web qui devrait vous donner plus de connections, ou augmenter le nombre de connections disponibles.

La dernière chose que je ferais est d'essayer d'optimiser les requêtes comme dans votre dernière question. Disons que vous avez réduit ces requêtes de moitié, tout ce que vous avez fait c'est d'acheter plus de time jusqu'à ce que plus d'users arrivent sur le système, et de return ici, mais cette fois-ci, vous ne pourrez plus optimiser cette requête.

Vous omettez quelques détails qui rendent difficile de répondre correctement mais …

Cela dépend vraiment. Si vous n'utilisez pas le pool de connections, chaque fois qu'une page est touchée qui nécessite un access à la database, une nouvelle connection va être ouverte. Bien sûr, ça pourrait être parfaitement normal.

Je voudrais aussi regarder dans la caching. Cachez les pages, les résultats de la requête de cache, etc. Vous pourriez être surpris combien de fois vous revenez à la database pour get une list des États américains …