2016-06-15 19 views
1

Ich verwende Apache, eigentlich IBM HTTP-Server mit WebSphere-Plugin, als Reverse Proxy und Load Balancer vor meinen WebSphere Application Servern (derzeit 8.5.5).WebSphere Application Server Load Balancing lange Abfrageanforderungen

In der nächsten Zukunft muss ich lange Abfrage-Anfrage in einer massiven Weise verwenden, mit Zehntausenden von Anfragen zur gleichen Zeit aktiv. Auf der WS-Seite sollten die asynchronen Servlets meine Anforderungen erfüllen, aber ich habe Angst, dass das Thread-pro-Request-Modell von Apache der Hauptfaktor sein wird, der die Skalierbarkeit meiner Server begrenzt. Jede Anfrage verwendet einen Thread in Apache und einen TCP-Port, damit das WebSphere-Plug-in eine Verbindung zu WAS herstellen kann.

Gibt es eine Apache-Einstellung, die Ihnen bei dieser Architektur oder einer anderen Softwarelösung helfen kann, die als Reverseproxy für WAS verwendet werden kann und lange Abfrageanforderungen besser als Apache behandelt?

Danke

Antwort

4

Ihr Anliegen ist begründet. Diese Anfragen würden einige knappe Threads auf einem Apache-basierten Server binden, selbst wenn sie auf WAS ausgelagert wurden. Natürlich sind Threads in Apache nicht annähernd so knapp/teuer wie Threads im AppServer.

Ich vermute, dass Sie mit einigen Instanzen von Apache/IHS noch zu Zehntausenden kommen könnten. Normalerweise haben Sie nur ein paar tausend Threads, aber wenn Sie erwartet haben, dass alle die meiste Zeit im Leerlauf sind, scheint es 5000+ pro Instanz möglich zu sein.

Vollständig asynchrone Proxies wie WebSphere DataPower oder nginx oder Apache Traffic Server würden Ressourcen, die proportional zu # von (idle) Verbindungen sind, nicht wirklich verwenden.