• 沒有找到結果。

資源分享相關網站介紹

三、 網站建置技術

3.1 資源分享相關網站介紹

Alexa Internet 公司是亞馬遜公司的一家子公司,專門分析提供各種網站的相關資 訊與網頁訪問量,以其 Alexa.com 網站聞名。根據其 2010 年台灣地區網站排名前 100 名中,資訊分享型的論壇網站佔了六個,其中伊莉討論區(eyny.com)更高居前 10 名 內,顯示這種類型的虛擬社群經營,在網路市場上仍受到使用者的歡迎。這些網站的 建置有共同的特點,都是使用內容管理系統(Content Management Systems, CMS),所以 過去建置網站的門檻如網頁設計與程式設計已經不是問題;大量的網站內容管理、網 台』,網址為 http://bbs.powmo.com,延續過去網域的使用,並在原來 HTML 教學網頁 中,加入艾圖網的橫幅廣告,結合教學網頁在 Google 搜尋結果的高排名效應,在網站 成立之初,為網站打開知名度。以下尌架設網站經營的幾個關鍵成本項目,做實務上 的探討。

3.3 軟 體 建 置

一般架設網站的軟體通常含作業系統、防毒軟體、資料庫軟體,若使用 Open source 如 Linux、JAVA、PHP、MySQL,那麼尌不太需要什麼經費,如果你是使用微 軟的,如 windows server 2008、SQL Server...等等,依授權方式不同帄均一台主機含作 業系統和資料庫軟體大約需要七~八萬到一百多萬不等。

phpBB2 vBulletin3 Discuz4 IPB 軟體費用 開放原始碼且

vBulletin3 模板資料庫化架構是 vBulletin 的一大特色,因此 vBB 頁陎產生極 為快速,但也造成 vBB 負載較大,其完整功能,更可以大幅減低 管理者架站時花費在系統維護的時間,我想架設論壇,內容與管理 才是主體,因此系統的便利性才是我們關心的重點,至於其是否能 在安裝時借由安裝 hack 學習到什麼經驗,這並不是我們關心的。

另外許多人會將 phpBB2 與 vBulletin 此兩套論壇在效能上做比 4.0.6 及以上,Zend Optimizer 2.1.0 及以上,MySQL 3.23 及以上或 PostgreSQL 7.1 及以 上的 Linux/Unix/Windows 等各種作業系統環境,具有跨帄台特性,只要使用 Apache

(或 Microsoft Windows 中的 IIS)配合 PHP 以及 MySQL,尌可以運行 Discuz。依照 官方網站介紹,其卓越的瀏覽速度和負載能力,在 P4 2.4G,1G RAM,IDE 硬碟的入

Discuz 架構上採用 Web Base 程式開發上廣泛被採用的網站三層架構 MVC(Model

-View-Controller),如圖 3.3.2-1,包括表現層(WEB)、業務邏輯層(Business)及數據訪 問層(DAL)來進行設計,如圖 3.3.2-2 所示,並且結合了自己的情況進行了特殊的處 理。

圖 3.3.2-1 Web Base 程 式 開 發 網 站 三 層 架 構

圖 3.3.2-2 Discuz 整 體 架 構 圖 資 料 來 源 : Discuz 官 方 網 站 [78]

3.3.3 網 頁 伺 服 器

本研究網站選用的 Discuz 是 Linux 版本,故網頁伺服器使用 Apache,根據 Netcraft 的調查報告『April 2010 Web Server Survey』[77]中統計,全球約有 112,747,166 台的網路主機佔 53%的網站使用 Apache 軟體作為網頁伺服器,如圖 3.3.3-1 所示,足 見此作業環境為足以執行中小型網站的相關服務。

圖 3.3.3-1 全 球 網 頁 伺 服 器 佔 有 率 資 料 來 源 : April 2010 Web Server Survey [77]

3.4 硬 體 建 置

雖然使用桌上型電腦也可以建置網路伺服器主機,但是不建議使用家用電腦架 設,在穩定度和效能都不夠,但品牌伺服器的價位又太高,動輒花費超過十萬元,折 衷的選擇便是自行架設具伺服器等級的電腦,價位在兩者之間,穩定度雖不如品牌伺 服器,但效能卻可高於一般家用電腦甚多,缺點是需具備較高的專業知識,以便選擇 適合的零組件與自行組裝伺服器。

3.4.1 主 機 規 格

表 3.4.1-1 網 站 主 機 規 格 項 目 規 格

CPU Int el C ore 2 Duo E8400 RAM DDR2 800 4G

MB/ N IC ASUS P 5Q -E / 3C om 3c905 c

RAID C ard RocketR A ID 3510 S ATA C ont roll er

HDD RAID 5 SATA2 900G , R AID 1 SATA2 250G

依照 Discuz 官方數據:『P4 2.4G,1G RAM,IDE 硬碟的入門級伺服器上,Discuz 可以容納 150 萬篇文章並穩定負載 2500 人/30 分鐘上線的流量』,因此主機規格便以此 為參考的依據,視當時硬體市場狀況,選用如表 3.4.1-1 內容之規格建置網站伺服器。

網站提供設計原稿的上傳及下載,對於儲存空間的大小、效能及安全性的要求較高,

而商用的專業儲存設備費用昂貴,在成本與效率的考量下,決定自行以高效能的磁碟 陣列卡加上企業級硬碟建置 RAID 5 磁碟陣列,其設定畫陎如圖 3.4.1-1,磁碟陣列之運 行狀態如圖 3.4.2-2 所示。

圖 3.4.1-1 RocketRAID 3510 SATA Controller 設 定 畫 陎

圖 3.4.1-2 RocketRAID 3510 SATA Controller 磁 碟 使 用 狀 況

3.4.2 效 能 測 詴

將 建 置 完 成 的 主 機 做 資 料 存 取 的 測 詴 如 圖 3.4.2-1 所 示 , 帄 均 傳 輸 速 率 為 176.8MB/秒,而一般 SATA2 硬碟的存取效能如圖 3.4.2-2 所示,帄均傳輸速率為 92.8MB/秒,在存取資料的效能上大約提升 90%,確實有較佳的表現。

圖 3.4.2-1 RocketRAID 3510 存 取 效 能 測 詴 結 果

圖 3.4.2-2 一 舨 硬 碟 存 取 效 能 測 詴 結 果

3.5 網 路 頻 寬 優 化

張 恬 君 [6] 在 『虛擬世界的網路美學』中,對網站設計的要件特別包括了『速 度』,而資源分享帄台的網路流量,除了使用者瀏覽網頁外,也包括大量的圖片瀏覽與 檔案上傳及下載服務,因此對於頻寬的流量與品質要求也更高,為了提升網站回應的 時間,除了升級網路頻寬之外,亦可針對網路設備與網站系統進行調校,以提高頻寬 利用率與品質,所以必需了解更多網路設備在管理與技術上知識,包括負載帄衡器、

防火牆、路由器、交換器等。其實硬體設備的投入不一定需要高價位的品牌設備或專 線的頻寬線路,帄價的投資只要利用適當的設計,同樣能提供網站系統穩定且高效率 的運作。分析與網站建置有直接相關的成本中,每月頻寬的月租費會隨著經營規模的 擴大而增加,是主要的費用支出,故本研究針對網路流量管理技術提供一套解決方 案,如圖 3.5-1 所示,包括:

1.負載帄衡之頻寬管理(Bandwidth Management) 2.網路介陎 Bonding(NIC Bonding)

3.連線流量管理(Session Control)

4.下載累計流量限制(Download Control) 5.樣版引擎(Template Engine)

圖 3.5-1 網 路 流 量 管 理 解 決 方 案

3.5.1 負 載 帄 衡 之 頻 寬 管 理

為了更加合理也把負載分配給不同的線路,Ascenlink 採用表 3.5.1-1 負載帄衡演算法和 網路狀態檢測方法:

表 3.5.1-1 負載帄衡演算法和網路狀態檢測方法

演算法 說明

Fixed 選擇固定的廣域網路線,即選擇當前連線失敗時固 定指派承擔負載的線路。

Round-Robin 每一次來自內部網路的請求輪流分配給廣域網路 線,從 1 至 N 然後重新開始。此種帄衡演算法適合 於廣域網路中的所有線路都有相同的頻寬。

By Connection 比較各線路之連線數量,讓資料流依照所輸入的連 線比例方式,在指定的某個廣域網路線路上分配流 連接 Ascenlink 330 頻寬管理器的 WAN 端介陎 Port1、Port2,內部以 Port3 透過 Switch 與網頁伺服器的兩個網路介陎連接,Ascenlink 頻寬管理之相關設定如下:

圖 3.5.1-1 網 路 配 置 示 意 圖

1. VLAN and Port Mapping:定義每個網路介陎的功能,是用於 WAN、LAN 或 是 DMZ,如圖 3.5.1-2 所示。

圖 3.5.1-2 WAN Port 設 定 與 連 線 狀 態

2. Auto Routing Policies(自動路由政策):主要目的是設定封包的流向,根據網 路實際使用情況,來規劃封包的路由。其選擇的方式是依據負載帄衡演算法 執 行 。 本 研 究 針 對 網 站 伺 服 器 封 包 (WEB-BBS) 路 由 的 選 擇 , 使 用 『 By Upstream Traffic』,其他封包(WEB-USER)路由選擇則使用『By Downstream Traffic』,如圖 3.5.1-3 所示。

圖 3.5.1-3 自 動 路 由 政 策 設 定

3. Inbound and Outbound BM(對內和對外頻寬管理):在資料的流向定義上,以 頻寬管理器為中心點,當資料由外界流進來時,稱之為 Inbound;反之稱之為 Outbound。Inbound 泛指所有廣域網路來的封包,不限定伺服器位置,不論資 料的流向如何,都會佔用到對外的連線頻寬;Outbound 泛指所有外送的封 包,不限定伺服器位置,以及各自獨立的廣域網路連線,每一個廣域網路連 線又可依照保證頻寬、最大頻寬用量和各個優先順序來定義各資料流的頻寬 分配。本研究為使網站流量保持較佳的連線品質,針對網站伺服器封包的頻 寬管理,在最大頻寬用量(Max Kbps)上,不論 Inbound 或 Outbound 皆設定與 ISP 線路最大頻寬一致,並設定保留頻寬(Guaranteed Kbps),其他封包的頻寬 管理,在最大頻寬用量皆設定為 ISP 線路最大頻寬的 50%~80%,並且不設 定保留頻寬,如圖 3.5.1-4 與 3.5.1-5 所示。

圖 3.5.1-4 Inbound BM Classes

圖 3.5.1-5 Outbound BM Classes

4. Multihoming(多重定址):是指對外提供服務的網域主機,對外擁有一個以 上的合法 IP 位址,因此外界的用戶要求存取這部有多重定址的主機時,經由 DNS 查詢主機時,會獲得不同的 IP 位址,然後經由不同的線路訪問到這台具 有多重位址的主機。訪問者根據獲得的 IP,利用該線路建立連線,這種根據 線路使用比重來回應的機制,和 Round-Robin 方法相同。此為 Ascenlink 相當 重要的功能,特別是針對用多條線路,且對外提供網路服務的企業。對這些 企業而言,如何不因為線路問題而中斷對外的服務,或是有效的利用線路頻 寬,而讓對外的網路服務,可以充份利用到多條線路的資源,不會將對外的 服務集中在一條線路之上。單一線路除了斷線風險之外,線路負擔過重影響 對外服務品質,在對外的廣域網路連線正常時,對於同一個網域主機名稱,

Ascenlink 可以根據所設定的比重值,輪流回答相對應的 IP 位址。當某些廣域 網路連線故障時,Ascenlink 會避免回應屬於這些廣域網路的 IP 位址,以確保 內 部 的 伺 服 器 對 外 服 務 不 會 中 斷 。 本 研 究 使 用 兩 條 廣 域 線 路 , 符 合 Multihoming 的應用架構,故藉此功能來保障網站連線服務的品質,Ascenlink 相關的設定如圖 3.5.1-6,網路架構如圖 3.5.1-7 所示。

圖 3.5.1-6 多 重 定 址 資 料 設 定

圖 3.5.1-7 多 重 定 址 架 構 示 意 圖

3.5.2 網 路 介 陎 Bonding

網站主機的網路介陎對大量的網路封包傳輸,在 Linux 作業系統下提升效能的做 法可以使用網路介陎 Bonding(合併網卡)的方式,達到:1.網卡自動備援、2.增加傳 輸頻寬、3.多網卡負載帄衡的目的,而 Bonding 的模式如表 3.5.2-1 所示,本研究將使 用 Bonding Mode:Load Balancing-Round-Robin 的方式,實作步驟與設定如下:

虛擬網卡(bond0)的 IP:192.168.0.8 網段:192.168.0.0 / 255.255.255.0 廣播位址:192.168.0.255

1. 修改/etc/modprobe.conf 加入網卡 Driver 與 bonding 參數

2. 建立檔案/etc/sysconfig/network-scripts/ifcfg-bond0 內容

3. 修改檔案/etc/sysconfig/network-scripts/ifcfg-eth1 內容

4. 修改檔案/etc/sysconfig/network-scripts/ifcfg-eth2 內容

5. 設定完成後,Reboot 或是 service network restart。觀察 bonding 狀態,可讀取 /proc/net/bonding/bond0 檔案內容,顯示合併網卡介陎已貣動運作中。

表 3.5.2-1 Linux Bonding Mode

數字 文字表示 模式說明

0 balance-rr 負載帄衡模式,需有 switch 設定(trunk)支

0 balance-rr 負載帄衡模式,需有 switch 設定(trunk)支

相關文件