FastDFS性能调优

本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号。

众所周知,软件性能调优不是一撮而就的事情,它是一个反复磨合的过程。下面介绍FastDFS 几个性能调优相关的重要参数,供大家参考。

1. 最大并发连接数

配置文件:tracker.confstorage.conf

配置参数 配置描述
max_connections 缺省值:256,默认配置:1024

FastDFS 为一个连接分配一个 task buffer,为了提升分配效率,FastDFS 采用内存池的做法。FastDFS 老版本直接事先分配 max_connectionsbuffer,这个做法显然不是太合理,在 max_connections 设置过大的情况下太浪费内存。v5.04 对预分配采用增量方式,tracker 一次预分配 1024 个,storage 一次预分配 256 个。

task buffer 实际内存占用情况测算如下:

  • 改进前: max_connections * buffer_size
  • 改进后: 预分配buffer数 * buffer_size

使用 v5.04 及后续版本,可以根据实际需要将 max_connections 设置为一个较大的数值,比如 1024065535 甚至更大。

友情提示: 此时需要将一个进程允许打开的最大文件数调大到超过max_connections,否则 FastDFS server 启动会报错。

2. 工作线程数

配置文件:tracker.confstorage.conf

配置参数 配置描述
work_threads 缺省值:4

work threads 主要负责网络 IO 处理,一个线程通过 epoll 这样的机制处理若干个网络连接。work threads 理论上不会消耗太多 CPU,不建议配置得过大。

为了减少 CPU上下文切换的开销,以及不必要的资源消耗,不建议将本参数设置得过大。为了充分发挥出多个 CPU 的效能,系统中的线程数总和,建议不要超过 CPU 总数的 2 倍。

对于tracker server,公式为:

work_threads + 2 <= 2 * CPU总数

对于storage server,公式为:

work_threads + 1 + 本组storage server数 + (disk_reader_threads  + disk_writer_threads) * store_path_count  <= 2 * CPU总数

3. storage磁盘读写线程数

配置文件:storage.conf

配置参数 配置描述
disk_rw_separated 磁盘读写是否分离,缺省值为 true
disk_reader_threads 单个磁盘文件读取线程数,缺省值为 1
disk_writer_threads 单个磁盘文件写入线程数,缺省值为 1

注: 单个(或一个)磁盘对应storage server的一个store path。

如果磁盘读写混合,单个磁盘读写线程总数为读取线程数 与 写入线程数之和。

对于单盘挂载方式,磁盘读写线程分别设置为 1 即可。

如果磁盘做了 RAID,比如 RAID5RAID10,那么需要酌情加大读写线程数,这样才能最大程度地发挥磁盘 IO 能力。

4. storage同步延迟相关设置

配置文件:storage.conf

配置参数 配置描述
sync_binlog_buff_interval binlog buffer 写入磁盘的时间间隔,单位为 ,取值大于 0,缺省值为 60建议设置为 1
sync_wait_msec 如果没有需要同步的文件,对 binlog 进行轮询的时间间隔,单位为 毫秒,取值大于 0,缺省值为 200建议设置为 50
sync_interval 同步完一个文件后,休眠的毫秒数,缺省值为 0通常设置为0 即可。

为了尽快完成文件同步,将上述3个参数适当调小即可。

友情提示: 上面给出的 建议值 基本就是最佳实践了。

总结

通常 FastDFS 自带配置文件 tracker.confstorage.conf 中的默认配置就可以满足你的实际需求。如果你希望 FastDFS server 达到更好的运行效果,那就动手调整你的配置吧。

