2 Stimmen

BlazeDS Polling Interval auf 0 gesetzt: Unerwünschte Nebeneffekte?

Tl;dr: Einstellen der Polling-Intervall auf 0 hat meine Leistung einen enormen Schub gegeben, aber ich bin besorgt über mögliche Probleme nach unten die Linie.

In meiner Anwendung veröffentliche ich eine ganze Menge von unserem Java-Server auf unserem Flex-Client und veröffentliche dabei eine Vielzahl von Themen und Unterthemen.

Kürzlich haben wir eine Runde von Leistungsverbesserungen im gesamten System durchgeführt, und die Nachrichtenübermittlungsschicht hat sich als großer Engpass erwiesen.

Vor ein paar Minuten entdeckte ich, dass die Einstellung der Eigenschaft <polling-interval-millis> in unserer services-config.xml auf 0 dazu führte, dass veröffentlichte Nachrichten, auch wenn es viele davon gibt, vom Client fast sofort erkannt wurden, anstatt mit der Verzögerung von 3 Sekunden, die der Standardwert für polling-interval-millis ist, was offensichtlich enorme Auswirkungen hatte.

Ich bin also ziemlich zufrieden mit der aktuellen Leistung, nur bin ich etwas nervös wegen unbeabsichtigter Nebenwirkungen, die durch diese Änderung verursacht werden. Insbesondere mache ich mir Sorgen, dass sich unser Flash-Client stark verlangsamt und zu viel unerwünschter Verkehr entsteht.

Meine vorläufigen Tests haben diese Befürchtung nicht bestätigt, aber bevor ich die Änderung an unser Repository übertrage, hatte ich gehofft, dass sich jemand mit Erfahrung in diesem Bereich zu Wort meldet.

1voto

Cornel Creanga Punkte 5210

Leider ist Ihre Frage zu allgemein...es gibt keine Möglichkeit, eine spezifische Antwort zu erhalten. Ich werde unten einige Ideen schreiben, vielleicht sind sie hilfreich.

Eine Verringerung des Wertes von 3 auf 0 bedeutet, dass Sie neue Daten viel schneller erhalten. Wenn Ihr Flex-Client diese Daten verwendet, um komplexe Berechnungen durchzuführen, ist es möglich, dass Ihr Client langsamer wird oder veraltete Daten anzeigt (dies ist ein bekanntes Muster, siehe http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WS3a1a89e415cd1e5d1a8a18fb122bdc0aad5-8000Update.html ). Sie müssen verstehen, wie die Daten verarbeitet werden, und wahrscheinlich einige Kunden-Benchmarking durchführen.

Außerdem muss der Server mehr Anfragen bewältigen, und es wäre gut zu wissen, wie viele Anfragen pro Sekunde maximal bewältigt werden können. Dazu müssen Sie ein Tool wie Jmeter verwenden, um die maximale Kapazität Ihres Systems zu ermitteln. Danach können Sie einige Berechnungen anstellen, um herauszufinden, wie viele Anfragen pro Sekunde Sie haben werden, nachdem Sie das Intervall von 3 auf 0 reduziert haben, wobei zu berücksichtigen ist, dass die Anzahl der Kunden mit 10 % pro Monat zunimmt usw. usw.

Die Hauptidee ist, dass Sie einige Leistungstests für einige APIs durchführen und die Skripte speichern sollten, um zu sehen, ob Ihre zukünftigen Änderungen das System zu sehr verlangsamen. Ohne dies ist es ziemlich schwer zu beurteilen, ob es in Ordnung ist, Konfigurationsparameter zu ändern oder nicht.

1voto

mezmo Punkte 2391

Versuchen Sie es doch mal mit Long-Polling. Bei unseren Weblogic-Servern gibt es nur dann Probleme, wenn wir die Abfrage bis zu 5 Minuten laufen lassen, also halten wir sie auf 4 und geben ihr dann eine Sekunde Pause, bevor wir sie wieder starten. Wir haben insgesamt ein paar hundert Benutzer, von denen 60-70 den ganzen Tag über im Einsatz sind. Dabei ist zu bedenken, dass Sie sporadische Benutzeranfragen im Grunde in fast ständig verbundene Telnet-Sitzungen verwandeln. Je nach dem Browser, den die Benutzer verwenden, kann das auch Auswirkungen haben, aber insgesamt sind wir sehr zufrieden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X