阅读更多

1顶
0踩

Web前端
在互联网盛行的今天,越来越多的在线用户希望得到安全可靠并且快速的访问体验。针对Web网页过于膨胀以及第三脚本蚕食流量等问题,Radware向网站运营人员提出以下改进建议,帮助他们为用户提供最快最优质的访问体验。



1.管理“页面膨胀”

页面大小与性能有着密切的关系。Radware最新电商性能“行业现状”报告显示,100强电商页面大小中位数达到了1492KB,比一年半之前增大了48%。

在研究报告里加载最快的10个页面中,页面包含的资源请求中位数为50个,页面大小中位数为556KB。而加载最慢的10个页面中,页面包含的资源请求中位数为141个,页面大小中位数为3289KB。换句话说,加载最慢的页面的资源中位数几乎是加载最快的页面的三倍,页面大小则是六倍。

仔细研究页面尺寸大小,我们可以得到更多的信息。加载最快的10个页面所包含的资源总数范围比较密集:在15个~72个之间;页面尺寸最小的仅为251KB,最大的2003KB。而加载最慢的10个页面所包含的资源总数范围则比较广泛:在89个~373个之间;页面尺寸最小为2073KB,最大的则超过了10MB。

2.进行图像优化

图像是造成页面膨胀的罪魁祸首之一,通常占据页面字节数的50-60%。在页面中添加图片或是将现有图片放大,是迅速获取用户并提高业务转化率的有效方式。但是这种方法会对性能造成严重的影响。

进行图像优化是提升性能最简单的一种方法,它可以使页面加载更快。为了更有效的完成图像渲染,图像必须经过压缩和整合、图像的尺寸和格式必须经过仔细调整,图像质量也必须经过优化,这样才可以依据图像的重要性进行区别化的加载处理。

3.控制第三方脚本

在典型的页面服务器请求中,来自于第三方脚本的请求占了其中的50%或更多。这些第三方脚本不仅会增加页面的字节数,带来延迟,而且也会成为Web页面中最大的潜在故障点。无响应、未经优化的第三方脚本会降低整个网络的加载速度。

解决办法是延迟第三方脚本的加载,将其放在关键页面内容之后进行加载,更为理想的情况是放在页面onLoad事件之后加载,这样才不会影响企业的搜索排名(谷歌将onLoad事件作为加载时间指标)。对于一些分析工具和第三方广告商而言,如果延迟第三方脚本加载的方法不可行,可以利用脚本的异步版本,与关键内容的加载同步进行。用户必须了解网站中有哪些脚本,删除那些无用的脚本,并对第三方脚本的性能进行持续监控。

4.真正做到移动设备优先

“移动设备优先”并不是一个全新的概念。早在2013年,移动设备的使用量就已经超过了台式机,然而与众多口头承诺的移动性能相比,真正专注于移动设备的开发还是存在一定的差距。例如,2011年11月,移动设备上的平均页面大小为475KB,现在则增长至897 KB。也就是说,在短短三年之间,平均页面大小几乎翻了一番。

尽管移动设备和网络取得了一些进展,但就性能而言,还是无法与大小已接近1MB的服务页面需求保持同步。我们知道,页面大小与加载时间息息相关,移动用户对缓慢的加载速度尤其敏感。如果企业希望网站可以真正做到“移动设备优先”,就必须正确处理这些问题。

5.在进行响应式Web设计时兼顾性能

响应式设计让设计人员和开发人员可以更好地控制Web页面的外观和感觉。它可以使跨多平台和设备上的页面变得更漂亮。但同时也会带来巨大的性能损失,这些性能损失并不能通过更快速的浏览器、网络和小工具得到缓解。而且随着时间的推移,这样影响还将持续恶化。

响应式设计建立在样式表和JavaScript之上。然而,低效的CSS和JS所带来的性能问题远远大于其设计优势给我们带来的好处。样式表应当放在HEAD文档中,用以实现页面的逐步渲染。然而,样式表却经常出现在页面其它位置,这就阻碍了页面的渲染速度。换句话说,JavaScript文件应当放在页面底部或在关键内容加载完成之后再被加载才是合理的处理方式。

6.实时监控性能

大家都知道要解决一个问题就必须先对问题有充分的了解。要解决页面性能问题,企业就必须知道用户在什么时候可以看到主要页面内容并与之进行交互;同时,企业还需了解性能和可用性问题是如何影响业务指标的。企业需要有方法获取实际的性能指标并对其进行分析。实时用户监控(RUM)工具可以从真实用户的角度实时获取、分析并记录网站的性能和可用性。

7.切勿过分依赖CDN解决所有性能问题

Radware季度电商性能“行业现状”报告中存在一项最具争议性的调查结果,即:使用内容分发网络(CDN)的网站完成主要内容渲染所需的时间比未曾使用CDN的网站要长的多。这是一个相关性问题,而非因果关系:通常情况下,相较于未使用CDN的网站,使用CDN的网站页面更大,也更复杂。页面的大小和复杂程度才是造成性能问题的元凶,而非CDN。但这一结果也表明,仅依靠CDN并不能解决所有的性能难题。

如果部署得当,CDN会是解决延迟问题非常有效的工具:缩短托管服务器接收、处理并响应图像、CSS文件等页面资源请求所需的时间。但是,延迟仅仅只是现代电商网站的关键问题之一。为了实现最佳的加速效果,网站运营人员可以采用组合解决方案:CDN+前端优化(如Radware FastView解决方案)+应用交付控制器(ADC)和内部管理。

8.在企业内部加强Web性能观念的宣传

