對於不斷成長的網站,推薦的 GlusterFS 配置是什麼?

對於不斷成長的網站,推薦的 GlusterFS 配置是什麼?

我有一個網站,平均每天的點擊量接近 5000 萬次,並且在接下來的 3 個月內每天的點擊量應該超過 1 億次。我們正在嘗試使用 GlusterFS v 3.0.0(最新補丁截至 2010 年 1 月 17 日)

目前,我們剛剛升級到一個負載平衡器環境,該環境具有 3 台實體主機和 6 個 Xen-Server 5.5u1 VM(每台主機 2 個)來提供網頁流量。每台機器有 6 個 Raid-6 本機儲存磁碟機 (7200RPM-SATA)。我們使用的舊機器有 1 個鏡像 SAS 10k 驅動器。

我們目前也設定了 3 個磚塊的 GlusterFS,每台主機上一個,它為 6 個虛擬機器作為客戶端提供服務。在測試中,一切似乎都很好。然而,當我們投入生產時,似乎沒有足夠的 I/O 來服務流量,甚至超過 1500 萬次點擊。幾週前,我們的舊伺服器能夠處理最大流量 20M。

對於這樣的應用程序,是否有任何推薦的配置,或者需要注意的事項在 gluster.org 上的文檔中對於我們這樣規模的網站來說並不明顯?

答案1

沒有寫入快取(?)的 6x7.2krpm 磁碟機的 RAID-6 將具有糟糕的寫入效能非常糟糕,如果您的應用程式有一個健康的組合,它可能會使磁碟陷入足夠的效能,從而真正影響讀取效能。我的意思是,實際上,您在該陣列的 80/20 讀/寫分割中看到了大約 250 個隨機 iops。如果您每秒執行數百個 http 請求,那麼像 apache 存取日誌這樣微不足道的事情就會像 DoS 攻擊一樣陷入困境。

如果可以的話,將其重做為 raid10。它會消耗一些原始空間,但會對 I/O 效能產生巨大影響。如果您可以在 raid 卡上獲得電池支援的寫入緩存,則會產生很大的差異。

我對 glusterfs 特別不熟悉,但所有分散式檔案系統往往都有相同的基本問題,網路延遲 + 複雜的鎖定 = 效能差,特別是在小檔案和大量寫入工作負載上。

緩慢的磁碟 I/O 和緩慢的檔案系統,這種叢集設計根本不適合工作負載。現在歸還伺服器或至少歸還磁碟子系統是否為時已晚?如果這是一家高收入公司的主要平台,您確實應該聘請專業人士。

答案2

您透過什麼媒體傳輸 GlusterFS 流量?如果是以太網,由於 TCP/IP 的開銷,您的設定將受到嚴重限制。 GlusterFS 並不是最有效率的。它真正的亮點在於 RDMA。您可以使用 Infiniband 或 10GigE 來實現這一點。

我也有點不清楚為什麼你決定在每個實體主機上放置 2 個虛擬主機(如果它們都執行相同的職責)。為什麼不在裸機上運行它們並避免開銷?

答案3

您使用什麼版本的 GlusterFs? GlusterFS 3.0.0 是一個主要版本,具有許多改進,包括提高小檔案效能。

GlusterFS 中有許多效能轉換器,可以針對各種工作負載進行調整。例如,為了提高讀取效能,我們有預讀翻譯器,為了提高寫入效能,我們有後寫翻譯器。 io-cache 是另一個可用於快取的效能轉換器。

您的設定是什麼類型?您使用複製還是分發或兩者都使用?你的網路後端是什麼?您是否對新舊伺服器之間的網路/磁碟 IO 進行了基準測試以消除瓶頸?

如果您可以與我們共享您的捲文件,我們可以幫助您調整配置文件,以獲得工作負載的最佳效能。

僅供參考,我們提供 30 天免費試用支援訂閱[1],您可以在其中快速、深入地回答您的問題。

乾杯,佐知

[1]http://www.gluster.com/products/Trial.php

答案4

如果沒有更深入地了解您的設定(例如,您的網站是靜態的還是動態的?資料庫事務是否在使用相同儲存子系統的伺服器上進行?),但RAID 6 對於寫入效能通常是一個糟糕的選擇,更不用說當您引入更多複雜性時通過光澤。您可能正在進行兩組寫條帶轉換,一組在 gluster 級別,一組在控制器級別。然後,您需要進行兩次奇偶校驗計算,這會減慢速度並導致 I/O 阻塞,除非您有較大的寫入快取且 I/O 活動較低。

我建議您切換到 RAID 10,並使用光纖通道或多個綁定的 GigE 連結來支援它。

相關內容