ORB-Eigenschaften (Object Request Broker) ändern das Transportverhalten des Datengrids. Diese Eigenschaften können über eine Datei orb.properties, als Einstellungen in der Administrationskonsole von WebSphere Application Server oder als angepasste Eigenschaften im ORB in der Administrationskonsole von WebSphere Application Server definiert werden.
Für UNIX- und Linux-Systeme gibt es einen Grenzwert für die zulässige Anzahl offener Dateien pro Prozess. Das Betriebssystem gibt die zulässige Anzahl offener Dateien an. Wenn dieser Wert zu klein ist, tritt ein Fehler bei der Speicherzuordnung unter AIX auf, und es wird protokolliert, dass zu viele Dateien offen sind.
Setzen Sie diese Einstellung im Terminalfenster auf dem UNIX-System auf einen höheren Wert als den Systemstandardwert. Für große SMP-Maschinen mit Klonen legen Sie den Wert für eine uneingeschränkte Anzahl offener Dateien fest.
Für AIX-Konfiguration setzen Sie diese Einstellung mit dem Befehl ulimit -n -1 auf den Wert -1 (uneingeschränkt).
Für Solaris-Konfigurationen setzen Sie diese Einstellung mit dem Befehl ulimit -n 16384 auf den Wert 16384.
Zum Anzeigen des aktuellen Werts verwenden Sie den Befehl ulimit –a.
com.ibm.CORBA.RequestTimeout=30
com.ibm.CORBA.ConnectTimeout=10
com.ibm.CORBA.FragmentTimeout=30
com.ibm.CORBA.LocateRequestTimeout=10
com.ibm.CORBA.ThreadPool.MinimumSize=256
com.ibm.CORBA.ThreadPool.MaximumSize=256
com.ibm.CORBA.ThreadPool.IsGrowable=false
com.ibm.CORBA.ConnectionMultiplicity=1
com.ibm.CORBA.MinOpenConnections=1024
com.ibm.CORBA.MaxOpenConnections=1024
com.ibm.CORBA.ServerSocketQueueDepth=1024
com.ibm.CORBA.FragmentSize=0com.ibm.CORBA.iiop.NoLocalCopies=true
com.ibm.CORBA.NoLocalInterceptors=true
Zeitlimiteinstellungen
Die folgenden Einstellungen beziehen sich auf die Zeit, die der ORB wartet, bevor er Anforderungsoperationen aufgibt. Verwenden Sie diese Einstellungen, um zu verhindern, dass in einer abnormalen Situation zu viele Threads erstellt werden.
Eigenschaftsname: com.ibm.CORBA.RequestTimeout
Gültiger Wert: Ganzzahliger Wert (in Sekunden)
Empfohlener Wert: 30
Definitionsposition: Administrationskonsole von WebSphere Application Server
Beschreibung: Gibt an, wie lange (in Sekunden) eine Anforderung auf eine Antwort warten soll, bevor sie aufgibt. Diese Eigenschaft beeinflusst die Zeit, die ein Client für das Failover benötigt, wenn ein Netzausfall eintritt. Wenn Sie einen zu niedrigen Wert für diese Eigenschaft wählen, können nicht beabsichtigte Zeitlimitüberschreitungen bei Anforderungen auftreten. Sie können dies verhindern, indem Sie den Wert für diese Eigenschaft sorgfältig auswählen.
Eigenschaftsname: com.ibm.CORBA.ConnectTimeout
Gültiger Wert: Ganzzahliger Wert (in Sekunden)
Empfohlener Wert: 10
Definitionsposition: Datei orb.properties
Beschreibung: Gibt an, wie viele Sekunden bei einem Versuch, eine Socket-Verbindung herzustellen, gewartet werden soll, bis der Versuch eingestellt wird. Diese Eigenschaft kann wie das Anforderungszeitlimit die Zeit beeinflussen, die ein Client für das Failover benötigt, wenn ein Netzausfall eintritt. Im Allgemeinen setzen Sie diese Eigenschaft auf einen kleineren Wert als das Anforderungszeitlimit, weil die Zeit zum Herstellen einer Verbindung relativ konstant sein sollte.
Eigenschaftsname: com.ibm.CORBA.FragmentTimeout
Gültiger Wert: Ganzzahliger Wert (in Sekunden)
Empfohlener Wert: 30
Definitionsposition: Datei orb.properties
Beschreibung: Gibt an, wie lange (in Sekunden) eine Fragmentanforderung auf eine Antwort warten soll, bevor sie aufgibt. Diese Eigenschaft ist der Eigenschaft "Anforderungszeitlimit" ähnlich.
Einstellungen des Thread-Pools
Diese Eigenschaften beschränken die Größe des Thread-Pools auf eine bestimmte Anzahl an Threads. Die Threads werden vom ORB verwendet, um die Serveranforderungen auszugliedern, nachdem sie am Socket empfangen wurden. Wenn Sie zu niedrige Werte für diese Eigenschaften wählen, kann dies zu einer erhöhten Socket-Warteschlangenlänge und zu möglichen Zeitlimitüberschreitungen führen.
Eigenschaftsname: com.ibm.CORBA.ConnectionMultiplicity
Gültiger Wert: Ganzzahliger Wert für die Anzahl der Verbindungen zwischen dem Client und dem Server. Der Standardwert ist 1. Die Festlegung eines höheren Werts definiert das Multiplexing für mehrere Verbindungen.
Empfohlener Wert: 1
Definitionsposition: Datei orb.properties
Beschreibung: Ermöglicht dem ORB, mehrere Verbindungen zu jedem Server herzustellen. In der Theorie sollte die Definition dieses Werts die Parallelität der Verbindungen fördern. In der Praxis profitiert die Leistung nicht von der Festlegung der Verbindungsmultiplizität. Setzen Sie diesen Parameter nicht.Eigenschaftsnamen: com.ibm.CORBA.MinOpenConnections, com.ibm.CORBA.MaxOpenConnections
Gültiger Wert: Ein ganzzahliger Wert für die Anzahl der Verbindungen.
Empfohlener Wert: 1024
Definitionsposition: Administrationskonsole von WebSphere Application Server
Beschreibung: Gibt eine Mindest- und eine maximale Anzahl offener Verbindungen an. Der ORB verwaltet einen Cache mit den Verbindungen, die mit Clients hergestellt wurden. Diese Verbindungen werden nach Ablauf dieses Werts bereinigt. Das Löschen von Verbindungen kann zu einem mangelhaften Verhalten im Datengrid führen.Eigenschaftsname: com.ibm.CORBA.ThreadPool.IsGrowable
Gültiger Wert: Die gültigen Werte sind true und false (Boolean).
Empfohlener Wert: false
Definitionsposition: Datei orb.properties
Beschreibung: Wenn Sie diese Einstellung auf true setzen, kann der vom ORB für eingehende Anforderungen verwendete Thread-Pool über die vom Pool unterstützte Größe hinweg anwachsen. Wenn die Poolgröße überschritten wird, werden neue Threads für die Bearbeitung der Anforderungen erstellt, aber die Threads werden nicht in den Pool gestellt. Sie können das Wachstum des Thread-Pools verhindern, indem Sie die Einstellung auf false setzen.Eigenschaftsname: com.ibm.CORBA.ServerSocketQueueDepth
Gültiger Wert: Ein ganzzahliger Wert für die Anzahl der Verbindungen.
Empfohlener Wert: 1024
Definitionsposition: Datei orb.properties
Beschreibung: Gibt die Länge der Warteschlange für eingehende Verbindungen von Clients an. Der ORB reiht eingehende Verbindungen von Clients in Warteschlangen ein. Wenn die Warteschlange voll ist, werden Verbindungen zurückgewiesen. Das Zurückweisen von Verbindungen kann zu einem mangelhaften Verhalten im Datengrid führen.Eigenschaftsname: com.ibm.CORBA.FragmentSize
Gültiger Wert: Eine ganzzahliger Wert, der die Anzahl der Bytes angibt. Der Standardwert ist 1024.
Empfohlener Wert: 0
Definitionsposition: Datei orb.properties
Beschreibung: Gibt die maximale Paketgröße an, die der ORB verwendet, wenn er eine Anforderung sendet. Wenn eine Anforderung den Grenzwert für die Fragmentgröße überschreitet, wird diese Anforderung in Anforderungsfragmente aufgeteilt, die jeweils separat gesendet und dann im Server erneut assembliert werden. Das Fragmentieren von Anforderungen ist in unzuverlässigen Netzen hilfreich, in denen Paket unter Umständen erneut gesendet werden müssen. Wenn das Netz jedoch zuverlässig ist, kann das Aufteilen von Anforderungen in Fragmente zu einer unnötigen Verarbeitung führen.Eigenschaftsname: com.ibm.CORBA.iiop.NoLocalCopies
Gültiger Wert: Die gültigen Werte sind true und false (Boolean).
Empfohlener Wert: true
Definitionsposition: Administrationskonsole von WebSphere Application Server, Einstellung Durch Referenz übergeben (Pass-by-Reference)
Beschreibung: Gibt an, ob der ORB nach Referenz übergibt. Der ORB verwendet standardmäßig Aufrufe des Typs "pass by value" (Übergeben nach Wert). Aufrufe des Typs "pass by value" verursachen zusätzliche Kosten für Garbage-Collection und Serialisierung im Pfad, wenn die Schnittstelle lokal gestartet wird. Wenn Sie diese Einstellung auf "true" setzen, verwendet der ORB die Methode "pass by reference" (Übergeben nach Referenz), die effizienter ist als der Aufruf des Typs "pass by value".Eigenschaftsname: com.ibm.CORBA.NoLocalInterceptors
Gültiger Wert: Die gültigen Werte sind true und false (Boolean).
Empfohlener Wert: true
Definitionsposition: Datei orb.properties
Beschreibung: Gibt an, ob der ORB Anforderungsinterceptor auch dann startet, wenn lokale Anforderungen (prozessintern) gestellt werden. Die von WebSphere eXtreme Scale verwendeten Interceptor sind für die Sicherheit und Routenverarbeitung bestimmt und nicht erforderlich, wenn die Anforderung innerhalb des Prozesses verarbeitet wird. Interceptor zwischen Prozessen sind nur für RPC-Operationen (Remote Procedure Call) erforderlich. Wenn Sie die Eigenschaft "Keine lokalen Interceptor" aktivieren, können Sie die zusätzliche Verarbeitung vermeiden, den lokale Interceptor mit sich bringen.