大量研究证明,提高页面速度可以对所有的关键性能指标产生积极影响:页面访问量、用户粘连度、业务转化率、用户满意度、客户保持、购物车的内容多少和收入。

然而,正如上述7个建议中所表明的那样,许多企业都犯了同样的错误,最终损害了Web性能。目前,企业应该重点解决Web开发目标和在线业务目标之间的差距问题,而且,每个企业都应该至少拥有一个内部性能专家,以便更好的解决Web性能问题。
  • 大小: 124.6 KB
来自: 码农网
1
0
评论 共 1 条 请登录后发表评论
1 楼 haifengwuch 2015-02-04 22:18
  

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 将PDM中的表生成C#代码的简单脚本参考

    将PDM中的表生成C#代码的简单脚本,节约时间,提高编码工作效率的参考代码

  • PowerDesigner生成C#代码模板设置

    利用powerdesigner设计类图之后,可以直接生成对应语言的代码,对于设计开发非常有用。 这边记录下利用powerdesigner生成类时的一些注意事项。(Powerdesigner15.2) 一、属性访问器 .net支持如下的属性访问器写法public int PageIndex { get;

  • 使用PowerDesigner软件逆向生成C# .NET类图

    为了回复广大博友,这里用PowerDesigner软件逆向生成C# .NET类图实现两步操作即可,欢迎指正和添加新意! 1.菜单Tools-》Generate new Object-Oriented Model。在弹出的对话框“General”选项卡中选择语言为C#,“Selection”选项卡中选择要转换的实体。点确定后,PowerDesigner将添加一个新的工程,工程中的c

  • 使PowerDesigner12.5生成C#类包含属性的方法

    1.切换OOM模型2.选择菜单LanguageEdit Current Object Language3.修改Profile/Attribute/Templates/definition为下面第一代码即可.if (%isValidAttribute%)   [%comment%/n]/   [%customAttributes%/n]/   [%oidDocTag%/n]/    .if

  • PowerDesigner16.5物理数据表生成C#实体类Model

    model实体类是什么: 在三层架构UI,BLL,DAL中,有时用户插入一条记录到数据库中,必然会有不少数据,按正常编程,也必然会一下子调用某个函数传入不少参数。为了减少参数的数量,达到高效简洁的效果,一般会用model实体类作为传输数据的载体。 model实体类一般对应着数据库里的字段,一个类实体对应一张表。比如:user数据表 有id,password,name,那么实体类usr也相应id

  • PowerDesigner 生成C#实体模版代码

    操作步骤见:https://blog.csdn.net/da454122373/article/details/54346217 最后的template 模版代码如下: .if (%isValidAttribute%) ///<summary>[%comment%\n]\///</summary>[%customAttributes%\n]\.if (%Mult...

  • PowerDesigner 面向对象模型(OOM)说明

    一.     OOM 简介 Object-OrientedModel(OOM) 面向对象模型,一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概

  • Power Designer 转C#实体类方法

    1、打开Power Designer菜单Tools,选择如图 2、弹出方框中选择PD安装目录下的如图地址 3、object language选择正确目录后,可选如图语言,如C#。再填写name和code。 3、选择detail,看着需要勾选。确定完成。 4、打开生成后的PhysicalDiagram,菜单就会出现language选项,点击打开 edit curre...

  • 根据powerdesigner的OO模型生成C#代码

    习惯了用Powerdesigner设计数据库模型,XDE设计类图。因此我一般的设计方法是用PD做分析模型,然后,用分析模型生成数据库物理模型和C#代码,再用XDE从C#代码中反向工程生成XDE模型。但是在今天生成代码时发现一个小小的问题:在PD生成代码时,它会将实体中的attribe生成C#中的public field,而不是property,找了半天终于发现有一种方法:在\Resource Fi...

  • PowerDesigner建模教程

    1.新建一个模型 2在新的页面中的小窗口中选择table,并点击在空白区域 3在图的左边就是刚才放置的表格,然后双击就出现后侧的对话框了。 4建表 5.设置完成后,右击table框选择SQL preview即可查看表的SQL代码了 ...

  • PowerDesigner使用教程|使用方法

    PowerDesigner的安装和数据库创建(转载) 作者:无疆的行者  来源:博客园  发布时间:2011-01-14 12:48  阅读:72 次  原文链接   [收藏]   此文描述详细,特此转载,仅复制了大部分内容,可参考原文CodeSmith和PowerDesigner的安装和数据库创建(原创) 请大家不要用于商业用途哈,要支持正版,大家都是做软件的,知道开发一套软件...

  • Sybase 加强了 PowerDesigner Studio 的建模功能

    Sybase 加强了 PowerDesigner Studio 的建模功能作者Alan Zeichick                                      2002 年 10 月 1 日 — Sybase 已完成了对 PowerDesigner Studio 的更新,这其中包括一整套 UML 图表和对业务流程建模功能的增强。PowerDesigner Studio 是 Sy

  • (转)用PowerDesigner12.5生成C#类包含属性的方法

    1.切换OOM模型2.选择菜单LanguageEdit Current Object Language3.修改Profile/Attribute/Templates/definition为下面第一代码即可 .if (%isGenerated%) and (%isValidAttribute%)[%comment%/n]/[%oidDocTag%/n]/

  • powerDesiger uml class

    UML类图符号简介    1.类(Class): 使用三层矩形框表示。     第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是字段和属性。第三层是类的方法。注意前面的符号,+表示public,-表示private,#表示protected。   2.接口:UML类图符号中接口使用两层矩形框表示,与类图的区别主要是顶端有interface显示。第一行是接口名称。第二行是接口方法.

Global site tag (gtag.js) - Google Analytics