2016-08-03 13 views
0

in ejabberd.yml haben wir folgende Zeile ein:Verständnis odbc_pool_size in ejabberd.yml

## 
## Number of connections to open to the database for each virtual host 
## 
## odbc_pool_size: 10 

wir mysql aktiviert ejabberd-Server ausgeführt wird. MySql Server-Verbindung Grenze ist 300.

Nach der Online-Forschung (auf sehr begrenzte Dokumentation zur Verfügung) scheint es, wie erhöhen odbc_pool_size von Standard 10 vor allem (verringert) die Verbindungszeit von Client zu Server. Wir haben durchschnittlich ~ 1500 Benutzer online zu einer bestimmten Zeit.

Meine Frage: welchen genauen Zweck dient odbc_pool_size Variable dienen. Wie wirkt sich die Erhöhung der Poolgröße auf die Serververbindungszeit/Latenz aus?

UPDATE

Ejabberd Server Statistik:

  • 8 GB RAM
  • Dual-Core-
  • ~ 2000-Benutzer (Spitzenzeiten)
  • durchschnittliche CPU utilaztion 13,5%

MySql Server Statistik:

  • max unterstützt die gleichzeitige Verbindung: 300
  • schreiben IOPS (QPS) 23.1/sec
  • lesen IOPS 1/sec
  • Speicherverbrauch: 2,5/15GB

Laut Ihnen was wird eine gute odbc_pool_size für obige Konfiguration sein? (Ich dachte an etwas um 50?)

Antwort

1

Wie jeder Pool, seine Größe entscheiden über die Anzahl der Anfragen, die parallel verarbeitet werden können. Wenn Ihre Poolgröße in 10 ist, können nur 10 Anforderungen parallel verarbeitet werden, die anderen werden in die Warteschlange gestellt. Das bedeutet, wenn 100 Benutzer gleichzeitig versuchen, eine Verbindung herzustellen, muss der letzte zu wartende Prozess auf die Verarbeitung von 10 Batch-Abfragen warten, wodurch die Latenz erhöht wird.

Die Erhöhung der Poolgröße kann bei der Latenz helfen, bis zu einem Punkt, an dem die Datenbank nicht mehr mit Parallelität umgehen kann und die globale Leistung abnimmt. Ein guter Wert hängt von Ihrer Datenbankgröße, Ihrem Anwendungsfall und Ihrer Gesamtarchitektur ab.

Sie müssen Benchmarks durchführen und experimentieren, um die Größe an Ihren eigenen Fall anzupassen, da es wirklich von tatsächlichen Verkehrsmustern abhängt.

+0

danke Mickaël für Ihre Antwort. Bitte sehen Sie meine aktualisierte Antwort und Ratschläge auf dem gleichen. – Kay