FastDFS性能调优 know how

2023-11-10

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 达到更好的运行效果,那就动手调整你的配置吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FastDFS性能调优 know how 的相关文章

  • com.github.tobato.fastdfs.exception.FdfsServerException: 错误码:2,错误信息:找不到节点或文件

    我的原因是因为docker中Tracker没有启动起来 xff0c 重新启动后系统正常
  • 阿里云服务器搭建fastdfs

    fastdfs安装介绍 环境准备 本人的阿里云服务器CentOS Linux release 7 9 2009 Core 版本 xff08 通过命令cat etc redhat release查看自己的Linux版本信息 xff09 过程中
  • FastDFS是如何解决数据一致性问题的?

    FastDFS是如何解决数据一致性问题的 本篇文章转载于 FastDFS 作者 余庆 大佬的 FastDFS分享与交流 公众号 保证数据一致性是分布式系统面临的最大难题 尤其是要做到数据强一致性 FastDFS 作为一款分布式文件系统 是如
  • 腾讯云服务器ubuntu18.04搭建FastDFS文件服务器

    腾讯云服务器ubuntu18 04搭建FastDFS文件服务器 FastDFS简介 FastDFS是用c语言编写的一款开源的分布式文件系统 FastDFS为互联网量身定制 充分考虑了冗余备份 负载均衡 线性扩容等机制 并注重高可用 高性能等
  • docker安装fastdfs

    1 搜索fastdfs docker search fastdfs 2 拉取镜像 docker pull morunchang fastdfs 3 运行tracker docker run d name tracker net host m
  • CPU占用高解决方案

    TOP 首先查看系统资源占用信息 TOP看一下 发现正在运行的JAVA项目CPU占用率很高 百分之200左右了 那么问题一定出在这个程序中 Ps mp pid o THREAD tid time 再通过ps命令查看这个程序的线程信息 tid
  • fastdfs特点

    FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站 视频网站等等 FastDFS为互
  • springboot-2.3.x最新版源码阅读环境搭建-基于gradle构建(全网首发)

    springboot 2 3 x最新版源码阅读环境搭建 基于gradle构建 全网首发 文章目录 springboot 2 3 x最新版源码阅读环境搭建 基于gradle构建 全网首发 一 前言 二 环境准备 三 下载源码 四 开始构建 五
  • docker安装fastdfs

    一 准备docker环境 二 搜索fastdfs镜像 三 拉取镜像 docker pull delron fastdfs 选取delron fastdfs镜像的原因是包含了nginx不用自己安装nginx转发 也可以选择qbanxiaoli
  • FastDFS安全注意事项

    FastDFS安全注意事项 本篇文章转载于 FastDFS 作者 余庆 大佬的 FastDFS分享与交流 公众号 对于互联网应用 FastDFS 的标准使用姿势 通过 FastDFS API 进行文件上传等更新操作 storage serv
  • Docker搭建FastDFS

    Docker搭建FastDFS 1 搜索镜像 docker search fastdfs root localhost data docker search fastdfs NAME DESCRIPTION STARS OFFICIAL A
  • tomcat堆栈中10大常见线程详解

    Tomcat作为一个服务器来讲 必然运行着很多的线程 而每一个线程究竟是干什么的 这个需要非常的清楚 无论是打印断点 还是通过jstack进行线程栈分析 这都是必须要掌握的技能 本文带你基于Tomcat7 8 9的版本 识别Tomcat堆栈
  • Ubuntu下安装并配置FastDFS

    FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站 视频网站等等 FastDFS的项
  • FastDFS分布文件系统Java客户端使用

    原文链接 http blog csdn net xyang81 article details 52847311 FastDFS分布式文件系统服务安装和使用请参考上一篇文章 FastDFS分布式文件系统安装与使用 单节点 担建环境 官网Ja
  • ubuntu 安装Fastdfs

    安装fastdfs依赖插件libfastcommon 下载 https github com happyfish100 libfastcommon archive V1 0 39 tar gz 创建 usr local software 目
  • kafka性能参数和压力测试揭秘

    上一篇文章介绍了Kafka在设计上是如何来保证高时效 大吞吐量的 主要的内容集中在底层原理和架构上 属于理论知识范畴 这次我们站在应用和运维的角度 聊一聊集群到位后要怎么才能最好的配置参数和进行测试性能 Kafka的配置详尽且复杂 想要进行
  • FastDFS文件同步机制简介

    FastDFS文件同步机制简介 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 FastDFS 文件同步采用 binlog 异步复制方式 storage server 使用 binlog 文件记录文件上传
  • 使用docker搭建FastDFS文件系统

    使用docker搭建FastDFS文件系统 1 拉取fastdfs镜像 docker search fastdfs 这里要选择 delron fastdfs 镜像 docker pull delron fastdfs 2 启动容器 2 1
  • 热敏电阻测温

    热敏电阻器主要分为 PTC 和 NTC 正温度系数热敏电阻器 PTC 在温度越高时电阻值越大 负温度系数热敏电阻器 NTC 在温度越高时电阻值越低 它们同属于半导体器件 测温的热敏电阻一般为NTC 其主要参数有以下几个 标称阻值 标称阻值是
  • 性能优化——设计更优的分布式锁?

    那什么是分布式锁呢 它又是用来解决哪些问题的呢 在 JVM 中 在多线程并发的情况下 我们可以使用同步锁或 Lock 锁 保证在同一时间内 只能有一个线程修改共享变量或执行代码块 但现在我们的服务基本都是基于分布式集群来实现部署的 对于一些

