2009-12-29 12 views
0

Lorsqu'une connexion à DB est ouvert en utilisant C# OPEN, fait que l'impact de la performance du serveur Web ou seulement la base de données? Ainsi, comment l'ouverture et la fermeture répétées de la connexion à la base de données affectent le serveur Web et la base de données. Quelqu'un peut-il me donner un aperçu à ce sujet? Merci.Frais généraux de connexion ouverture

Répondre

0

impacts Il bout à bout le temps de réponse, à cause de choses qui se passent dans les deux la base de données et le serveur Web. En bref, vos pages Web se chargeront toutes plus lentement, même avec une charge légère.

Throughput-sage, ça fait mal sans doute la base de données plus, car il est fait tout le travail d'authentification, mais qui est juste une supposition sauvage.

+0

Il y a à cela comme mises en garde le nombre de connexions sont ouvertes, la connexion a été ouvert et est dans la piscine, etc. – GrayWizardx

3

Ouverture d'une connexion de base de données est une opération relativement coûteuse. L'ouverture de connexions de base de données peut être si coûteuse que ADO.NET par défaut active connection pooling. Si vous n'utilisez pas le regroupement de connexions, votre application sera probablement plus lente (temps de réponse réduit) et pourrait même rencontrer des problèmes d'évolutivité. Si vous utilisez le regroupement de connexions, l'ouverture et la fermeture répétées d'une connexion SqlConnection n'entraînent pas de surcharge importante lors de la création d'une connexion réseau, de l'authentification avec SQL Server, de la définition de toutes les données de connexion (etc.) sur la création de la connexion physique initiale). Lorsque Open est appelé, une connexion existante est extraite du pool (si disponible) et lorsque Close est appelée, la connexion est renvoyée au pool.

Avec la mise en commun de connexion a permis, j'attendre à voir une augmentation de la mémoire sur les serveurs Web et base de données pour maintenir les connexions ouvertes. Si vous n'utilisez pas le pool de connexions, vous pouvez effectuer des tests pour mesurer l'impact sur les performances des deux serveurs.

Habituellement, ce n'est pas quelque chose dont vous avez besoin de vous soucier de — utiliser le regroupement de connexions et régler les paramètres de la piscine si nécessaire.

Questions connexes