`
lt200819
  • 浏览: 181642 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

图片分离之图片服务器问题

阅读更多
现在很多中小网站(尤其是 Web 2.0 站点) 都允许用户上传图片,如果前期没有很好的规划,那么随着图片文件的增多,无论是管理还是性能上都带来很多问题。

就自己的一点理解,抛砖引玉,以期能引出更具价值的信息。

事关图片的存储
把图片存储到什么介质上? 如果有足够的资金购买专用的图片服务器硬件或者 NAS 设备,那么简单的很;如果有能力自己开发单独存储图片的文件系统,那么也不用接着往下看了。

如果上述条件不具备,只想在普通的硬盘上存储,首先还是要考虑一下物理硬盘的实际处理能力。是 7200 转的还是 15000 转的,实际表现差别就很大。是选择 ReiserFS 还是 Ext3 ,怎么也要测试一下吧? 创建文件系统的时候 Inode 问题也要加以考虑,选择合适大小的 inode size ,在空间和速度上做取舍,同时防患于未然,注意单个文件系统下文件个数别达到极限。

独立,独立的服务器
无论从管理上,还是从性能上看,只要有可能,尽量部署独立的图片服务器。这几乎成为常识了(不过在我做过面向 Web 的项目之前就这个问题也被人笑话过)。具备独立的图片服务器或者服务器集群后,在 Web 服务器上就可以有针对性的进行配置优化。比如采用传说中更有效率的 Lighttpd 。

如果不想在几台机器间同步所有图片,只用 NFS 模式共享一下即可。注意软、硬连接可能带来的问题,以及 NFS 特定的传输速度。

独立,独立的域名
如果大部分 Web 页面必须要载入很多图片,那么需要注意 IE 浏览器的连接数问题(参见对该问题的测试)。

前几天有个朋友在线上问我,"一些大网站,图片服务器为什么都用另外一个域名? 比如yahoo.com 图片服务器用了 yimg.com 的域名?" ,粗糙一点的答案:除了管理方便,便于CDN 同步处理,上面说的 IE 连接数限制也是个考虑因素吧(其他原因我也不知,有请 Yahoo!的同学发言) 【还有一个我没考虑到的是 Cookie 的因素,参加楼下高春辉的留言】

雅虎 Web 优化 14 条
关于雅虎 YSlow 工具倡导的 优化 14 条规则,建议每个 Web 维护人员必须倒背如流,当然也应该辩证来看--介绍这 14 条规则的页面本身也只能得到 70 多分...其中的第九条和上面说的独立域名之间多少有些矛盾。实际情况要根据自己的 Benchmark 与具体需求而确定了。

有效利用客户端 Cache
很多网站的 UI 设计人员为了达到某些视觉效果,会在一些用户需要频繁访问的页面模块上应用大量的图片。这样的情况,研究表明,对于用户粘度比较高的站点, 在Web 服务器上对这一类对象设置 Expires Header 就是十分有必要的,大量带宽就这么节省下来,费用也节省了下来。顺便说一下,对于验证码这样的东西,要加个简单的规则过滤掉。

服务器端的 Cache
在国内,CDN 也是有钱才能玩得起。而类似 Amazon S3 这样的一揽子存储服务,国内还没有出现。所以,充分利用服务器端的 Cache 也是有必要的。Squid 作为反向代理服务器,缓冲图片效果应该说尚可,新浪技术团队贡献的 Ncache 据评测,效果更佳。

高解析图片问题
如果网站存在大量高解析度的图片,那么有必要考虑部署 IIPImage 或者类似的软件。

运营问题
很多比较有规模的网站对于用户上传的图片不做任何处理,结果页面上还能看到很多 BMP 格式的图片(个人觉得任何网站出现 BMP 格式的图片都是可耻的)...这完全是运营上的策略之误了。找个程序员投入一点时间写个图片处理模块,对那些"截屏"得来的图片做个转换,投入成本可能远比存储上的开销小,而用户再访问该图片,质量未必能有什么损失,浏览速度无疑好多了。哪种处理方式更让人接受,不言而喻。
分享到:
评论
1 楼 zhangth 2014-08-14  
写的不错,受教了

相关推荐

    页面静态化,图片服务器分离

    页面静态化,图片服务器分离页面静态化,图片服务器分离页面静态化,图片服务器分离页面静态化,图片服务器分离页面静态化,图片服务器分离页面静态化,图片服务器分离页面静态化,图片服务器分离

    图片服务器分离

    大型网站架构分析图片服务器分离,讲述图片服务器的优缺点,图片服务器的实现,以及几种实现。

    网站架构(页面静态化,图片服务器分离)

    站到一个超过10000000用户的系统去考虑,web服务器的压力,数据库服务器的压力,需采用的技术,页面静态化 ,图片服务器分离, 数据库集群和库表散列 ,缓存, 负载均衡,硬件四层交换,软件四层交换等等。...

    注解实现SSH2图片服务器分离上传下载

    图片服务器分离 博文链接:https://a506764932.iteye.com/blog/1867831

    大型网站高并发解决方案分析之图片服务器分离架构

    因此很多网站都会将图片存储从网站中分离出来,另外架构一个或多个服务器来存储图片,将图片放到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显提高了,...

    大型WEB网站架构深入分析图片服务器分离.docx

    大型WEB网站架构深入分析图片服务器分离.docx

    大型WEB网站架构深入分析-图片服务器分离.docx

    大型WEB网站架构深入分析-图片服务器分离.docx

    javaweb图片和业务分离模型

    电商网站中,图片占流量90%以上,图片和业务服务器分离是必不可少的;...本资源简单介绍图片服务器和业务服务器分离的思想,实现图片上传和下载完全不通过业务服务器,且图片服务器可以完全平滑扩展

    网站架构(页面静态化_图片服务器分离_负载均衡)方案全解析

    网站架构(页面静态化_图片服务器分离_负载均衡)方案全解析

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...

    图片服务器

    图片服务器分离大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面 进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多...

    致远A6数据库分离代码,历史数据部署,文件配置要点

    分离前的数据库用来部署历史数据库,所以建议使用两台服务器分别部署,也就是要安装两套OA服务器,各自访问各自的数据,由于所有历史数据将会部署到一个服务器,也就是该服务器将安装多套AO,所以需要修改数据库端口...

    浅谈图片服务器的架构演进

    对于图片服务器来说IO无疑是消耗资源最为严重的,对于web应用来说需要将图片服务器做一定的分离,否则很可能因为图片服务器的IO负载导致应用崩溃。因此尤其对于大型网站和应用来说,非常有必要将图片服务器和应用...

    XD-PicCMS 图片管理系统 v1.0

    自动给上传及本地化图片添加水印 自动提取首张图片为缩略图 自动生成任意大小缩略图 幻灯片模式图片展示页支持静态缓存,全站生成HTML内置采集器,迅速从网络抓取图文自由分类,自动生成导航和内容调用 模板分离设计,...

    C# 多服务器多文件上传

    因为网站 web 服务器 和 图片服务器分离, 就涉及到 跨域 验证等问题, 所以用 服务器端 模拟表单提交的形式 去把图片传输到多台服务器 类库里面封装了 一些 图片缩放,的功能 也添加了远程删除的功能

    ueditor自定义图片上传

    前后端分离 解决ueditor上传图片时的跨域问题 自定义图片上传插件,文件服务器与富文本可以单独部署

    文件服务器规划设计.docx

    对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构...

    Js幻灯图片切换代码.rar

    不过看了很多,却发现对于项目开发来说,很多的焦点图片却不是那么容易使用的:有的需要为之定义一个文本文件,有的兼容性存在问题,有的是基于jQuery实现的插件需加载过多的脚本,有的不能自适应图片的尺寸,有的会...

    在Android设备上搭建Web服务器的方法

    一般而言,Android 应用在请求数据时都是以 Get 或 Post 等方式向远程服务器发起请求,那你有没有想过其实我们也可以在 Android 设备上搭建一个小型 Web 服务器,并且实现常规的下载图片、下载文件、提交表单等功能...

Global site tag (gtag.js) - Google Analytics