作者ImprezaWRX (繼續收好人卡5000年)
看板Wikipedia
標題[心得] 維基媒體計劃的伺服器運作概況
時間Sun Feb 26 21:04:38 2006
維基媒體計劃的伺服器運作概況
維基媒體計劃, 基本上使用的是 MediaWiki (
http://www.mediawiki.org/ )
這套 PHP script. 而這套 script 需要有 PHP 語言及 MySQL.
理論上, 作業系統並無限制, 只要可以運作網頁伺服器(例如 Apache 或 IIS)
但大部份使用 PHP 及 MySQL 架站的人, 會以 Linux (或 FreeBSD)搭配 Apache
作為架站的平台.
維基媒體計劃, 由於瀏覽者眾, 且可人人線上編輯. 因此網頁伺服器及
資料庫伺服器的負擔較一般靜態網頁的網站還重. 為了降低上述兩伺服器的負擔,
維基媒體計劃的系統工程師採用了幾個方法:
[1]使用快取伺服器: 由於 php 是動態網頁語言, 因此每接到一次頁面存取需求
(access request), 便要以 webserver 內的 php 程式做 parse, 從資料庫
伺服器撈出需要的資料之後, 生成一個 html 檔的網頁傳送給瀏覽者,
這樣子會加重 CPU 的運算
負擔. 因此, 就要以快取伺服器來改善. 網頁經 php 生成出來以後,
若內容沒變動, 則會留存於快取伺服器. 如此使用者有同一網頁的 request
則不需要要再操勞到 Webserver, 而只要直接從快取伺服器抓出來傳送給
瀏覽者即可. 有效降低 webserver 的負載.
[2]運用叢集(cluster)技術: 叢集就是一堆相同工作的電腦的集合, 維基媒體
的工程師運用叢集, 將原本需集中於一部很好的伺服器的工作, 分成許多部電腦
分擔. 這樣可有效降低單一電腦的工作負載, 且做到了高可用性(High Availability)
這樣子當其中一部server掛掉之後, 系統不會全部都不能用.
[3]在世界各地架設 server: 目前維基媒體除了在美國佛州以外, 在歐洲的法國巴黎
以及荷蘭的阿姆斯特丹都設有伺服器, 在亞洲的南韓首爾也有(是Yahoo讚助的)
由於歐洲的維基人多(前十名語言排行, 除了日文以外, 幾乎是歐洲的語言)
所以在歐洲設了兩處 server, 以減少往美國的頻寬, 改善瀏覽速度.
在南韓設 server 也有同樣的目的. 維基媒體可以 DNS 等手法,
依瀏覽需求的來源, 將其導到該地區的 server. (只是怪的是, 卻不架設在條目數多
的德國與日本)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.153.208
→ ImprezaWRX:若有看不懂語意的地方, 請盡量發問... ^^""" 02/26 21:18
※ 編輯: ImprezaWRX 來自: 220.130.153.217 (02/26 21:25)
推 swds:第2點應該像是為了負載平衡而做的方式吧..個人猜的啦 02/27 08:48