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