Versionshinweise zur Sun Java Communications Suite 5

Instant Messaging – Leistung, Skalierbarkeit und Sizing-Überlegungen

Dieser Abschnitt bietet nützliche Informationen zur Leistungsoptimierung bei der Bereitstellung von Instant Messaging in einer Serverpool-Konfiguration und zur Optimierung von Aufräumvorgängen. Es sind folgende Abschnitte enthalten:

Diese Informationen sollten zusammen mit dem Handbuch Sun Java Communications Suite 5 Deployment Planning Guide genutzt werden.


Achtung – Achtung –

In einer Serverpool-Bereitstellung müssen Sie alle Instant Messaging-Server im Serverpool identisch einrichten.


Optimieren des Instant Messaging-Serverspeichers

Verwenden Sie die J2SE-Version 5 für die Ausführung des Instant Messaging-Servers. Diese Version bietet eine höhere Leistung und erfordert keine Optimierung mithilfe eines Befehlszeilenprogramms, da ergonomische Funktionen unterstützt werden. Weitere Informationen zur Verwendung dieser Java-Version finden Sie in folgenden Dokumenten:

Der Instant Messaging-Server verwendet die Parameter iim.jvm.maxmemorysize in der Datei iim.conf, um die maximale JVM-Heap-Größe festzulegen, die zugeordnet werden soll. Der Standardwert für diesen Parameter lautet 256 MB, eine umfassende aktive Bereitstellung von Instant Messaging erfordert jedoch mehr Speicher. Wie viel Speicher den Instant Messaging-Servern im Serverpool zugeordnet wird, hängt davon ab, wie viele gleichzeitig aktive Benutzer unterstützt werden sollen. Jeder Instant Messaging-Server im Serverpool benötigt 256 MB und 65 KB für jeden verbundenen/aktiven Benutzer bei folgender täglicher Nutzung durch einen Benutzer:

Die darüber hinausgehende Auslastung pro Benutzer, die Nutzung zusätzlicher Instant Messaging-Dienste (z. B. News oder Dateiübertragung) sowie die Verwendung von Funktionen wie Nachrichtenfilter, Archivierung oder SSL führen zu einem erhöhten Speicherbedarf. Sie sollten daher vor der Bereitstellung von Instant Messaging in einer Produktionsumgebung ein Auslastungsprofil für typische Benutzeraktivität erstellen. Weitere Informationen zum Erstellen von Auslastungsprofilen für eine Instant Messaging-Bereitstellung erhalten Sie beim Sun-Support.

Instant Messaging Thread Pooling and Service Port Configuration

Instant Messaging bietet eine Reihe von Konfigurationsoptionen für die Anpassung der Größe und des Verhaltens von Threadpools, die für die Bearbeitung von Client-Server- und Server-Server-Anforderungen verwendet werden. In Verbindung mit den zugeordneten Dienstanschlüssen kann mithilfe dieser Threadpools der Durchsatz eines Instant Messaging-Servers gesteigert werden.

Name der Option 

Beschreibung 

Standardwert 

iim_server.maxthreads

Maximale Anzahl an Threads für den standardmäßigen Threadpool 

20 

iim_server.threadpool

Liste unabhängiger Threadpools 

(Alle nutzen den standardmäßigen Threadpool.) 

iim_server.threadpool.capacity

Kapazität(*) des standardmäßigen Threadpools 

10 * maxthreads 

iim_server.threadpool.aaa.maxthreads

Maximale Anzahl der Threads für benannten Threadpool aaa:

maxthreads(aaa)

iim_server.threadpool.aaa.capacity

Kapazität des benannten Threadpools aaa

10 * maxthreads(aaa) 

Tabelle 4–4 Für Sun Java Communications Suite definierte Threadpools

Name 

Verwendung 

s2s-in 

Sämtliche eingehende Server-zu-Server-Kommunikation. Wenn der Anschluss Server-zu-Server-Kommunikation erlaubt, wird dieser Threadpool verwendet. 

s2s-out 

