网站速度优化之“动静分离”、有效减轻后端服务器压力!

一、“动静分离”是什么呢?

在介绍动静分离之前,我感觉还是有必要介绍一下:什么是静态网站?什么是动态网站?由于我之前已经在一篇个人博客中详细介绍了动静态网站,在这里就不再做详细的描述(有需要的小伙伴可以前往了解:《什么是动静态网站?》)。知道什么是动态网站之后,我们拿最常见的PHP动态网站来说,一次完整的网站加载请求中,浏览器客户端会向服务器请求一系列所需静态文件:.html;.css;.js;.jpg;.png还有一些字体文件等,当然还包括动态请求:***.php等。而所谓的“动静分离”是将网站静态资源(HTML,CSS,JS,JPG,PNG等文件)与后台应用分开部署,提高用户访问静态文件的速度,降低对后台应用访问,这样您的小服务器就可以把全部精力投入到动态请求的查询和解析中去,从而有效的减轻后端服务器的压力。

形象一点、就好比以“传统方式”(所有文件请求源站服务器)加载页面的网站就好像“一个和尚挑水吃”;而“动静分离”之后的网站就好像“两个和尚挑水吃”,效率明显会提升许多;而如果您再给静态文件加个CDN部署,那就像找个力气大的大个儿来帮你挑水了~

图片转载于#厦门SEO:seo.quxingdong.com

二、“动静分离”怎么操作?

动态文件还是放在源站服务器,所以关于动态文件的存储就不用介绍了~当然也已经有部分云计算服务商(例如腾讯云)已经推出了“动态加速”,接入之后便可以有效提升动态文件在全球各地的加载速度!而静态文件我们一般不用动态服务器来存储,纯静态化存储更有利于静态文件的响应!市面上目前主流的对象存储服务商有:阿里云OOS、百度云BOS、腾讯云COS、又拍云、七牛云等。

怎么选择?阿里云、百度云收费,没有免费额度;又拍云有免费额度,但是必须在业务里面放上又拍云的LOGO;七牛云的话之前听鹅场员工说七牛用的还是腾讯的……首先,小服务商我是不推荐的;其次,阿里云企业用的比较多,起码我之前就职的几家公司对象存储用的都是阿里云的;最后,强烈建议个人站长使用腾讯云!理由?对象存储COS和CDN每个月都有免费额度10G,新开通业务用户每个月还送50G流量包。我的建站理念就是:能不花钱的咱不花钱!花最少的钱做最大的提升!省下来的钱再花到那些不得不花钱的“刀刃”上!

图片转载于#厦门SEO:seo.quxingdong.com

最后提一下,腾讯云COS有V4和V5两个版本,现在新开业务用户一般都是V5版本,老用户可以直接工单申请体验V5版本。怎么用?如果你是独立开发的网站,直接跟技术提需求就行了;如果你是用开源程序搭建的个人/中小企业站点,直接找相应的插件就行了!下面以WordPress为例,分享两个V4/V5的腾讯云对象存储COS插件(射雕天龙制作、由水冷眸更新): WordPress远程附件支持之腾讯云对象存储COS插件V4版本下载:[点我下载] ; WordPress远程附件支持之腾讯云对象存储COS插件V5版本下载:[点我下载] 。 对象存储空间或者CDN流量包不够用的也可以直接前往官网活动页购买即可: 腾讯云 COS 具有高扩展性、低成本、可靠和安全等特点,能为您提供专业的数据存储服务。您可以使用控制台、API、SDK 等多种方式连接到腾讯云对象存储,实时存储和管理您的业务数据:[点我前往] 。 腾讯云 CDN 在全国各省份部署了 1100+ 加速节点,涵盖了移动、联通、电信等主流运营商,以及铁通、长宽等多家中小型运营商。每个节点单机服务器性能能够达到双百万,总节点带宽 80T+,完美解决地域、网络、源站性能等多因素引起的用户访问延迟较高、不稳定等问题:[点我前往] 。 当然如果您想再加个和尚一起挑水吃?可以单独给数据库购买个数据库服务器,提升效果也杠杠的!数据库服务器最好跟源站服务器要在同个区域!

