对很多开发者而言,如果网站的日流量达到百万级别,峰值 PV 也突破了 3 万,这样的站点在线下测试的时候总是让人心力交瘁。。。。
生产环境下的性能监测问题更是尤其让人头疼!
开发同学在想,运维人员也在想;男人在想,女人也在想。现在,值得男女老少一齐关注的问题,恐怕也只有「雾霾」了。众所周知,3M 口罩完美解决了「雾霾」所带来的一系列安全性能问题。那么,在前端性能监控领域,有没有为专为网站打造的「3M」产品呢?
人人都想要「高性能」,可你明白什么是高性能网站吗?
什么叫高性能的网站?
现有两个网站性能架构设计方案:方案 A 和方案 B。方案 A 在小于100个并发用户访问时,每个请求的响应时间是1秒,当并发请求达到200的时候,请求的响应时间将骤增到10秒。方案 B 不管是100个还是200个并发访问,每个请求的响应时间都差不多是1.5秒。
哪个方案的性能好?
如果你的老板要求 「我们要改善一下网站的性能」,你知道他指的是什么吗?
同类型的两个网站,X 网站服务器平均每个请求的处理时间是500毫秒,Y 网站服务器平均每个请求的处理时间是1000毫秒,为什么用户却反映 Y 网站的速度快呢?
网站性能是客观的技术,可以具体反映在响应时间、吞吐量等指标中;同时也是主观的感受,而感受则是一种与具体参与者相关的微妙的东西,用户的感受和工程师的感受不同,不同的用户感受也不同。
不同视角下的网站性能
软件工程师所说的网站性能和用户说的是不一样的!!!
1.用户视角下的网站性能
从用户角度讲,网站性能就是用户在浏览器上的直观感受:网站是快还是慢?
用户感受到的时间,包括用户计算机和网站服务器通信的时间、网站服务器处理的时间、用户计算机浏览器构造请求解析响应数据的时间,如下图所示。
计算机性能有差异,浏览器解析 HTML 速度有差异,网络运营商提供的互联网宽带服务有差异,这些差异最终导致用户感受到的响应延迟可能会远远大于网站服务器处理请求需要的时间。
在实践中,使用一些前端架构优化手段,通过优化页面 HTML 式样、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用 CDN 服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容,即使不优化应用程序和架构,也可以很大程度地改善用户视角下的网站性能。
2.开发人员视角下的网站性能
开发人员关注的主要是应用程序本身及其相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。主要的优化手段有:使用缓存加速数据读取,使用集群提高吞吐能力,使用异步消息加快请求响应及实现削峰,使用代码优化手段改善程序性能。
3.运维人员视角的网站性能
说的再多最后都要上生产环境,所以,最直接、最真实 的就是把用户访问时的各项指标作为最终的判断依据。
上生产之后,就该运维人员来发愁了。
运维人员更关注基础设施性能和资源利用率,如网络运营商的带宽能力、服务器硬件的配置、数据中心网络架构、服务器和网络带宽的资源利用率等。主要优化手段有建设优化骨干网、使用高性价比定制服务器、利用虚拟化技术优化资源利用等。
现阶段,大多数的前端工具都比较碎片化,例如 yslow 偏重页面静态分析,fildder 主要做页面请求分析,而且,他们还缺少「统计功能」,也就是所谓的「一次性软件」。
现在,Browser Insight 提供了统一的视图,全面涵盖了用户视角、开发视角以及运维视角。就像 3M 口罩一样,针对不同的用户群,都能提供满足他们需求的产品,让开发者同学不再纠结。
下面是 Bi 的几个功能板块,基本上涵盖了从研发、测试再到运维 3 位一体的层面。
为什么说 Browser Insight 像「3M口罩」?
- Browser Insight 可以和百万访客「直接」接触,不用担心影响用户;
- Browser Insight 安装后,服务器和应用程序毫无压力,不用担心带宽、CPU、内存等消耗;
- Browser Insight 全量数据,实时分析,不会泄露任何信息,安全自信的做性能监测;
- Browser Insight 以用户为中心的统计分析,分分钟定位网站性能瓶颈,让网站问题如「雾霾」一样,不再干扰你的心情;
目前,OneAPM 针对前端性能的优化产品,也就是号称网站「3M 口罩」的 Browser Insight 已经免费提供给大家使用了。同时包括针对应用服务器性能优化 Application Insight 产品以及针对存储服务器性能优化 Cloud Insight 产品也都提供了免费版产品,希望能够帮助开发者不断优化网站,真正意义上构建一个「高性能」的网站!!!