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 ergänzen die Informationen im Handbuch Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide.
In einer Serverpool-Bereitstellung müssen Sie alle Instant Messaging-Server im Serverpool identisch einrichten.
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 den 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äglichen Nutzung durch einen Benutzer:
Zweimalige Aktualisierung der Anwesenheit
Fünf Chats von 10-minütiger Dauer
Eine Mehrfachbenutzerkonferenz von 15-minütiger Dauer
Eine Ab- und Anmeldung
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 bietet eine Reihe von Konfigurationsoptionen für die Anpassung der Größe und des Verhaltens von Thread-Pools, die für die Bearbeitung von Client-Server- und Server-Server-Anforderungen verwendet werden. In Verbindung mit den zugeordneten Dienstanschlüssen kann mithilfe dieser Thread-Pools der Durchsatz eines Instant Messaging-Servers gesteigert werden.
Name der Option |
Beschreibung |
Standardwert |
---|---|---|
iim_server.maxthreads |
Maximale Anzahl an Threads für Standard-Thread-Pool |
20 |
iim_server.threadpool |
Liste unabhängiger Thread-Pools |
(Alle nutzen das Standard-Thread-Pool.) |
iim_server.threadpool.capacity |
Kapazität(*) des Standard-Thread-Pools |
10 * maxthreads |
iim_server.threadpool.aaa.maxthreads |
Maximale Anzahl der Threads für entsprechendes Thread-Pool aaa: maxthreads(aaa) |
4 |
iim_server.threadpool.aaa.capacity |
Kapazität des entsprechenden Thread-Pools aaa |
10 * maxthreads(aaa) |
Tabelle 3 Für Instant Messaging definierte Thread-Pools
Name |
Verwendung |
---|---|
s2s-in |
Sämtliche eingehende Server-zu-Server-Kommunikation Wenn der Anschluss Server-zu-Server-Kommunikation erlaubt, wird dieser Thread-Pool verwendet. |
s2s-out |
Sämtliche ausgehende Server-zu-Server-Kommunikation. Wenn der Anschluss Server-zu-Server-Kommunikation erlaubt, wird dieser Thread-Pool verwendet. |
s2s |
Sämtliche Server-zu-Server-Kommunikation; die Verbindung von s2s-in und s2s-out. |
Die definierten Thread-Pools können in Verbindung mit einem nur für Server zugewiesenen Dienstanschluss angegeben und verwendet werden, wie unter Serviceport-Konfiguration beschrieben.
Wenn die Kapazität eines Thread-Pools überschritten wird, wird eine Standardfehlermeldung ausgegeben. Der Instant Messaging-Server akzeptiert so lange keine weiteren Anforderungen für das Thread-Pool mehr, bis die Anzahl der Anforderungen unter dem Kapazitätswert des Thread-Pools liegt. Wenn dieser Fall in einer Serverpool-Umgebung auftritt, müssen Sie unter Umständen Folgendes vornehmen:
Kapazität des Thread-Pools erhöhen
Ein definiertes Thread-Pool angeben
Die Anzahl der maxthreads für das Thread-Pool anpassen
Einen Dienstanschluss verwenden, der nur Servern zugewiesen ist
Arbeitsspeicher erhöhen
Benutzer effizienter im Serverpool verteilen
!s2s thread pool iim_server.threadpool=s2s-in iim_server.threadpool.s2s-in.maxthreads=5 |
Es stehen zahlreiche Optionen für die Serviceport-Konfiguration 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 |
Multiplexor-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 Multiplexor-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/keiner |
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.
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 |
(Problem Nr.: 6279277) Aufgrund der unterschiedlichen Vorgehensweise 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: