大型网站性能监测、分析与优化常见问题Q&A

大型网站性能监测、分析与优化常见问题Q&A

@tanwen110 (唐文),曾负责腾讯四大平台之一网络媒体平台的整体运维、运营规划工作;曾任百度T7架构师和百度性能优化TOPIC、百度UAQ、APM平台负责人;畅销书《海量运维、运营规划之道》作者; mmTrix创始人,后并入上市公司高升控股(000971.SZ),出任技术VP。

购买链接:http://item.jd.com/11962556.html

Q:基于rest的微服务,有什么好的监控方案推荐的,最好是对系统影响最小的

A:自定义给agent上报再通过关联关系可视化,前、后期的工作都较多。

Q:网站怎么做好防刷,分布式的多个节点怎么做好监控有啥好的建议不?

A:大一些的企业都有统一的七层接入层,在GSLB与LVS VIP之间,所有请求都会实时分析,同时会根据日常遇见的实际情况做好应对的策略模板,如封禁,清洗,导流等。滞后些的做法是打进来,在日志或逻辑层分析。

Q:对于高性能网站性能优化来说,由于涉及的方面太多太广,该先从哪方面着手呢,有没有什么步骤能做到有的放矢,做的事少而经济效益比较高。

A:前期系统、网络优化收益最大,一劳永逸,所有产品线收益。其次是前端优化,前端决定了渲染内容、结构和逻辑,针对性的优化收益也是非常明显的。但前端跟产品线走,而且产品迭代容易覆盖掉之前的优化收益。后端和移动性能优化需要的时间较长,出成果较慢。

Q:高并发下遇到瓶颈,一直对瓶颈的切入点不好把控,应该从哪方面开始入手呢?

A:导致瓶颈出现的原因很多,架构中的每一层都可能产生瓶颈和性能问题,需要具体问题具体分析。而且每天层和逻辑都存在容量和代码本身的可能。瓶颈定位是一个系统的工程。

Q: 使用 APM(应用性能管理)工具进行系统监控的原理一般是改写原来的字节码程序,植入自己的代码,请问,这种监控方式你推荐吗?这种方式对系统影响有多大

A: 前端JS和后端监测及移动的SDK、语言类的SDK是侵入式的,都会产生一定的副作用,通常可以抽样来减少这部分副作用。JS类的一般在150~200ms左右,语言类的要看具体的逻辑和访问量。

Q: 大型网站上,一般通过什么方式监控性能的?

A: 用户端主要是PC真机监测、PC JS监测,都属于真实用户监测。移动Web App使用JS监测,移动Native App使用SDK的方式。以上两类监测数据都较完整;有损失的监测还有在七层统一的接入也可以做请求到后端及后端返回数据的相关监测,后端打点等也是常用的方式。

Q:你好,请问你对分布式系统监控系统的设计时倾向于每个节点独立监控,然后在系统空闲的时候手动搜集;还是建立一个分布式的监控系统实时监控。感觉后者会增加系统复杂度让系统更难维护,但是前者会让搜集数据过少。如何权衡呢?谢谢

A:看企业所处的阶段,早期和小规模用前者,成长型企业用分布式。可持续看第二种的价值更大,复杂度、降低复杂度与价值去平衡。

Q:我们做了一个响应式拖拽建站系统,现在有个问题,如何监控每一个站点(域名)的流量情况,所有的http请求,而图片和视频这些资源可能会使用一些CDN的服务。我描述的不是很专业,还请不吝赐教。可以说几个点,我现在没有方向。

A: 因为使用CDN和多站点,多域名。CDN的流量数据在CDN服务商的日志中有才能体现。这两部分数据直接拼接是很困难的。可能根据PV、UV等经验值,从源站上反推。

Q:主要是通过什么进行性能监测的?目前觉得大型网站合理利用缓存很重要。

A: 目前主要有以下两种类型: 1、EUM,End user monitoring,最终用户性能监测。通过在最终用户设备上安装客户端的方式,通过主动监测获得采样的性能数据,Keynote是EUM的鼻祖,国内基调、博睿也属于EUM。

