2016-08-09 54 views
0

Ich muss die tatsächliche Anzahl der Verbindungen von Websphere zur Datenbank überwachen. Ich habe versucht, dies auf drei verschiedene Arten zu tun, aber jeder Weg gibt mir ein anderes Ergebnis. Ich arbeite an Webpshere 6.1 mit mehreren Knoten, die jeweils drei Server enthalten. Alle Server befinden sich im selben Cluster.Wie überwacht man die tatsächliche Anzahl der Datenbankverbindungen von WebSphere 6.1?

  1. Tivoli-Leistungsanzeige. In TPV kann ich einen bestimmten Server auswählen, dann Performance-Module, JDBC-Verbindungspools, Oracle RAC JDBC Provider. Von dort kann ich die Gesamtzahl der erstellten Verbindungen, geschlossen und die Größe des Verbindungspools sehen. Gut, aber das gibt mir einen durchschnittlichen Wert von 1 oder 2 für PoolSize.

  2. Zugriff auf MBeans mit Jolokia. Ich habe Jolokia-Anwendung auf dem Cluster bereitgestellt, so dass es auf jeden Server verteilt werden sollte. Die Anwendung funktioniert, aber wenn ich den "list" -Befehl mache, der alle möglichen MBeans auf Websphere auflisten soll, gibt es mir Hunderte von ihnen, aber alle sind mit der ersten Instanz auf dem Knoten verwandt. Wenn Sie zum Beispiel Jolokia mit 192.168.1.1/jolokia/list aufrufen, erhalten Sie eine Liste von MBeans, die alle mit der ersten Instanz (server1) in Verbindung stehen, die auf 192.168.1.1 konfiguriert wurde. Sollte es keine MBeans für alle drei Server auf diesem Knoten geben? Nevertheles, der Wert von dort ist auch 1 oder 2 wie in TPV.

  3. Verwendung von Netstat in Linux-Shell. Ein weiteres Problem hier. Beim Auflisten der eingerichteten Verbindungen zu der bestimmten Datenbank mit netstat werden ungefähr 30 Verbindungen von jedem Serverprozess angezeigt, wodurch ungefähr 90 Verbindungen von dem Knoten zur Datenbank hergestellt werden. Ich verstehe nicht, wo diese Verbindungen herkommen.

Welche Informationen sind hier am relevantesten? Fehle ich etwas?

Antwort

0

Von der JDBC PMI countersPoolSize gibt Ihnen aktuelle Größe des Pools auf dem angegebenen Server, aber nicht erforderlich, aktive Verbindungen (aber sie werden aus der Datenbank und netstat Sicht geöffnet werden). Sie können PoolSize - FreePoolSize verwenden, um die Anzahl der aktuell verwendeten Verbindungen abzurufen.

Um die Gesamtzahl der Verbindungen zu erhalten, müssten Sie jeden Server überwachen oder die Datenbanküberwachungstools verwenden. Sie können auch PerfSevlet installieren und verwenden, um diese Zähler im XML-Format abzurufen.

+0

das Problem ist, dass die PoolSize auf jedem Server einen Wert von 1 oder 2 für jeden Server hat. Auf der anderen Seite hat der gleiche Serverprozess unter Linux ungefähr 30 Verbindungen zur Datenbank (netstat verwendet). – Rubid

+0

@Rubid Der einzige Grund dafür könnte eine falsche Verwendung der Datenbankverbindung durch die Anwendung sein. Die Anwendung verwendet also keine Datenquellen vom Server, sondern erstellt manuell direkte Verbindungen zur Datenbank. In diesem Fall müssten Sie sich leider auf Datenbanküberwachungstools verlassen, nicht auf WebSphere. – Gas