当前,许多站点的部署方式都对自身的性能产生了消极影响,而网站的所有者并没有意识到这个问题。我们今天针对性的讨论以下几个常见的影响网站性能的瓶颈,观察其变化趋势,并简单说明一些解决方案来提升网站的性能。

瓶颈一:缓存

在面对静态内容的时候,我们最常用的方式就是通过将其缓存在浏览器、中间代理服务器或者CDN之上。因为能够提供相当大的卸载,这种将静态内容的缓存行为毫无疑问将对终端用户和源站服务器产生良好的影响。根据当前的趋势,我们可以看到,许多站点实际上都在缓存类似于JS,图像,CSS等对象;但是,我们却发现能够对HTML进行缓存的站点却并不多见。基础页面一般是比较动态化的,大部分的网站所有者都不会对这种页面进行缓存,因为HTML页面是在不断变化的。

大量站点没有缓存基础页面,这将对站点的Speed Index(速度参数)造成直接影响。Speed Index能够反映视觉元素的平均完成程度,也是提升客户体验的一个重要方面。

如果页面包含了动态的内容,那么我们可以采取几种方式来确保其可缓存性,或者对动态内容进行潜在复用。

瓶颈二:压缩

另外一种非常常见的提升站点性能的方式就是对内容进行压缩,这样可以确保内容的比特数尽可能小,传输速度尽可能快。压缩一般是针对JS和CSS这种静态对象来使用的,而无需考虑内容变换的速度和频率,因为缓存规则能够使得基于Last-Modified-Since和Time-To-Live这两个值的对象失效。

根据相关数据,一些站点最多能够包括115种字体资源,最少1种,平均4种。但由于种种原因,很少有站点会对字体资源进行压缩,其中一种原因有可能是这些字体资源来自第三方。

所以对这些字体进行压缩就变得异常重要,因为这可以缩短页面加载的时间,并且从终端用户的角度来提升页面渲染的速度。

瓶颈三:HTTP响应代码

毋庸置疑,当内容回到源站服务器(或者缓存)的时候,大部分站点所使用的响应代码都是“200/OK”。也就是说,除了这个特定的响应代码之外,还有相当大比例的请求响应代码在被使用,这也是会对站点性能造成显著影响的一个因素。

我们在上面提到了一些常见的Web性能瓶颈,除了这些因素之外,我们还需要认识到:一些更加明显、更加常见的Web性能瓶颈导致了JavaScript资源的超量使用。下面我们来举一个比较贴切的例子:使用多重JavaScript框架

网站使用多个框架的原因其实显而易见——他们需要在页面上植入来自多个框架和库的多个组件——尤其是那些在github随手就可以拿到的。在github上面,开发和下载特定的装置,可以帮助他们在某一个站点内达成其所期待实现的行为。现在的潮流是,jquery,prototype,d3,bootstrap,angular,foundation和scriptaculous这几种框架比较受欢迎。当某个功能或者特性需要使用多重库的时候,网站就会倾向于使用多个框架,原因有二:样式和功能(取决于用户的互动方式)。所以现在的问题就是:我们为什么需要把资源浪费在下载和解析脚本上呢?而且某些脚本在页面开始加载之前,根本没有被包括在样式里。

进一步说,包含过多的JS框架会使得页面大小进一步增长,因为JavaScript的比特数都会落到页面的整体体积上面。当然,框架数量并不是影响比特数大小的唯一因素,但却仍然会成为影响Web性能的一个瓶颈。这种页面体积的增加,会需要更多的工作和技巧来解决。

除了将站点内不必要的框架移除之外,如果必须要使用多个框架和库,我们还可以通过一些前端优化的技术来改善网站的体验。

当前,我们面对的Web性能瓶颈的数量是很多的。有一些瓶颈是非常常见的,比如没有进行妥当的缓存、压缩以及响应代码的问题等等,这些问题都是可以通过我们上面谈到的方式来解决。此外,我们也可以看到应用多重JavaScript带来的问题,尽管脚本的使用非常必要,但是确实也会对性能和整体的用户体验造成影响。

推荐阅读:

面临流量高峰时,系统的性能瓶颈有哪些?

性能测试工具的基本工作原理

有没有半小时完成性能测试的方式?

性能测试心得——吞吐量与并发数用户数之间的关系

性能测试报告包含哪些基本结构,完成一份性能测试报告需注意哪些方面?

云压力测试平台有什么优势?能够帮助企业解决哪些性能问题?

用户高并发场景下,企业网站会遇到哪些性能异常事件?