2、RUM,Real user monitoring ,真实用户性能监测。通过嵌码的方式获得全用户真实性能数据。嵌码方式分三种:网页嵌JS、移动APP嵌SDK、服务器端嵌代理。Newrelic和Appdynamics都支持这三种方式,国内基调、OneAPM也基本支持这三种方式。

Q: 您认为在未来随着固态硬盘等硬件成本降低、类redis内存数据库或cdn等缓存技术的发展,给性能测试的挑战是什么,我们是更应该着手架构还是代码逻辑还是其他方面?谢谢!

A: 硬件和缓存会影响后端的性能,性能是一个复杂的够成,往往用户端、终端产品形态,前端、网络是性能的重灾区。第二个问题,推荐从用户侧做性能优化更容易出收益,后端的优化代价和门槛都较高。

Q: 对APM服务有啥好的建议,包括选择,推荐

A: 首先需要理解各厂商和开源项目的原理,每家特点及技术团队的背景都不同,再结合多家优点解决面临的问题。目前国内、国外排前的厂商在网上也容易找到。如果是互联网企业,TO C类业务,我推荐用JS监测,PC、移动都容易上手,上线就有数据。

Q: 你好,之前在站点运营中常遇到“以空间换时间”的情况 比如加内存 升配置 加宽带 请教一些比较经济适用的方法 (其实程序的成本也是很高的,优化程序需要时间,程序只能说按照各框架规则写出常规的程序)虽然之前那些做法省去了开发成本 但无疑是增加了运营成本维护成本

A: 带宽的发生主要是前端内容,这里决定了主要成本,访问日志中可以分析出TOP带宽消耗的元素,针对带宽大户进行优化就好,性能和成本双重收益。后端升硬件配置,在时间和人力及不确定性的情况与没有选择的,但与架构、代码并行优化也是需要的。

本集Q&A来源于开源中国高手问答活动

时间: 2025-01-01 08:36:39

大型网站性能监测、分析与优化常见问题Q&A的相关文章

《网站性能监测与优化》一导读

前 言 网站性能监测与优化 这是一本可以让读者全面了解Web可视性的书.现在多数事情都和Web有关,如果读者正在从事Web相关的工作就需要理解哪些事情会影响Web.当然,每件事都会有影响,也就是说影响因素已经超出了访问者对网站的访问和相关的竞争者. 虽然Web已经成为我们日常生活的一部分,但是Web可视性却差强人意.Web运维人员很少能对访问者与网站交互.Web资产健康.在线社区如何谈论组织.竞争对手所从事的工作有完整的理解.他们所了解的可视性很零碎.不完整. Web运维人员没有必要这样做.最近

《网站性能监测与优化》一第2章 网站处在怎样的行业中2.1 媒体网站

第2章 网站处在怎样的行业中 网站性能监测与优化对每种Web业务都需要监测其特定的关键性能指标(KPI),以衡量其运营情况.尽管有一些重要的通用指标,比如性能和可用性,但是每种Web业务都有其自身的目标.每种业务都有其自己的用户群体.竞争对手,这意味着需要监测整个Web而不仅仅是只监测自己的网站. 考虑如下例子,一个搜索引擎网站和一个电子商务网站,搜索引擎网站的目标是提供给用户搜索内容,并显示相关广告,使用户访问这些广告,从而获得广告收益.因此,用户离开搜索引擎网站,并前往相应的广告站点就是成功

《网站性能监测与优化》一1.2 旧的不去,新的不来

1.2 旧的不去,新的不来 网站性能监测与优化传统的市场营销费时费力.例如,推出一种新的软饮料或新品牌肥皂,从设计到用户最终的购买过程,其中需要耗费数月的工作和大量的金钱. 考虑一个传统的.大约在1990年的企业,每一年度,决策人员开会制定企业计划并设定长期目标.然后在每个季度,中层经理对照这些目标评价自己的工作业绩和效能. 每季度的分析总结会显示销售任务是否完成.通过这样的分析,企业能够确定某一地区.某种产品或者营销策略是否运作良好.随后,决策人员会调整预算,增加或削减员工,或者要求研发部门对

