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