文档章节

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

CoKing
 CoKing
发布于 2017/01/04 10:15
字数 1147
阅读 2677
收藏 0

测试环境

测试使用的FastDFS服务器,HDFS服务器均在vmware虚拟机中搭建,HDFS的服务器直接由FastDFS服务器克隆而来,所以除了一个安装了hadoop,一个安装了FastDFS,其他环境完全一致。

HDFS配置了集群环境,一主三从,但是只打开一台从节点服务器。

vmware的配置如下图:

测试主机(上述vmware、测试代码的运行环境)CPU、内存如下图:

编码层面,对HDFS和FastDFS客户端都做了一层封装以达到简化开发的目的,封装对性能的影响不大。

所有代码均在JDK1.6下编译和运行,使用JUNIT运行了测试代码,均在IDEA中完成测试。

HDFS和FastDFS均在部署完成后直接测试,未做任何优化。

当然最终的测试结果也仅供参考,毕竟不同的环境,优化手段对最终的结果影响还是很大的。

1、文件上传测试

25个小文件上传测试(最大文件30.2mb,最小文件13b)

HDFS测试如下:

测试结果:coast time : 13599ms

 

FastDFS下测试:

测试结果:coast time : 1949ms

 

318个图片上传测试(每个文件大小1mb左右)

HDFS下测试:

测试结果:coast time : 63460ms

 

FastDFS下测试:

测试结果:coast time : 9585ms

 

3个视频文件测试(每个大小700多mb)

HDFS下测试:

测试结果:coast time : 62092ms

 

 

FastDFS下测试:

测试结果:coast time : 58137ms

 

3个较大视频文件测试(每个2gb+,总共7.2gb)

HDFS下测试:

测试结果:coast time : 171743ms

 

FastDFS下测试:

测试结果:coast time : 131861ms

 

 

2、文件下载测试

25个小文件的下载测试

HDFS 下载25个小文件 coast time : 13008ms

FastDFS下载25个小文件 coast time : 1218ms

 

318个图片的下载测试

HDFS 下载318个图片 coast time : 24942ms

FastDFS 下载318个图片 coast time : 7051ms

 

3个视频文件下载测试(单个700mb)

HDFS下载视频coast time : 69266ms

FastDFS 下载视频 coast time : 36144ms

 

 

3个较大视频下载测试(单个2gb)

HDFS下测试:

测试结果:coast time : 192315ms

 

FastDFS下测试:

测试结果:coast time : 138215ms

3、文件删除测试

25个小文件删除测试

HDFS 删除25个小文件 coast time : 10517ms

FastDFS删除25个小文件 coast time : 62ms

 

318个图片删除测试

HDFS 删除318个图片 coast time : 12828ms

FastDFS 删除318个图片 coast time : 811ms

 

3个视频删除测试(单个700mb)

HDFS删除视频coast time : 10286ms

FastDFS 删除视频 coast time : 150ms

 

3个较大视频删除测试(单个2gb)

HDFS下测试:

测试结果:coast time : 10594ms

 

FastDFS下测试:

测试结果:coast time : 255ms

总结

测试结果总览

测试项                                        

HDFS                             

FastDFS                            

25个小文件上传

13599ms

1949ms

318个图片上传

63460ms

9585ms

3个700m视频上传

62092ms

58137ms

3个2g视频上传

171743ms

131861ms

25个小文件下载

13008ms

1218ms

318个图片下载

24942ms

7051ms

3个700m视频下载

69266ms

36144ms

3个2g视频下载

192315ms

138215ms

25个小文件删除

10517ms

62ms

318个图片删除

12828ms

811ms

3个700m视频删除

10286ms

150ms

3个2g视频删除

10594ms

255ms

单从测试结果来看,无论是在上传、下载还是删除上,HDFS对比FastDFS差距还是比较大的。在小文件的上传上,HDFS的318个小图片总计200多mb的上传耗时和3个700m视频总计2.2g的上传耗时居然是差不多的。

对测试结果的一些猜想和认识

1、 FastDFS客户端底层连接服务端使用的是Socket,本身速度就要快很多。

2、 HDFS在做删除测试时,明显较慢的地方是在创建到服务端的连接上,实际删除文件的速度很快。由于每次测试都需要先创建到服务端的连接,HDFS在这块消耗较大,在实际场景下,差距应该没有这么大。

3、 两者的适用场景确有不同,FastDFS更适合小文件的高效存取,而HDFS更适合超大文件上传后使用Mapreduce去做大数据处理。

4、 HDFS的部分从节点没有开启,不知道会不会影响文件的上传、下载效率。

5、 个人的机器配置有限,硬盘空间也有限,不知道在更大级别的文件上传下载效率上,HDFS对比FastDFS会有如何的结果。

© 著作权归作者所有

CoKing
粉丝 3
博文 3
码字总数 3381
作品 0
芜湖
程序员
私信 提问
使用FastDFS搭建图片服务器(单实例)

FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过 专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。准确地...

haoyuehong
2018/09/12
210
0
FastDFS服务器集群部署和集成客户端到SpringBoot

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,同时也能做到在集群环...

maoqitian
2018/11/01
0
0
Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.13.0

环境 Ubuntu 14.04 用户 admin 数据目录: /fastdfs 安装包:FastDFS v5.05 一、下载安装libfastcommon 1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录 1.2、解压 1.3、编...

paascloud
2017/05/29
0
0
Fastdfs分布式文件存储系统架构剖析及分布式集群环境的配置

===============分布式文件存储系统Fastdfs架构解析======================== FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能...

xiejunbo
2015/06/30
206
1
用FastDFS一步步搭建文件管理系统

一、FastDFS介绍 FastDFS开源地址:https://github.com/happyfish100 参考:分布式文件系统FastDFS设计原理 参考:FastDFS分布式文件系统 个人封装的FastDFS Java API:https://github.com/...

JackFace
2018/04/10
203
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0
浅谈java过滤器Filter

一、简介 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml...

青衣霓裳
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部