(Warnung) Dieser Artikel bezieht sich auf eine Nuclosinstanz mit einer PostgreSQL -Datenbank.

Anzahl gleichzeitig möglicher Anfragen

In der Standarkonfiguration erlaubt Nuclos die Bearbeitung von bis zu 100 gleichzeitigen Anfragen. Abhängig vom Benutzeraufkommen und der Dauer einzelner Anfragen kann dies unter Umständen nicht ausreichen.

Um Nuclos für mehr gleichzeitige Anfragen zu konfigurieren müssen einige Konfigurationsdateien angepasst werden (Im Beispiel für bis zu 300 gleichzeitige Anfragen).

1. postgresql.conf

In der Konfigurationsdatei des Postgresservers muss der Wert max_connections (Standardwert 100) entsprechend erhöht werden. Ist dieser kleiner als die Anzahl von gleichzeitigen Anfragen schlägt die Anfrage fehl (siehe )

PostgreSQL verwendet für jede Datenbankverbindung einen neuen Prozess  (siehe PostgreSQL Architectural Fundamentals). Dieser Wert gibt an wie viele solcher Prozesse maximal erzeugt werden.

max_connections = 300

(Warnung) Mehr Postgres-Verbindungen benötigen mehr Arbeitsspeicher! Um Out Of Memory oder lange Wartezeiten wegen Speicherauslagerung zu vermeiden muss ausreichend Arbeitsspeicher verfügbar sein!

2. nuclos-beans-startup.xml

Diese Datei befindet sich im Archiv <nuclos-install-dir>/webapp/WEB-INF/lib/nuclos-server-<version>.jar (ggf. vorher entpacken) im Unterverzeichnis META-INF/nuclos/.

Hier muss der Wert maxActive für den JDBC-Session-Pool angepasst werden (maximale Anzahl gleichzeitiger aktiver Datenbankverbindungen, Standardwert 100).

(Warnung) Der Wert sollte größer als max_connections in der postgresql.conf sein,  da Nuclos derzeit ein Überschreiten des Verbindungslimits im Tomcat-Session-Pool nicht abfängt ( siehe ).

<bean id="nuclosDataSource" class="org.nuclos.server.database.NuclosBasicDatasource" destroy-method="close">
	[...]
	<property name="maxActive" value="350"/>
</bean>

3. server.xml

Diese Datei befindet sich im Verzeichnis <nuclos-install-dir>/tomcat/apache-tomcat-<version>/conf/.

Angepasst wird die maximale Anzahl von Threads für die Annahme von Serververbindungen.  Ist diese kleiner als die Anzahl gleichzeitigen Anfragen kommt es zu längeren Antwortzeiten.

Der anzupassende Parameter bezieht sich auf die jeweilige Art der Verbindungen (dem verwendeten Tomcat-HTTP-Connector) und ist mit maxThreads bezeichnet. Ist kein Wert angegeben wird 200 als Standardwert verwendet. Bei SSL-verschlüsselten Verbindungen wird von Nuclos derzeit 150 als Standardwert verwendet.

Beispiel für einen angepassten Connector (ohne SSL-Verschlüsselung):

<Connector compressableMimeType="text/html,text/js,text/css,application/javascript,application/json" compression="on" compressionMinSize="2048" connectionTimeout="20000" port="8010" redirectPort="8443" maxThreads="300"/>