随机推荐

  • 关键路径求法

    关键路径概念 在无回路的有向网络中 假设只有一个入度为0的顶点 称为源点 和一个出度为0的顶点 称为汇点 则从源点到汇点之间的最长的路径称为关键路径 AOE网 无回路有向网络可以用来表示一个包含多项活动的工程计划 有向边表示一项活动 边上的
  • 请教100位行业专家后,我总结出第三方支付“断直连”的8大疑问!

    2018年4月11日 央行行长易纲在博鳌亚洲论坛上表示 中国的第三方支付是走在世界前列的 但行业在发展过程中也出现了一些风险 如何在有效防范风险的同时鼓励竞争 鼓励创新 这是一个挺难解的题目 要做好平衡 断直连 监管细则已经落地 市场格局和
  • mysql 配置多个数据库连接_SpringBoot和Mybatis配置多数据源连接多个数据库

    目前业界操作数据库的框架一般是 Mybatis 但在很多业务场景下 我们需要在一个工程里配置多个数据源来实现业务逻辑 在SpringBoot中也可以实现多数据源并配合Mybatis框架编写xml文件来执行SQL 在SpringBoot中 配
  • 浅谈ChatGPT在一个IT运维人眼中的日常使用场景

    前言 其实AI的概念已经存在了十多年 包括在运维领域 也从传统运维演化到了所有AIOps的概念 但一直以来对当前的AI并不是太看好 始终觉得当前的AI只是停留在 撞库 从海量的库里去匹配关键字触发语句 所谓的 小爱同学 小度小度 包括Sir
  • 高内聚与低耦合实现小记

    总所周知 实际软件开发中要实现高内聚 低耦合的设计原则 c语言和c 不同 c语言面向过程 c 面向对象 真正的项目中 要对业务升级 原来的业务函数需要保留 要保证老的功能继续维持 不能直接删除 这时候 c语言面向过程 通常使用回调的方法 c
  • 为什么面试狂问Redis,阿里面试官把我问到哑口无言…

    Redis在国内各大公司都很热门 比如新浪 阿里 腾讯 百度 美团 小米等 Redis也是大厂面试最爱问的 尤其是Redis客户端 Redis高级功能 Redis持久化和开发运维常用问题探讨 Redis复制的原理和优化策略 Redis分布式
  • Delegate总结

    关于Delegate已经写了很多 现总结如下 一 一条线是观察delegate从 net framework 1 1 到目前为止4 5的变迁 例如如果你用delegate来模拟事件 你需要自己 Add member to the invoc
  • 辅助信息服务器,我开启了辅助核算 要去哪里增加新的辅助信息?

    亲 您好 亿企代账提供三种辅助核算 应收账款 预收账款科目启用 客户 核算 应付账款 预付账款科目启用 供应商 核算 库存商品 原材料等科目启用 存货 核算 如果需要增加辅助信息 可按以下两种方法操作 方法一 在 设置 辅助设置 客户 处添
  • vue函数定义的多种写法

    vue定义方法 methods a e c alert aaa a e c alert aaa a function e c alert aaa 在JS中箭头函数根据是否书写大小括号可分为以下四种情况 不省略 const fun value
  • RocketMQ Rebalance流程分析

    这节介绍Rebalance流程 在介绍Consumer消费消息流程前 先介绍Rebalance得流程 该过程涉及到Consumer的启动 之前介绍过 Topic是一个逻辑概念 Topic下可以划分多个Queue以增加Consumer消费的并
  • react+antd+vscode的运行环境搭建

    初学者 在学着做一个前端项目 有时候要换新电脑 或者重装系统 前端代码就不能用了 解决时候总是忘记还遇到麻烦 记录一下 按步骤来吧 也不知道对不对 先这样用着 1 下载vscode 就去官网下就完事 好像点下载会根据电脑的系统版本位数啥的下
  • 接口测试&管理续集

    今天应大家需要 接着谈app端数据返回层面的用例设计方法 第二部分给大家安利一个 接口管理平台 以帮助大家解决接口文档维护 接口测试数据Mock 接口自动化测试等问题 希望对小伙伴们有用 言归正传 进入今天的话题 一 用例设计 查漏补缺 数
  • Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介

    点击上方 Python共享之家 进行关注 回复 资源 即可获赠Python学习资料 今 日 鸡 汤 折戟沉沙铁未销 自将磨洗认前朝 大家好 我是黑脸怪 这篇文章主要给大家介绍jsrpc 方便大家日后在遇到JS逆向的时候派上用场 前言 jsr
  • Unity编辑器拓展(一)实现快速制作书本效果插件

    目录 前言 自定义窗口实现使用的方法 效果演示 前言 Unity自定义书本编辑器窗口 书本功能实现参考教程 Unity代码实现翻书效果 自定义窗口实现使用的方法 EditorWindow GetWindow EditorGUILayout
  • 数据库学习(6)MySQL数据库DDL——索引

    MySQL数据库DDL 索引 创建索引 添加与删除索引 索引的使用原则 数据排序的好处 一旦数据排序之后 查找的速度就会翻倍 现实世界跟程序世界都是如此 创建索引 CREATE TABLE 表名称 INDEX 索引名称 字段 注 排序方法为
  • ToDesk远程控制

    实现远程控制有多简单 https www todesk com download htmlhttps www todesk com download htmlhttps www todesk com download html 电脑浏览器打
  • vue-pdf使用+分页预览+第一查看正常,第二次查看空白解决方案

    重点提示 全网通用pdf查看的功能都是使用vue pdf这个插件 除了各种坑外 最致命的一点就是 它的npm包有一个Bug 在第一次查看之后 再次查看 页面会空白并报错 Error during font loading Failed to
  • jsp、freemarker、velocity、thymeleaf页面方案分析

    1 概述 在java领域 表现层技术主要有三种 1 jsp 2 freemarker 3 velocity 4 thymeleaf 2 jsp 优点 1 功能强大 可以写java代码 2 支持jsp标签 jsp tag 3 支持表达式语言
  • Kattis Doors

    Problem open kattis com problems doors vjudge net contest 183886 problem B Reference 点到线段的最短距离算法 Meaning 有两个球 Alex 和 Bob
  • FastDFS性能调优 know how

    FastDFS性能调优 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 众所周知 软件性能调优不是一撮而就的事情 它是一个反复磨合的过程 下面介绍FastDFS 几个性能调优相关的重要参数 供大家参考 1