《网站性能监测与优化》一1.3 隐私问题:追踪他人

1.3 隐私问题:追踪他人 网站性能监测与优化在本书中,我们将要观察Web上的用户活动.将用户身份和相应的分析数据结合起来,从而改进企业的业务,但这种行为可能会导致对用户隐私的侵犯,引起一系列道德和法律问题. 为了弄清网络上发生的事情,你需要将大量的数据编织起来:页面检索.博客评论.调查结果.推介网站.性能参数等.孤立地看其中一项数据可能没有太大帮助,但将这些数据综合起来分析,就能够提供很多有用信息,为企业提供有力的决策支持.同时这些分析也展示了单个用户的在线行为. 收集用户的上网冲浪习惯和浏览

《网站性能监测与优化》一第1章 为什么要观察监测Web网站1.1 当前Web监测现状

第1章 为什么要观察监测Web网站 网站性能监测与优化精明的企业往往犯错误更快. 无论你在哪一行,有一点总是相同的:没有人能第一次就成功.无论是新企业的起步还是跨国公司推出一个新品牌,人们总是在不停地调整企业策略,直到找出通往市场最佳的路径. 在这方面没有捷径可走,只有投入大量时间和资源进行尝试,在此过程中,越早意识到错误并立即加以改正,所付出的时间和金钱代价就越低. 这种改正也许只是对信息.可用性或目标市场作出简单的.微小的改变.这种改变可能是巨大的,比如从产品转向服务,转向不同的市场客户群体

《网站性能监测与优化》一2.2 交易网站

2.2 交易网站 网站性能监测与优化可口可乐的第一任首席市场官Sergio Zyman描叙成功的市场为"卖更多的产品给更多的人.赚取更多的钱". 这里有一系列交易网站所关心的要素:完成交易,增加用户,鼓励购物,鼓励回头客.BestBuy.com.ThinkGeek.com.Expedia.com和Zappos.com就属于此类网站. 商业模式图2-2说明了交易网站商业模式的基本要素. 1.用户通过原始搜索(与赞助商链接或者竞价排名相对)结果.市场营销.付费广告宣传.口碑.社会化网络等多

《网站性能监测与优化》一2.3 协作网站

2.3 协作网站 网站性能监测与优化协作网站同媒体网站一样,也是从商业广告中获利.但在早期,网站必须首先发展其用户群体,增加知名度和流量,从而吸引广告商前来投放广告,它通常更集中于如何提供有价值的内容,并被搜索引擎认可和发现,同时网站需要保持一个生机勃勃的用户群体,使网站不断成长. 一开始,协作网站可能需要人工发布一些内容.Wikipedia(维基百科)曾招募了数以千计的图书馆管理员协助起步充实其网站内容,Flickr开始是依靠人工编辑来给公布的图片评级,直到其用户群体发展壮大后才使用网站投票进

大型网站的实例分析 掌握构建大型网站的架构

本文主要以理论为主,建议您阅读下面的相关阅读,是关于国外大型照片分享网站Flickr的http://www.aliyun.com/zixun/aggregation/11116.html">网站架构方案研究,很实际很有用. 学习和掌握构建大型网站的架构,需要汇总散落的文章,梳理零散的内容.做好这项工作很有意义,但是也比较困难.我们的体会是,不妨抓住以下几个主题,逐个分析大型网站的实例,然后横向比较. 1. Database 数据存储历来是麻烦,尤其是需要存储海量数据的时候,往往单个数据库容

加速PHP动态网站 MySQL索引分析和优化

本文主要讲述了如何加速动态网站的MySQL索引分析和优化. 一.什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录数量越多,这个操作的代价就越高.如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置.如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍. 假设我们创建了一个名为peo