热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

调研分享:图片文件在各文件系统上的访问性能对比

1概述在某产品线的图片服务器,存放了亿级别的图片文件,每个文件的大小在0.5k-100k之间,其中1K以下的文件数量在50%左右ÿ

1 概述

  在某产品线的图片服务器,存放了亿级别的图片文件,每个文件的大小在0.5k-100k之间,其中1K以下的文件数量在50%左右,1-4K文件数量在40%左右,4K以上10%,大量的文件存储对文件系统的性能要求非常高,特对目前业界常用系统性能在图片服务的表现进行调研。

  因线上flash卡故障率非常高,所以在寻找替代方案,磁盘是否可以满足线上系统需求?是否满足今后可扩展性(容量、文件数量)?是否可以更好的处理数据同步使用时间?
 

2 预期解决问题

  1、磁盘是否可以替换flash卡?
目前发现1Tflash卡故障率极高,严重时每周多次损坏,修复数据的时间很长,最少需要6个小时。
2、测试jfs reiserfs xfs ext2文件系统在图片业务上的性能表现(读写)。

3 测试方法及结果

3.1 测试方法

  1、模拟线上环境,进行压力测试

  搭建一套跟目前线上一样的系统环境,提取线上7天全部日志,采用压力工具(可以模拟数据全部返回)进行模拟线上环境进行压力测试(连续压力2小时以上)。

  2、利用磁盘测试工具,进行设备性能测试

  3、通过磁盘占用空间、inode节点数量进行对比

  4、通过线上数据同步,测试同步所需时间

3.2 结果分析

  1、使用磁盘完全可以替代flash

  从模拟线上产品的压力得出结论使用HP机器采用jfs和ext2文件系统完全可以满足目前线上系统及未来一段时间内需求,如下表:

 

  注:使用磁盘需要20分钟充cache,充cache期间的lighttpd的最大压力值2000.

  2、图片服务目前的瓶颈在网卡

  在进行模拟线上压力测试时,所有文件文件系统除dell-reiserfs外全部可以达到网卡流量峰值1G,随着时间推迟,平均值会下降,但是cpu也会逐渐空闲,

  3、在各种文件系统性能在图片服务的业务测试中,得出如下结果

  1)Flash卡上的ext2性能比较突出

  2)磁盘上jfs的表现更适合目前线上业务

  3)reiserfs的空间占用最小,比其他文件系统节约空间60%-65%

  如下表:

 

  4、修改线上图片更新脚本可以减少10%的时间,

  5、各文件系统下数据同步时间耗用完全不同,ext2在flash卡上,jfs在磁盘的表现非常好。

  如下表:

 

  6、在磁盘上,HP机器的小文件处理能力比dell更适合图片服务。

By huanghaibin

 

【本文首发于:搜索研发部官方博客http://stblog.baidu-tech.com/?p=48
关注百度技术沙龙












本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/743793,如需转载请自行联系原作者



推荐阅读
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文总结了在多人协作开发环境中使用 Git 时常见的问题及其解决方案,包括错误合并分支的处理、使用 SourceTree 查找问题提交、Git 自动生成的提交信息解释、删除远程仓库文件夹而不删除本地文件的方法、合并冲突时的注意事项以及如何将多个提交合并为一个。 ... [详细]
  • 本文档提供了首次周测的答案解析,涵盖特殊符号、命令作用、路径说明以及实战练习等内容。 ... [详细]
  • 本文总结了软件工程课程M1和M2阶段的个人收获,包括项目开发中的技术学习、团队协作及管理经验。同时,对《构建之法》一书中的相关问题进行了理解和分析。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • 解决宝塔面板Nginx反向代理缓存问题
    本文介绍如何在宝塔控制面板中通过编辑Nginx配置文件来解决反向代理中的缓存问题,确保每次请求都能从服务器获取最新的数据。 ... [详细]
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • 解决MATLAB中文件 'mischouse.tiff' 不存在的问题
    探讨如何解决在MATLAB中尝试访问文件 'mischouse.tiff' 时出现的文件不存在错误。 ... [详细]
  • 本文详细介绍了如何通过命令行工具修改Windows系统中文件扩展名与其对应文件类型的关联,特别针对快捷方式(.lnk)文件进行了示例说明。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • [转帖] 学习一下 apache bench 的总结简介 ( LAMP的没用过..)
    PS:网站性能压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。Apache中有个自带的,名为ab的 ... [详细]
author-avatar
求所以
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有