学习笔记: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原理以及优化点


分享到:


相關文章: