簡體   English   中英

PHP MySql - 每個頁面加載中的最大查詢數

[英]PHP MySql - Maximum number of queries in each page load

我的應用程序平均有2000個在線用戶,這是一個非常多的頁面加載。 我的問題是我可以在每個頁面加載多少個mysql查詢? 因為我的應用程序需要加載大量數據。

我的數據庫可能會崩潰嗎? 還是我的服務器?

_ ____一些信息_ ____
內存限制:60Mb
並行流程:15
腳本執行時間:30 seg
DB:MySQL5(1Gb)

結構:在結構中,所有表都非常好地相互連接。 所有95%的字段都是INT類型(與FOREIGN和PRIMARY鍵相關)。 共有14張桌子。 總共有32個INT字段和6個TEXT字段。

如果我無法在我的服務器上安裝應用程序,有什么其他方法可以緩存我的數據,該怎么辦?

如果你有這樣的負載,你應該開始考慮設置某種緩存 - 所以請求只會命中一次DB。

我對此的選擇將是Varnish

如果您有部分動態內容(例如用戶相關數據),則可以將其與Edge Side Includes一起使用

此外,嘗試通過聚合選擇條件來盡可能地優化查詢。 例如,首先 - 收集您需要選擇的所有ids ,然后 - 執行SELECT * FROM table WHERE id IN (...)

之后 - 您將能夠在服務器端使用結果,而無需打擾數據庫


編輯

如果您無法在主機上安裝任何應用程序 - 那么您應該繼續使用一個請求獲取盡可能多的數據,然后 - 使用數組。

並且索引字段也很重要 - 這將加快您的查詢速度。

對於此類加載,您可能希望設置多個具有復制功能的服務器,並在應用程序和MySQL服務器之間設置負載均衡器,以在多個實例之間分配讀取負載(並考慮緩存和優化查詢,如@thecatontheflat所示)。 它還有助於提高可用性(當一個數據庫服務器關閉時,其他人可能會占用它的工作份額)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM