學習筆記:Fastdfs原理以及優化點

概述:

C語言編寫的開源分佈式文件系統,充分考慮了冗餘備份,負載均衡,線性擴容等機制,並注重高可用,高性能等特點。1tracker+18storage,最終達到下載1.5g/s

組件:

1、Client客戶端

可調整線程數,實踐證明fastdfs下載是客戶端直連storage進行,不建立長連接,使用池化操作沒用,而且性能還差了。注意及時釋放連接。

2、Tracker跟蹤服務器

主要做調度工作,起到均衡的作用;負責管理所有的storage server和group,每個storage在啟動後會連接 Tracker,告知自己所屬 group 等信息,並保持週期性心跳。多個Tracker之間是對等關係,不存在單點故障,關鍵配置參數:

Max_connections(最大連接數,包括客戶端的讀寫連接,根據系統併發要求調)

Accept_threads(負責接收客戶端請求的線程數)

Work_threads(負責處理客戶端請求的連接數,這裡只負責解析應該去哪個storage去上傳下載圖片)

3、Storage存儲服務器

主要提供容量和備份服務;以 group 為單位,每個 group 內可以有多臺 storage server,組內的storage server上的數據互為備份,關鍵配置參數:

max_connections(最大連接數,默認256),

accept_threads(接收客戶端連接的線程數,默認1,適當放大可改善storage處理連接能力,根據cpu核心數量調)

Work_threads(工作線程數,用來處理網絡IO,默認4)

Disk_reader_threads(讀取磁盤的線程數)

Disk_writer_threads(寫磁盤線程數)


學習筆記:Fastdfs原理以及優化點


分享到:


相關文章: