2010-08-16 32 views
0

庫存應用程序內置四層模型,包括:基於小應用程序的圖形用戶界面;專有中間層(Tomcat Web應用程序); Oracle 10g存儲過程中的業務邏輯。數據存儲在Oracle 10g中。如何克服Tomcat Web應用程序中大量數據集的響應速度慢或內存限制?

問題:中間層設計用於事務性通信,而不是用於將大型數據集(10,000多行)移動到用戶界面或報告。該應用程序不會分隔搜索結果的大小,這意味着用戶可以執行搜索,將非常大的數據集返回到前端。這樣的請求會導致中間層對此請求以及其他併發請求做出緩慢響應,從而達到JVM堆內存的上限,並在最壞的情況下導致中間層崩潰。

任何關於最佳解決方案的建議/幫助/見解將不勝感激。 非常感謝。

回答

1

您需要限制從服務器返回的數據量。事實是,一次向用戶呈現10,000行沒有價值(沒有人可以消化它)。將它分成比例較小的一組,併爲用戶提供過濾機制以便能夠找到相關數據。
對於報告,您需要做一些奇特的查詢來生成最常見的臨時報告。您可能希望通過某種批處理機制脫機生成每日(或其他定期)報告,以便用戶在準備就緒後即可下載這些報告,這樣就不會影響事務處理。這些將通過一些其他機制(在您的應用程序服務器之外)生成並寫入Excel,PDF或其他文件格式供用戶通過鏈接下載

相關問題