腾讯云·云数据库

三、“动静分离”的优缺点?

优点:

  1. api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
  2. 前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间。
  3. 减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

缺点:

  1. 不利于网站SEO(搜索引擎优化):搜索引擎的网络爬虫一般是根据url访问页面,获取页面的内容后去掉没用的信息例如:CSS,JavaScript,然后分析剩下的文本内容;动静分离架构模式前端数据即在是由JavaScript来完成,这就会导致网络爬虫得到的信息部分丢失。在开发中可以采用前端缓存不经常变化数据的方式来解决,只有哪些经常发生变化的数据才每次向后端请求。
  2. 开发量变大,前后端交流成本升高:后端api返回的数据,往往是有自身逻辑在内的,比如返回数据中的包含status(1-处理中,2-处理成功,3-处理失败),前端需要理解status的不同含义,对应的前端操作需要理解(如,status =1 or status = 2,不可提交)。
  3. 在业务高速发展时需要慎重考虑:因为开发量变大,如果在业务开始阶段,缺乏前端又要求开发速度很快,就需要慎重考虑这种方式的实现成本对业务发展的影响。
图片转载于#厦门SEO:seo.quxingdong.com

Ps:本文由@屈兴东原创于#厦门SEO文章:《网站速度优化之“动静分离”、有效减轻后端服务器压力!》,并转载于#腾讯云+社区!未经许可,禁止二次转载。

原文链接:https://seo.quxingdong.com/334.html

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

微信小程序之提高应用速度小技巧

小程序科普类的文章已经很多了,今天这里讲的是针对小程序的优化方法,可以有效提高小程序的响应速度和用户体验。当然,开发体验也提高不少。

27320
来自专栏开源项目

码云推荐 | tabris.js + restify + 码云打造个人 APP

前言: 从9月初开始到现在,我一直在寻找一个适合自己的,可以跨平台的开发APP的js框架。 虽然之前自己也有陆续接触过Weex,React Native,F...

59180
来自专栏知晓程序

小程序的 AppID 怎么找 / 小程序手势缩放怎么做 / 不费流量的小程序推荐 | 小程序问答 #13

每次,看到那些名字长得让人记不住的小程序,你内心是否都会暗暗吐槽:起名的人究竟是怎么想的。

21710
来自专栏张善友的专栏

Visual Round Trip Analyzer

Jim Pierson在Msdn杂志上写的一篇文章《使用 Visual Round Trip Analyzer 加快网页加载速度的 12 个步骤》。Visual...

23180
来自专栏Java架构沉思录

Nginx是门好技能,希望你也会

Nginx很多人都知道可以用来做反向代理和负载均衡。但实际上Nginx可以做的远不止这些。

10420
来自专栏子勰随笔

基于mdwiki使用Markdown实现的wiki

34150
来自专栏杨建荣的学习笔记

压测工具swingbench和sysbench对比(r12笔记第13天)

今天来说说两款压测工具sysbench,swingbench,早些时候傻傻分不清楚,其实两个差别大了去了。 swingbench 先来说说swingb...

42590
来自专栏互联网数据官iCDO

谷歌跟踪代码管理器(GTM) 入门指南 第3部分 - 创建链接追踪代码

主编前言: 很多朋友都听说过Tag Management(监测代码管理),但其强大的功能和实现方式,了解的朋友不多。本系列以Google Tag Manager...

48850
来自专栏架构师之路

MySQL冗余数据的三种方案 | 架构师之路

一,为什么要冗余数据 互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。 水平切分会有一个patition key,通过patition ...

45450
来自专栏腾讯移动品质中心TMQ的专栏

TBS三方SDK自动化探索

对于非宿主的合作伙伴来说,在TBS接入环节,“共享和下载内核”的能力是最重要的,它从根本上决定着APP是否能够使用预期的X5内核提供服务。一旦出现问题,会导致无...

42700

扫码关注云+社区

领取腾讯云代金券