Nous avons une application qui utilise NHibernate pour se connecter à notre base de données sur SQL Server. Nous utilisons l'association de connexions et l'approche session par requête pour exécuter nos requêtes sur SQL Server. Nous avons utilisé SQL Server Activity Monitor pour surveiller le nombre de connexions et nous avons constaté que 25 à 30 connexions étaient concernées chaque fois qu'un utilisateur se connectait au système. Alors, voici ma question à poser: un grand nombre de connexions à SQL Server peut-il entraîner des problèmes de performances?est-ce que les connexions comptent?
Répondre
Chaque connexion à SQL Server nécessite l'allocation d'une certaine quantité de mémoire et il existe donc une considération de performance à cet égard.
Dans le schéma des choses cependant, 20-30 connexions est un très petit nombre. Avez-vous vérifié que toutes les connexions appartiennent à votre application? La raison que je demande est parce que SQL Server lui-même va établir et maintenir un certain nombre de connexions/sessions dans le cadre de l'opération globale des serveurs.
Certains usefull pour vous de DMV à surveiller:
select * from sys.dm_exec_connections
select * from sys.dm_exec_sessions
session ID de 51 ci-dessus sont à l'extérieur de SQL Server pour ainsi dire, à savoir les sessions utilisateur.
Suite aux commentaires:
SQL Server 2005 peut prendre en charge jusqu'à 32.767 connexions. Pour vérifier votre capacité d'exécuter:
select @@MAX_CONNECTIONS
Si la mise en commun de connexion est utilisée, les connexions restent ouvertes et dans un état de sommeil jusqu'à ce que nécessaire pour les demandes de traitement. Alternativement, peut-être que l'application ne ferme pas les connexions lorsque les requêtes ont fini de traiter.
Je ne peux que commenter du point de vue de SQL Server car je ne suis pas familier avec la mécanique de NHibernate.
merci pour votre réponse.Je suis positivement sûr que ce sont nos connexions d'application et il est 20-30 connexion par utilisateur et comme nous avons près de 100 utilisateurs qui travaillent avec notre application, une moyenne de 400-500 connexions sont impliqués (après la connexion dans une application un utilisateur a 3 connexions). Une chose que je ne peux pas comprendre est que beaucoup d'entre eux sont en mode veille. – Beatles1692
- 1. Les enfants Hibernate comptent les critères
- 2. Les enregistrements MySQL comptent avec la condition
- 3. Linq rejoindre, groupe, comptent où compte plus que la valeur
- 4. se ENTITES avec relation comptent plus que x avec NHibernate
- 5. Est-ce que plusieurs BCC comptent pour les limites de messagerie SMTP?
- 6. Est-ce que Spring JmsTemplate ferme les connexions par défaut?
- 7. Déplacer les connexions SQL
- 8. Connexions WCF dépassant les connexions maximales lors de l'utilisation du modèle asynchrone
- 9. django: les utilisateurs du groupe d'affichage comptent dans l'admin
- 10. Les requêtes comptent pour la page dans asp.net mvc
- 11. pour les connexions break
- 12. Comment déterminer les éléments comptent dans boost.preprocessor tuple`s?
- 13. page liens externes comptent en python
- 14. Qu'est-ce que le regroupement de connexions?
- 15. Pourquoi avec PHP des centaines de connexions DB ne comptent pas .. mais dans l'application C++ qu'ils font?
- 16. combiner deux requêtes qui comptent par mois
- 17. Webhost permettant les connexions sortantes ...?
- 18. Bibliothèque d'entreprise gérer les connexions
- 19. OpenID et les connexions fédérées
- 20. Comment déterminer les attributs comptent pour les documents XML en utilisant C#
- 21. Pourquoi les classes qui implémentent une interface ne comptent-elles pas comme le même type que l'interface dans Java?
- 22. pcap seulement ramasser sur les nouvelles connexions
- 23. Besoin d'aide pour gérer les connexions MySql
- 24. Comment Subsonic gère-t-il les connexions?
- 25. Comment tester unitairement les connexions IBOutlet?
- 26. Vider les pools de connexions JDBC
- 27. Différences de performances énormes entre les connexions
- 28. énumérer les processus et leurs connexions
- 29. Est-ce que SSIS effectue des connexions Lock?
- 30. Comment compter les connexions db ouvertes?
Utilisez-vous le regroupement de connexions? Avez-vous des applications/instances qui touchent la même base de données? – RichardOD
la réponse aux deux questions est oui.Nous utilisons ADO.net intégré dans le mécanisme de mise en commun de la connexion et il y a près de 100 utilisateurs qui utilisent notre application. – Beatles1692