2012-04-13 17 views
0

Ich habe eine Anwendung, die Verbindungspooling erfordert, da der Server mehrere Clients zur gleichen Zeit kommuniziert, die etwa 10k sein kann. Und wenn ich maxActive = 200 begrenze, verlangsamt sich die Aktualisierung der Datenbank.SQL Server-Verbindung Pooling in Java übersteigt 600, verursachen Datenbankabsturz?

Anwendung Programmierung habe ich in Java getan. Verbindungspooling ich mache mit Hilfe von Tomcat Context.xml. Datenbank verwende ich SQL Server 2005.

Bitte helfen Sie mir bei der richtigen Art der Pooling, so dass meine Anwendung nicht verlangsamt.

Antwort

0

Es gibt kein Konzept der richtigen Art des Pooling, Sie müssen herausfinden, durch wie viele aktive Verbindungen Sie in der Lage sind, maximalen Durchsatz zu erhalten.

1) Check any inactive connections which are not closed. 
2) Do some analysis to find out the root causes or when it's eating up lot of connections. 

Ideal für jedes Projekt die häufigsten Parameter ich gesehen habe, ist 200-300 aktiven Verbindungen, wenn es mehr übersteigt, als dass es mehr ist wahrscheinlich, eine Enterprise-Anwendung, für die Sie auf Infrastruktur angewiesen sind und nicht programmatisch.

Nach einem bestimmten Schwellenwert sollten Sie sich das Clustering von Datenbanken ansehen, da Sie es in gewissem Umfang optimieren können, nachdem Sie festgestellt haben, dass im Programm keine Optimierungsplätze vorhanden sind.

+0

nach dem code nehme ich verbindung vom pool und nach jeder durchführung der erklärung schließe ich die verbindung mit _conn.close(); _ und auch im ** finally ** block – ravi

+0

Was könnte der grund dafür sein so viele schlafende Verbindungen. Ich konnte es nicht herausfinden. – ravi

+0

Es ist nur möglich herauszufinden, ob ich die Codebasis gelesen habe. Wenn möglich, um Ihren Bildschirm zu teilen, dann kann ich Ihnen helfen. mailen Sie mir die Informationen, um mit phani (dot) rockt bei hotmail.com zu verbinden – Phani