对很多开发者而言,如果网站的日流量达到百万级别,峰值 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 产品也都提供了免费版产品,希望能够帮助开发者不断优化网站,真正意义上构建一个「高性能」的网站!!!

日均百万 PV 的站点如何做性能监测?试试「3M口罩」!的更多相关文章

  1. 构建日均千万PV Web站点1

    如何构建日均千万PV Web站点 (一) 其实大多数互联网网站起初的网站架构都是(Linux+Apache+MySQL+PHP). 不过随着时代的发展,科技的进步.互联网进入寻常百姓家的生活.所谓的用 ...

  2. 如何构建日均千万PV Web站点 (一)

    其实大多数互联网网站起初的网站架构都是(Linux+Apache+MySQL+PHP). 不过随着时代的发展,科技的进步.互联网进入寻常百姓家的生活.所谓的用户的需求,铸就了一个个互联网大牛: htt ...

  3. 如何构建日均千万PV Web站点 (三) Sharding

    其实国内许多大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将整个网站业务分成不同的产品线,比如说国内那些大型购物交易网站它们都将自己的网站首页.商铺.订单.买家.卖家等拆分不同的产品线,分 ...

  4. 如何构建日均千万PV Web站点(二) 之~缓存为王~

    随着网站业务的不断发展,用户的规模越来越大:介于中国无比蹩脚复杂的网路环境:南电信:北联通:中间竟然只用一条链路进行互联通信!有研究表明,网站访问延迟和用户流失率正相关,网站访问速度越慢,用户越容易失 ...

  5. 如何构建日均千万PV Web站点

    http://www.cnblogs.com/xiaocen/p/3723839.html http://www.cnblogs.com/xiaocen/p/3726763.html http://w ...

  6. Android 性能优化(2)性能工具之「Hierarchy Viewer 」Optimizing Your UI:分析哪个view有性能问题,查看屏幕上某像素点的坐标,颜色等

    Optimizing Your UI In this document Using Hierarchy Viewer Running Hierarchy Viewer and choosing a w ...

  7. Android 性能优化(24)*性能工具之「Traceview,dmtracedump」Profiling with Traceview and dmtracedump :记录并查看函数调用栈*

    Profiling with Traceview and dmtracedump In this document Traceview Layout         Traceview工具界面介绍 T ...

  8. Android 性能优化(22)*性能工具之「Hierarchy Viewer」 Hierarchy Viewer Walkthrough

    Hierarchy Viewer Walkthrough 1.In this document Prerequisites Setting the ANDROID_HVPROTO variable W ...

  9. [转]iOS hybrid App 的实现原理及性能监测

    转自:http://www.cocoachina.com/ios/20151118/14270.html iOS hybrid App 的实现原理及性能监测 2015-11-18 11:39 编辑:  ...

随机推荐

  1. 揭开CSS3媒体查询迷雾(min-width和max-width)

    本文参考MichelleKlann的Media Queries Demystified: Min-Width and Max-Width 媒体查询(media queries)是响应式设计(Respo ...

  2. ant design 树形组件怎么使用

    getDefaultProps doesn't work with ES6 syntax; warning is not helpful 解决后: 参考地址:https://github.com/fa ...

  3. Java多线程并发

    http://wangjianwei866.blog.163.com/blog/static/9295823201231665319314/ 基于以上网文,调整了一下格式,修改了一些标点和拼写错误. ...

  4. poj2594 (最小路径覆盖 + floyd)

    题目链接  http://poj.org/problem?id=2594) 题目大意: 一个有向图中, 有若干条连接的路线, 问最少放多少个机器人,可以将整个图上的点都走过. 最小路径覆盖问题. 分析 ...

  5. Android更改桌面应用程序launcher的两种方式

    http://blog.csdn.net/mdx20072419/article/details/9632779/ launcher,也就是android的桌面应用程序.下图是我正在使用的魅族手机的l ...

  6. [jquery]高级篇--获取div子元素

    参考: http://zhidao.baidu.com/link?url=IfeQQBn1xMLqWvwdkKbQYJ8mC6ciGi_8M1NYkm6iQ-kXBMX2f2ylN-ckzFLiynn ...

  7. Java获取线程的对象和名称

    /*获取线程对象以及名称(很有意义的) 原来线程都有自己默认的名称Thread-编号  该编号从0开始 Thread 父类的方法static  Thread currentThread() :获取当前 ...

  8. GNU glibc

    在线G-lib-c(GNU C Library库)网站 参考: 1.bitsToTypes

  9. 2017 google Round D APAC Test 题解

    首先说明一下:我只是用暴力过了4道题的小数据,就是简单的枚举,大数据都不会做!下面的题解,是我从网上搜到的解答以及查看排行榜上大神的答案得出来的. 首先贴一下主要的题解来源:http://codefo ...

  10. [翻译][MVC 5 + EF 6] 10:处理并发

    原文:Handling Concurrency with the Entity Framework 6 in an ASP.NET MVC 5 Application 1.并发冲突: 当一个用户编辑一 ...