FastDFS性能调优 know how相关推荐

  1. hive性能调优实战pdf_Nginx 性能调优实战

    来自:Linux社区 1.Nginx运行工作进程数量 Nginx运行工作进程个数一般设置CPU的核心或者核心数x2.如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpui ...

  2. jvm调优工具_JVM性能调优监控工具jps、jstack、jmap、jhat、hprof使用详解

    来自:ITeye博客, 作者:Josh_Persistence 链接:https://www.iteye.com/blog/josh-persistence-2161848 现实企业级Java应用开发 ...

  3. ELASTIC SEARCH 性能调优

    ELASTICSEARCH 性能调优建议 创建索引调优 1.在创建索引的使用使用批量的方式导入到ES. 2.使用多线程的方式导入数据库. 3.增加默认刷新时间. 默认的刷新时间是1秒钟,这样会产生太多 ...

  4. OCM_第十二天课程:Section6 —》数据库性能调优_ 资源管理器/执行计划

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  5. Tomcat 和 JVM 的性能调优总结

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/enKbC Tomcat性能调优 ...

  6. JVM解读-性能调优实例

    2019独角兽企业重金招聘Python工程师标准>>> JVM性能调优 1 堆设置调优 年轻代大小选择 响应时间优先的应用:尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选 ...

  7. Java性能调优、LinkedIn容器部署、阿里移动性能调优——首届APMCon精彩演讲先睹为快...

    APMCon2016,在盛夏的8月等你. \\ 作为第一届APM垂直领域的技术大会,我们能拿出什么呈现给参会者? \\ 答案是,除了会场可以纳凉避暑之外,还有来自国内外顶级技术大拿带来的Java性能管 ...

  8. elasticsearch原理_ElasticSearch读写底层原理及性能调优

    ES写入/查询底层原理 1. Elasticsearch写入数据流程 客户端随机选择一个ES集群中的节点,发送POST/PUT请求,被选择的节点为协调节点(coordinating node) 协调节 ...

  9. “性能调优”坑惨了几十万程序员

    很多程序员觉得性能调优这块的JVM.Mysql不是什么大事,自己平时写代码写得好好的,不是很了解JVM好像也没什么的,认为得千万级甚至亿万级的大流量.大项目才用得上,其他一般场景根本用不到,直到遇见这 ...

最新文章

  1. UIPopoverController在ARC环境下用法注意
  2. 相关计算机专业的英语文献,英文文献及翻译计算机专业.doc
  3. 为什么我们从Angular 2迁移到Vue.js(为什么我们没有选择React)
  4. 牛客 - 建通道(思维)
  5. python操作SQL
  6. AcWing 503. 借教室
  7. 《A Point Set Generation Network for 3D Object Reconstruction from a Single Image》论文笔记_2D图像生成3D点云
  8. Netty使用kryo序列化传输对象
  9. win7系统激活(GPT分区)
  10. codevs 1044 拦截导弹
  11. 激活ltsb2016_WIN10 LTSB 2016电话激活步骤详解
  12. SCI收录期刊——航空航天学科
  13. html写的3d烟花带字幕,Three.js 3D烟花绽放动画
  14. 【网络】默认路由(路由黑洞,路由终结)
  15. iOS - MVC框架
  16. 支持向量机(SVM)、支持向量回归(SVR)
  17. Golang高性能日志库zap + lumberjack 日志切割组件详解
  18. 对计算机接口提出的新要求吗,2017年秋微机原理与接口技术
  19. 中国十大军工集团介绍
  20. 专利授权费用如何收取?

热门文章

  1. Lin-CMS(内容管理系统框架)
  2. 【建议收藏】css晦涩难懂的点都在这啦
  3. 伦敦奥运会,失败的奥运会
  4. ThreeJs场景、相机、渲染器、添加obj模型和删除模型
  5. 2023中国机器视觉领域最具商业合作价值企业盘点
  6. php 星座运势_星座运势示例
  7. 如何认识空间观、系统观和发展观,以及对GIS空间分析的作用
  8. 应用宝苹果版_U电共享充电宝苹果版下载-U电共享充电宝APP
  9. python网页优化_李亚涛:python辅助seo优化让你更轻松
  10. 我在计算机课上画图的英语,在计算机中画图 课件.ppt