Filesystems
GlusterFS 替代文件上傳網站
我有幾個文件上傳網站,文件從數百千字節到幾千兆字節不等。
目前,我在幾台伺服器上的分佈式複制 Gluster 卷中擁有所有文件。
Gluster 最大的問題是速度。
例如,我有一個包含約 80,000 張圖像的文件夾,每個圖像平均 500KB,我花了幾個小時來更改圖像的所有者。
目前一切都相當不錯,但我擔心有更多的文件以及處理它們所需的時間。
我有什麼選擇?我對 Gluster 做錯了嗎?
這是我的 gluster 配置:
performance.cache-size: 1GB performance.cache-refresh-timeout: 60 performance.cache-max-file-size: 100KB cluster.choose-local: true performance.readdir-ahead: on performance.io-thread-count: 16 client.event-threads: 3 server.event-threads: 3
任何分佈式文件系統在對大量文件執行批處理操作時都會受到影響:畢竟,它必須將所有更改傳播到遠端機器,與僅本地主機相比,延遲會飆升。這在執行元數據更改操作時尤其明顯:不接觸真實數據,它們在本地非常快;但是,遠端複製將完全受延遲限制。
您基本上有兩種解決方案:
- 使用文件共享方法,將文件上傳到特定的盒子並通過 NFS 導出。雖然 NFS 不是靈丹妙藥(也不是速度怪物),但當與客戶端記憶體結合使用時,它可以充分發揮作用
- 使用非同步文件複製系統作為
lsyncd
(或基於rsync
)