对线上系统做性能测试,测试流程是怎样的?

常见的网站性能测试瓶颈有哪几个?相关推荐

  1. 网站性能测试基本指标

    一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联. 单个reqeust 对CPU消耗越高,外部系统接口.IO影响速度越慢,系统吞吐能力越低, ...

  2. 网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

    常用的网站性能测试指标有:吞吐量.并发数.响应时间.性能计数器等. 并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力. 响应时间 响应时间是一个系统最重要的指标之一,它的数值大 ...

  3. 网络推广中常见的网站建设细节中有哪些重点值得网络推广专员重视?

    通常在网络推广运营中最初的网站建设中有很多开发细节和重点值得引起站长的注意,通过这些重点开发细节可以为后续的网站优化运营奠定良好的基础,有利于后期的长久型网站运营优化,那么这些网站建设开发细节有哪些需 ...

  4. 常见的网站服务器架构有哪些?

    1. 初始阶段的网站架构 一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进.当它还是小型网站的时候,没有太多访客,一般来讲只需要一 ...

  5. rails db 查询优化_如何优化查询以解决Rails中常见的可伸缩性瓶颈

    rails db 查询优化 by Usama Ashraf 通过Usama Ashraf 如何优化查询以解决Rails中常见的可伸缩性瓶颈 (How to optimize your queries ...

  6. 网站性能测试指标:QPS、TPS、吞吐量、响应时间概述

    常用的网站性能测试指标有:并发数.响应时间.吞吐量.性能计数器等. 一.并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力. 二.响应时间 响应时间是一个系统最重要的指标之一,它 ...

  7. Windows 7环境下网站性能测试小工具 Apache Bench 和 Webbench使用和下载

    1.简要说明: Apache Bench 是Apache的网站性能测试小程序,Windows平台下的程序名简称ab.exe,要想获得这个80k的可执行程序,用户需要下载整个Apache Httpd软件 ...

  8. 网站性能测试工具--MS Web Application Stress Tool

    MS Web Applicaion Stress Tool 是一款网页测试的性能工具,具体的使用可以参考下面这篇博客文章 http://cuisuqiang.iteye.com/blog/193640 ...

  9. 12个免费在线的Web网站性能测试工具

    本文向你推荐12个免费在线的Web网站性能测试工具. 1. Web Page Test 从世界各地多个地点,使用真正的浏览器(IE和Chrome),并在真正的消费者连接速度,对你的网站进行速度测试.您 ...

最新文章

  1. 【新书】用Python3六步掌握机器学习第二版,469页pdf,Mastering Machine Learning
  2. ICCV 2021 | G-SFDA:无需源数据的领域自适应方法
  3. 1Boost之TCP,Client and Server
  4. linux mysql5.6 安装
  5. ecshop goods.php,重命名ecshop的商品页goods.php为shangpin.php
  6. Mongoexport导出数据,Mongoimport导入数据,mongodump备份数据,mongorestore恢复恢复
  7. 面向对象编程----6大设计原则
  8. Javascript----input事件实现动态监听textarea内容变化
  9. 快速打开计算机磁盘的软件,怎样快速启动电脑
  10. matlab在电气信息类专业中的应用,MATLAB在电气信息类专业中的应用(高等学校应用型特色规划...
  11. 《CCNA安全640-554认证考试指南》——第6章在Cisco IOS设备上保护管理层
  12. 研发中,问题以界面开发人员为解决负责人
  13. 区分微信小程序是否支持canvas 2d
  14. Redis的配置文件详解
  15. DiskPart使用方法(ZT)
  16. TCP/IP网络编程 - 基础学习
  17. 37.图灵接口及电脑语音聊天
  18. js对金额数据添加最大金额单位【千、万、十万...】
  19. k-均值聚类算法总结
  20. 使用U盘制作Ubuntu21.10、Windows10多个系统的启动盘

热门文章

  1. hmcl离线登陆_hmcl启动器下载
  2. 骁龙778G相当于天玑多少?对比天玑900、天玑1100,结论很清晰
  3. MySQL DBlink
  4. 美妆界现在是“李佳琦们”的内容营销时代
  5. 南开大学工程训练结课报告
  6. ngrok服务器搭建和4种客户端使用方法
  7. 信息安全初窥(二):信息安全能力体系
  8. OpenCV python 提取图像内的三色
  9. 王坚博士:进入空气稀薄地带
  10. 优思学院|测量系统分析(MSA)中的偏倚和线性是什么?