Web 伺服器上的 Glusterfs
我想建構一個 HA Web 服務,我計劃在三個節點上使用 Glusterfs(副本 3)。
我的計劃是直接在 Gluster 節點上安裝 Web 伺服器。
這是一個可行的解決方案,還是有充分的理由使用專用的 Gluster 節點?
謝謝你。
P。
是的,您可以直接在您的 Web 伺服器實例上執行 GlusterFS 節點,但請記住,它可能會使用大量 CPU,從而從您的 Web 應用程序中佔用 CPU 資源。您應該測試您的應用程序,看看它是否有足夠的 CPU 和其他資源來執行與 GlusterFS 融合;如果沒有,您應該升級硬體或使用專用的 GlusterFS 節點。
這根本不是問題,請記住:
- 對於具有許多更改或鎖定機制(php 會話)的許多小文件,請使用NFS 掛載並閱讀有關鎖定和所有 nfs 掛載選項(如 fsc、rsize、wsize)的資訊,因為沒有內置故障轉移和/或負載平衡,所以您有花幾分鐘來部署CTDB有一個很好的關於安裝 NFS-ganesha 的資源可用
- 如果使用 fuse 客戶端(大文件),請使用backupvolfile-server進行故障轉移
- 做一些性能調整,這裡已經問過了
NFS/FUSE 速度
在另一個執行緒中,它說
根據我的經驗,性能差異很大。將我的 Web 應用程序從 FUSE 切換到 NFS 後,載入時間從 1.5 - > 4 秒減少到 1 秒以下。我今天也嘗試提取一些檔案,在 FUSE 上似乎需要 4-5 倍的時間
一個基準範例在這裡
提高 FUSE 速度:
在 gluster 郵件列表中,有 2 個關於使用負超時提高速度的提示 :
mount -t glusterfs -o negative-timeout=1,use-readdirp=no,log-level=WARNING,log-file=/var/log/glusterxxx.log 192.168.140.41:/www /var/www
mount -t glusterfs -o use-readdirp=no,log-level=WARNING,log-file=/var/log/glusterxxx.log 192.168.140.41:/www /var/www
所以這意味著只有 1 秒的負超時……在這個特定的測試中:./smallfile_cli.py --top /var/www/test --host-set 192.168.140.41 --threads 8 --files 50000 --file-size 64 --record-size 64
結果大約是 4 秒,定義了 1 秒的負超時,並且很多分鐘沒有負超時(我在等待 15 分鐘後退出)
和
PS:我已經發現,對於這個特定的測試,所有的區別都是由負超時=600 產生的,當刪除它時,它又要慢得多。