Frage

Ich habe eine JSP, die zeigt, Daten von vielen Aggregationstypen. Z.B. Mit dem Markt, nach Kategorie, nach Servertyp, etc .. Was ich habe, ist die Daten, die von Verleger und Zeit. Publisher ist die detaillierteste Ebene der Daten in meinem Fall.

Jetzt ändert sich diese Daten auf jedem 1/2 Stunde. Die Anzahl der Daten pro einer halben Stunde ist fast 5K und alle auf einmal sehen Daten für 4 Stunden bis 24 Stunden. In diesen Fällen, wenn der Server wird die JSP Ladezeit erhöht sich schnell geladen. Ich habe versucht, und LRU-Cache mit LinkedHashMap zu verwenden, aber das scheint nicht die optimale Lösung als Leistung ist immer noch nicht gut.

Jede Idee, über die Datenstruktur zu verwenden würde geschätzt.

War es hilfreich?

Lösung

Sie können einen Cache-Tool verwenden, wie Ehcache .

Andere Tipps

Wurde Leistung, arm, oder haben sie eine niedrige Trefferquote? Manchmal ist ein Cachespeicher härter als nur direkt Ihre Daten abfragen. Dies gilt vor allem mit niedrigeren Trefferquoten.

Wenn es dauert 10 ms einen Cache-Treffer zu dienen, und 50 ms eine Cache-Miss zu dienen, und 20ms den Cache-Treffer zu speichern, dann sind Sie nur 20 ms für jeden Cache-Treffer gewinnen, so 200ms für 10 Treffer. Das hört sich toll, aber wenn man in Ablauf und Entwertung hinzufügen, nicht Cache ungültig zu erwähnen, Sie plötzlich an einem Punkt sind, wo es dauert mindestens 10 Treffern für jeden Fehl haben Cache nützlich sein.

Caching ist für Flashmobs, aber für Ad-hoc-Tools, viel Zeit kann es so viele Ressourcen verschwenden, wie es gewinnt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top