2009-12-09 59 views
0

在我的網頁中,我需要顯示一些頻繁更新的信息。爲此,我使用ajax調用,並使用innerHTML在頁面中顯示它。我每3秒做一次ajax請求。在php頁面(ajax請求處理程序)中,我使用mysql_connect打開mysql連接,並在腳本的最後使用mysql_close關閉連接。但是由於重複的呼叫,服務器變慢了。有沒有其他解決方案?或者我該如何提高這個性能?服務器在ajax調用上變慢

回答

1
  • 每6秒進行一次查詢?
  • 確保您只返回-changed-數據,並應用diff而不是返回整個集合
  • 緩存儘可能最好,而不是每次都擊中數據庫(如果可能)。例如,如果數據頻繁更新,但對每個人都是相同的,那麼您可以每隔5秒查詢一次,並讓更新讀取緩存的值(將數據寫入磁盤,或者在您的設置中進行任何操作)
+0

雅,我想過緩存..但代碼就像一個跟蹤代碼,所有的記錄經常變化。任何其他方式? – binoy

1

你應該考慮Micro Optimization

而且你可能想用mysql_pconnect
沒有硬性需要每次關閉連接,讓您連接持久;腳本結束時關閉。

由於每3秒鐘發出一次呼叫,您的服務器主要變慢。如果可以的話,試着尋找替代方案。

+0

除了這個答案,嘗試從AJAX檢索您的數據作爲JSON,以防萬一html的數量太大,處理客戶端的輸出。 – yoda

+0

如果有更多的用戶數量,那麼給mysql_pconnect好嗎?此外,它返回的數據量是否會使服務器變慢? – binoy