第一步:使用静态资源的合并压缩等前端优化手段css
第二步:使用CDN和云前端
第三步:动静分离,将静态图片,js,css存放到单独的域名。浏览器
(1)使用单独域名,浏览器不会把主域名下的 cookie 传给该域,减小了网络开销,必定程度提升了页面加载速度。
(2)将Web应用程序中静态和动态的内容分别放在不一样的 Web 服务器上,有针对性地处理动态和静态内容,从而达到性能的提高。缓存
动静分离分离后,数据内容以几何级数增加,尤为是那些小文件,几K到几百K不等,数量巨多,传统的文件系统处理起来非常吃力,面临如下问题:
(1)磁盘IO太高
海量文件检索效率低,因为现有的存储系统没法有效管理海量小文件,而且在单个目录下存放文件的数量有必定的限制,一旦文件数到达了必定规模以后,文件的检索速度就急剧降低。当前用户只能经过多级目录来组织存放大量的小文件,随着目录深度的增长,文件的检索开销进一步增大,检索效率随之降低(大量的磁盘寻址)。
(2)备份困难
(3)单点问题,容量和读写没法水平扩展,还存在故障的可能。安全
现有的存储系统一旦出现连续的磁盘故障或者服务器失效的状况,将会当即中断应用的读写过程,严重的甚至形成数据丢失。
小文件的备份速度极慢,而备份大量小文件将会耗费大量的时间和系统资源。
用户在存储大量小文件时不得不采用了费时费力的方式,将文件复制多份到多套的存储系统中以提升安全性。服务器
使用分布式文件系统(Distributed File System):指文件系统管理的物理存储资源不必定直接链接在本地节点上,而是经过计算机网络与节点相连。
优势:
(1)扩展能力: 是一个分布式文件系统最重要的特色。
(2)高可用性: 在分布式文件系统中,高可用性包含两层,一是整个文件系统的可用性,二是数据的完整和一致性。
(3)协议和接口: 分布式文件系统提供给应用的接口。
(4)弹性存储: 能够根据业务须要灵活地增长或缩减数据存储以及增删存储池中的资源,而不须要中断系统运行。弹性存储的最大挑战是减少或增长资源时的数据震荡问题。
(5)压缩、加密、去重、缓存和存储配额: 这些功能的提供每每考验一个分布式文件系统是否具备可扩展性,一个分布式文件系统若是能方便的进行功能的添加而不影响整体的性能,那么这个文件系统就是良 好的设计。存储配额就是能够为应用所能使用的存储空间进行配额限制,好比每一应用只能使用最大配额范围内的存储空间。cookie
例如使用MongoDB分布式文件系统的静态资源方案:网络
每一步涉及到的具体技术选型问题须要具体问题具体分析前端优化
图片显示的时候能够等比例缩略图分布式