2017-05-10 4 views
0

Ich verwende für meine Webanwendungsentwicklung primefaces 6.0/myfaces. Wir haben Anforderung, wo gleichzeitig 3000 Benutzer unsere Anwendung verwenden. Ich möchte nur für 3000 Benutzer wissen, was der param-Wert sein soll? Was sollten alle Faktoren berücksichtigen? Ich habe erlebt, wenn ich die Zahlanzahl verringere, bekomme ich viewExpiredException. wir haben diese Konfiguration in unserem web.xmlOptimiert: MyFaces: NUMBER_OF_VIEWS_IN_SESSION

<context-param> 
     <param-name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</param-name> 
     <param-value>128</param-value> 
    </context-param> 

``

Antwort

0

Diese 3000 Benutzer 3000 verschiedene Sitzungen haben wird, so ist diese Einstellung nicht relevant hier in diesem Sinne.

Wenn Sie eine AJAXical-Anwendung haben, dann ist im Grunde eine offene Seite = eine Ansicht. Erwarten Sie wirklich, dass Ihre Benutzer bis zu 128 offene Seiten gleichzeitig haben?

Sie sollten diese Einstellung tatsächlich verringern, wenn Sie viele Benutzer erwarten. Andernfalls riskieren Sie, dass der Arbeitsspeicher knapp wird, weil Sie zu viele Ansichten beibehalten. Ansichten können auf zwei Arten ablaufen: wenn die Warteschlange voll ist und eine neue Ansicht hinzugefügt wird oder wenn eine Sitzung abbricht. Bei einer so großen Warteschlange werden alle Ihre Ansichten gespeichert, solange eine Sitzung aktiv ist. Selbst wenn ein Benutzer die Seite vor langer Zeit geschlossen hat, wird seine Ansicht weiter gespeichert und der Speicher wird gespeichert.

All dies hängt von vielen Faktoren ab: Wie wichtig sind Memory Views, wie viel Speicher haben Sie auf dem Server, was sind die Surfgewohnheiten eines typischen Benutzers, wie hoch ist das Sitzungstimeout? Vielleicht können Sie zum Client wechseln Zustandsspeicherung. Vielleicht sollten Sie stattdessen Clustering und Lastenausgleich untersuchen.

+0

eine Seite = eine Ansicht? Wenn ich param-Wert = 8 auf der gleichen Seite setze, wenn ich 8 Mal klicke, bekomme ich viewExpiredException. – Raj

+0

@Raj, dann verwenden Sie wahrscheinlich nicht AJAX. Jedes Nicht-AJAX-POST erstellt eine neue Ansicht, genau wie jedes GET. Siehe http://stackoverflow.com/a/16050424/1341535. –

+0

Vielen Dank für Ihre Antwort !! – Raj