Sämtliche ausgehende Server-zu-Server-Kommunikation. Wenn der Anschluss Server-zu-Server-Kommunikation erlaubt, wird dieser Threadpool verwendet. 

s2s 

Sämtliche Server-zu-Server-Kommunikation; die Verbindung von s2s-in und s2s-out. 

Die definierten Threadpools können in Verbindung mit einem nur für Server zugewiesenen Dienstanschluss angegeben und verwendet werden, wie unter Dienstanschlusskonfiguration beschrieben. Thread- und Anschlusskonfigurationen können Sie iniim.conf vornehmen. Nachdem Sie die Thread- und Anschlusskonfigurationen geändert haben, müssen Sie einen Neustart des Servers durchführen.

Wenn die Kapazität eines Threadpools überschritten wird, wird eine Standardfehlermeldung ausgegeben. Der Instant Messaging-Server akzeptiert so lange keine weiteren Anforderungen für das Threadpool mehr, bis die Anzahl der Anforderungen unter dem Kapazitätswert des Threadpools liegt. Wenn dieser Fall in einer Serverpool-Umgebung auftritt, müssen Sie unter Umständen Folgendes vornehmen:


Beispiel 4–1 Verwendung des definierten Threadpools zum Freihalten von fünf Threads für eingehende Server-zu-Server-Kommunikation für Instant Messaging


!s2s thread pool
iim_server.threadpool=s2s-in
iim_server.threadpool.s2s-in.maxthreads=5

Dienstanschlusskonfiguration

Es stehen zahlreiche Optionen für die Dienstanschlusskonfiguration zur Verfügung. Die Optionen werden in diesem Abschnitt beschrieben.

Option 

Definition 

Standardwert 

iim_server.useport

Normale Anschlüsse öffnen (ermöglicht StartTLS) 

true 

iim_server.usesslport

SSL-Anschlüsse öffnen (nicht verhandelbares TLS) 

false 

iim_server.usemuxport

Multiplexer-Anschlüsse öffnen 

true 

iim_server.port

Liste der normalen Anschlüsse 

5269 

iim_server.sslport

Liste der SSL-Anschlüsse 

5270 

iim_mux.serverport

Liste der Multiplexer-Anschlüsse 

45222 

iim_server.port.port .sndbuf

send-Socket-Buffergröße

Keine 

iim_server.port.port .rcvbuf

recv-Socket-Buffergröße

Keine 

iim_server.port.port .interface

Liste der speziellen Netzwerkschnittstellen, an die gebunden werden soll. 

Keine (d. h., alle) 

iim_server.port.port .protocol

An diesem Anschluss sind Listenprotokolle zulässig (Client, Server, Komponente, Peer) 

alle/beliebig 

iim_server.port.port .nodelay

Aktiviert den Nagles-Algorithmus 

false 

Der Durchsatz eines Dienstanschlusses kann durch Anpassung der send- oder receive-Puffergröße des Anschlusses erhöht werden.


Beispiel 4–2 Dienstanschlusskonfiguration für Instant Messaging


iim_server.port = 5269, 45269, 15222
iim_server.port.5269.protocol = server
iim_server.port.45269.protocol = peer, component
iim_server.port.45269.sndbuf= 512000
iim_server.port.45269.recvbuf= 512000
iim_server.port.15222.protocol = client 

Optimieren von Aufräumvorgängen für Instant Messaging

(Problem Nr.: 6279277) Aufgrund der unterschiedlichen Vorgehensweisen bei den Aufräumvorgängen in den JRE-Versionen 1.4.2 und 1.5 ist die Leistung bei Verwendung des standardmäßigen Aufräumprogramms mit Version 1.4.2 auf dem Serverhost möglicherweise nicht optimal. Um dieses Problem zu beheben, können Sie entweder auf die JRE-Version 1.5 aufrüsten oder beim Aufrufen des Servers die folgende Befehlszeilenoption hinzufügen:


-XX:+UseParallelGC

Weitere Informationen zum JRE-Aufräumprogramm finden Sie hier: