Linux
適合大型 facebook 應用程序的伺服器架構?
我們是一組 3 名學生,我們創建了一個 Facebook 應用程序,現在擁有超過 753,320 個活躍使用者,應用程序託管在 LAMP 1 和 1 伺服器上:
- AMD Opteron 1352 4 x 2,1 GHz - 4 GB RAM. - 2 x 750 Go (RAID 1 Hardware). - Connection : 100 Mbps.
此應用程序執行良好,沒有任何問題。
我們正在準備一個新的應用程序,我們預計幾個月後會有數百萬活躍使用者。
應用資訊 :
- 用 PHP / MySQL 創建。
- 每個使用者每次使用至少可以執行 25 個查詢。
- 提供許多靜態文件(圖像、flash 文件、css、js)。
- 此應用程序包含 8 個部分,例如游戲、禮物等…
我們想知道這個應用伺服器的正確架構。
我們需要託管多少台伺服器?
如果我們在此伺服器上託管 php 文件:
- Intel® Core™ i7-920 處理器 4x2.66 GHz
- 12GB 記憶體
MySQL 遠端伺服器,並且每個伺服器上的靜態文件具有相同的配置。
應用程序每天可以處理數百萬個請求嗎?
- 您對這種應用程序有什麼建議?誰能告訴我建議架構的詳細資訊?
提前致謝。
關於 MySQL,
- mysqltuner是任何產品盒的必備工具。
- 慢查詢日誌將使您在通往性能更高的應用程序的道路上走得更遠。
- 打開正常日誌 (BRIEFLY) 可能是一件好事,然後對所有查詢執行 EXPLAIN 以確保您有正確的索引(無覆蓋、良好的基數等)
- 您是否在數據庫中保留會話?如果可以避免,請不要這樣做,但如果不能,請考慮使用 MEMORY 表。
- 在討論表類型時,請考慮每個表的實際使用情況。具有高讀/寫需求的事務表在 InnoDB 儲存引擎中可能會更好。主要是寫入或讀取的表可能最好用作 MyISAM。你也登錄數據庫嗎?考慮這些表的 ARCHIVE 引擎。