2012-01-03 18 views
0

我有一個包含多個獨立節的頁面。數據將通過對數據庫的不同查詢填充到每個部分。

爲了降低頁面加載時間,我已經加載了每個部分的加載(遵循Amazon.com原理)。 爲了加載頁面的每個部分,我在我的頁面上調用$.ready()方法調用ajax,然後從數據庫中獲取數據。

在全部6個請求中,對完全生成段的(同一)服務器進行請求。 現在,我不確定是否每次請求頁面時都會發出6次請求,導致服務器負擔過重。有什麼建議麼?

(我使用Struts /休眠/ JSP/jQuery的)

回答

1

您可以隨時排隊你的Ajax調用,使他們在同一時間發生1。有jQuery插件,以幫助這一點:

http://www.protofunc.com/scripts/jquery/ajaxManager/

對我然而,6個呼叫似乎並不太壞,只要他們不產生大量的服務器活動(硬的數據庫查詢,文件處理等...)

+0

感謝您指向ajaxManager。 – 2012-01-03 05:49:41

0

或者,您可以在請求頁面後儘快啓動所有查詢,並將結果保存爲ajax調用。這需要服務器上的異步執行,並且您需要確保ajax響應程序也可以等待sql完成。

如果您查詢6個查詢中的幾個查詢中的相同數據,這可能是值得的。如果每個表的內容不同,這可能會起到反作用(取決於您的數據庫引擎和集羣體系結構)。但是,如果數據庫壓力和響應時間成爲問題,緩存技術和其他優化通常會更好(例如,memcache)。但是這又取決於你的數據庫引擎。