[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu

942 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
942
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu

  1. 1. Drupal 多伺服器手札 James Liu / 神の豚
  2. 2. 伺服器效能不足
  3. 3. 既然一台不行,那就兩台吧… 圖片來源:噗浪
  4. 4. 新伺服器環境
  5. 5. Apache Proxy / Load Balance• 統一的對外IP• 工作量的分配 – 實體Load balance可 調整分配比例• 即時切換過載伺服 器
  6. 6. Reverse Proxy / IP Patch• User -> www.cool3c.com -> 45.www.cool3c.com• Drupal 5:proxy-5.patch, ip.patch• Drupal 6:settings.php (bootstrap.inc)• 在settings.php修正 $_SERVER[‘HTTP_HOST’]
  7. 7. User picture / files • 自己來 – 寫個PHP通知其他人 – Rsync同步 • CDN Module (6 up) • 共用Files
  8. 8. MySQL Replication• 1 Master, 2 Slave• 分散Select負荷• Master很重要!
  9. 9. MySQL Replication 排除• 排除準則 – 經常更新 – Cache – Log• 目的 – 降低同步錯誤的發生 – 降低同步資源
  10. 10. db_url Patch• drupal_replication.patch – 讓系統支援Slave資料庫連結• 根據伺服器,讓程式直接對本機資料庫 存取• 修正資料庫連結錯誤,增加容錯率
  11. 11. 資料表強制導向• _db_query_is_slave _safe()• 導向準則 – 變動較低 – 大量Query – 使用Join• 目的 – 減少程式調整 – 方便整體控制
  12. 12. 負載量• Apache connection ↑• MySQL connection ↑ – Multi Master ?• 同一時間可處理的使用者變多了
  13. 13. 伺服器...….們• 伺服器掛掉也能繼 續運作• 二台->三台->… – 接受更多的服務 – 管理更多的電腦 – 規劃、統一的重要性
  14. 14. 感謝各位的收聽XD

×