2016-06-17 8 views
0

Wir stehen vor einem seltsamen Problem in WSO2 ESB 4.9.0 mit einem unteren Fehler. Nachdem wir den Server gestartet haben, antwortet der Server, akzeptiert jedoch keine HTTP-Anfragen. Unten ist der Fehler. Wir testen gerade 20-50 reqeusts ...ListeningIOReactor erkannte eine geprüfte Ausnahme: Zu viele geöffnete Dateien

2016-06-17 13:13:15,330 [-] [PassThrough HTTP-Listener I/O dispatcher Listener] WARN PassThroughHttpListener System may be unstable: HTTP ListeningIOReactor encountered a checked exception : Too many open files 
java.io.IOException: Too many open files 
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) 
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241) 
at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvent(DefaultListeningIOReactor.java:170) 
at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvents(DefaultListeningIOReactor.java:153) 
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:349) 
at org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager$1.run(PassThroughListeningIOReactorManager.java:506) 
at java.lang.Thread.run(Thread.java:745 
+1

Haben Sie versucht, das Dateiöffnungslimit zu erhöhen? ZB: ulimit -f 65000 –

Antwort

1

Dies wird geschehen, wenn Sie die ESB mit vielen Anfragen platzen, und das ESB schließt nicht die richtig Verbindungen. Dann bleiben alle Dateibeschreibungen, die diesen veralteten Verbindungen zugeordnet sind, so wie sie sind und werden erschöpft. Wenn Sie den Keep-Alive deaktiviert haben, besteht eine hohe Tendenz, dass dieses Problem auftritt.

1

Versuchen Sie, die Anzahl der Datei-Handles zu erhöhen & maximal zulässige Anzahl der geöffneten Dateideskriptoren, um das obige Problem zu beheben.

prüfen für die maximale Anzahl von Datei-Handle und zur Zeit in Gebrauch cat/proc/sys/fs/file-nr

ändern sie auf einen Wert von WSO2 empfohlen (kann Fall zu Fall ändern) sysctl -w fs.file-max = 65536

Für offene Dateideskriptoren ulimit -n

Um diese Grenze zu ändern, bearbeiten Sie die Datei /etc/security/limits.conf

* soft nofile 4096 * hard nofile 65535

Eine umfassende Liste finden Sie https://docs.wso2.com/display/ESB490/Network+and+OS+Level+Performance+Tuning

Verwandte Themen