FastDFS性能测试

转载 2016年10月14日 16:13:02

FastDFS简介

fastdfs是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,fastfd非常适用于基于文件服务的站点,例如图片分享和视频分享网站。

fastfds有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据。

跟踪和存储服务可以由1台或者多台服务器组成,同时可以动态的添加,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中,tracker服务是对等的。 存储系统由一个或多个卷(group)组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。


测试工具

本次测试使用FastDFS安装包中自带的工具进行测试,该工具是开源代码工具,可以根据自身情况进行修改。

测试步骤

测试前准备

自带的工具是没有编译过的源码,需要进行编译生成测试脚本

首先解压FastDFS安装包

1
$tar zxvf FastDFS_v5.03.tar.gz

进入测试脚本目录

1
$cd FastDFS/test


编译

1
$make && make install

如果编译报错,需要编辑一下Makefile文件,修改FastDFS的安装路径。


编译成功后应该是下面这样


修改客户端配置文件

1
$vim /etc/fdfs/client.conf

修改需要测试的tracker_server的ip和端口


执行测试

首先,需要生成测试用的文件,执行

1
$./gen_files


会分别生成5k、50k、200k、1M、10M、100M的文件各一个

默认情况下,测试upload会循环10次,那样客户端生成的tcp连接为10个。

我们可以通过修改源文件修改这个值。

修改test_upload.c

1
$vim test_upload.c


将常量PROCESS_COUNT 改为需要模拟的客户端tcp连接数,比如1000。

修改完后,需要重新编译一次

1
$make && make install

测试上传

修改测试上传的脚本

1
$vim test_upload.sh


将默认的10修改为需要模拟的数,比如100,这个数不能超过之前配置的常量1000。

执行脚本test_upload.sh进行测试

1
$sh ./test_upload.sh


执行完成后,会提示每个进程的用时,在当前目录下会自动生成一个upload目录用于存储测试数据。

查看结果

进入该目录。

1
$cd upload

执行

1
$../combine_result 10

后面的参数10需要跟脚本test_upload.sh中配置的一致。


测试结果中详细的记录了

第一部分,总共上传的文件数、成功上传的文件数、上传文件的成功率、上传文件所花的时间、平均用时以及每秒查询数(请求数)。

中间部分记录的是每种类型文件上传的个数。

最后一部分是磁盘IO速度以及服务端ip,总共上传数、总共成功数、用时、平均用时、请求速率、成功率。

下载和删除的测试方法一样,分别执行脚本

1
2
$sh ./test_download.sh
$sh ./test_delete.sh

即可,执行前记得修改相应的配置,需要注意的是,测试顺序一定是upload、download、delete,如果一开始就测试download,会提示找不到文件。

以上,为FastDFS的大致测试流程。

Fastdfs实战讲解

FastDFS是阿里公司推出的一款免费的文件管理系统,利用FastDFS可以有效的实现二进制资源文件的保存。同时利用此组件也可以轻松实现数据存储的扩充以及冗余备份机制。官方QQ群:612148723。
  • 2017年01月01日 20:30

TFS,FastDFS性能对比与分析

TFS,FastDFS对比 统一称存储元数据的为master server,存储文件的为slave server。 1)Master单点:TFS,FastDFS都不存在master单点问题...
  • lizhitao
  • lizhitao
  • 2013-06-29 22:06:34
  • 9233

HDFS和FastDFS的上传、下载效率对比测试

测试环境 测试使用的FastDFS服务器,HDFS服务器均在vmware虚拟机中搭建,HDFS的服务器直接由FastDFS服务器克隆而来,所以除了一个安装了hadoop,一个安装了FastDFS,其...
  • a519781181
  • a519781181
  • 2018-01-22 09:18:48
  • 394

FastDFS :提升磁盘IO性能的几个技巧

目前磁盘都是机械方式运作的,主要体现在磁盘读写前寻找磁道的过程。磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。读写速度快的磁盘,通常都带有较大的读写缓存。磁盘的寻道过程是机械方式,决定了其随机读写...
  • xiaofei0859
  • xiaofei0859
  • 2015-11-11 17:16:06
  • 2523

【FastDFS分布式文件系统之二】:FastDFS小文件上传性能测试及Python客户端上传操作

由于要对比swift上传小文件以及fdfs上传小文件的性能,故做性能测试。
  • lavorange
  • lavorange
  • 2016-03-08 19:29:55
  • 6103

FastDFS特性及问题思考

FastDFS是国人开发的一款分布式文件系统,目前社区比较活跃。系统中存在三种节点:Client、Tracker、Storage,在底层存储上通过逻辑的分组概念,使得通过在同组内配置多个Storage...
  • sinat_27186785
  • sinat_27186785
  • 2016-07-24 01:30:39
  • 3926

TFS和FastDFS使用

分布式系统的选型:       最近一个项目需要存储很多小文件,文件大小大约在200KB左右, 刚开始考虑是FastDFS和TFS,但是项目中需要用到异地备份的功能,FastDFS读写性能还是不错的,...
  • u014407826
  • u014407826
  • 2017-05-21 15:01:38
  • 2546

FastDFS概述

本篇文章是我上级老大所写。 留在这里为了不弄丢。 FastDFS是一款开源的轻量级分布式文件系统 纯C实现,支持Linux, FreeBSD等UNIX系统 类google FS, 不是通...
  • wallwind
  • wallwind
  • 2014-10-08 11:08:39
  • 19108

FastDFS压力测试

使用FastDFS安装包中自带的工具进行测试,该工具是开源代码工具,可以根据自身情况进行修改。 测试步骤: 自带的工具是没有编译过的源码,需要进行编译生成测试脚本 首先解压Fas...
  • xiaofei0859
  • xiaofei0859
  • 2016-10-13 18:32:23
  • 927

通过Nginx访问FastDFS文件系统并进行图片文件裁剪的性能测试和分析

前段时间公司的分布式图片文件系统(FastDFS)做了图片裁剪和缩放功能,并把缩放计算和FastDFS做了解耦 分离,前端用虚拟机作为图片文件缩放的访问代理层(Nginx Proxy),后端使用ngi...
  • xiaofei0859
  • xiaofei0859
  • 2016-10-14 14:19:21
  • 1247
收藏助手
不良信息举报
您举报文章:FastDFS性能测试
举报原因:
原因补充:

(最多只允许输入30个字)