说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

LinkedIn分布式实时性能跟踪与效率优化实例

HTML文档下载 WORD文档下载 PDF文档下载
为了实现对多层服务性能分析的需求,Linkedln建立了实时监测系统,本文的重点是围绕inCapacity工具以及从Samza获得的数据,透过使用实时调用关系图进行有关分析。

【编者按】LinkedIn领英作为全球性职业社交网站,为了能更好地服务用户,提供更加稳定可靠的系统访问服务,LinkedIn在监控方面下足了功夫,建立了自己的实时监测系统。近日,LinkedIn资深工程师Cuong Tran发表了一篇博文,阐述了LinkedIn是如何结合工具inCapacity,通过使用调用图来进行有关性能和问题根源的案例分析。

Linkedln(领英)的基础架构是面向服务的,即使是单个PV(页面浏览)请求也会涉及多个下游服务的调用。所以作为开发者来说,应当重视这些服务间的关系以及相互的性能影响。

为了实现对多层服务性能分析的需求,Linkedln建立了实时监测系统,具体请阅读 基于Apache Samza,揭秘LinkedIn架构背后的技术。而本文的重点是围绕inCapacity工具以及从Samza获得的数据,透过使用实时调用关系图进行有关分析。

利用inCapacity进行端对端性能和效率分析

以下是一个从移动端到网站前台服务的请求示例。


该请求会依次地向多个下游服务发出服务调用。根据前述ApacheSamza Blog 里所说,同一向内调用的服务跟踪会被分组然后重编为消息总线上用于实时分析的单一事件。同一个Web页面的请求会被相同的pagekey标记,这样做的目的是使性能和效率分析着眼于Web应用上下文而不是个别的应用。比方说,移动应用和数据库服务的区别。

透过请求ID,inCapacity会对同一向内调用进行跟踪,遍历调用路径,以不同的指标根据具体的应用上下文进行性能分析。这过程中能帮助开发者取得下述几个重要的性能数据:

  • 服务或应用的使用频率;
  • 哪些服务用时最多;
  • APIs的调用频率,以及哪些APIs会对服务造成最大压力。

inCapacity反映的是架构中使用最频繁的情况;因为服务都是有规律地变更,该信息对于查找什么变更会影响或提升性能是很有帮助的。

请看以下一个简单的调用路径图:


  • 调用路径性能:对于每个调用图中的每条调用路径,inCapacity会进行跟踪计数和对每个API调用的返回时间进行记录。如果一个API会进行向下调用,inCapacity会提取出调用等待时间;其结果是API自身延时数据。例如在上图中,Svc_B中的API_B会依次调用API_C1和API_C2。API_B的自身延时不同于从API_B到API_C1和API_C2之间的延时总和。因此,在比较API自身延时和API总延时时,inCapacity能够判别出造成延时的主因来自于自身还是向下调用。沿着调用路径进行API调用和性能跟踪,能够让开发者了解到APIs对页面的依赖以及性能。
  • 服务负载:对于调用路径中的每个服务,inCapacity会对每个页面的每个向内调用进行计数和延迟汇总。由于跟踪数据会被pagekeys进行标记,inCapacity能对请求发起者的负载进行分组,发起者会是页面或应用,而不仅仅是当前调用者。这样一来可以更好地基于页面上下文进行服务负载分析。

Linkedln中,每15分钟会进行页面调用路径聚合计算。因此API的计数和延时结果是每15分钟的总计数和平均延时。

除了进行性能和根源分析,调用图还可以进行web页面效率分析。例如,对页面发出的向下调用进行开销汇总以计算出页面开销。页面的服务开销与服务的页面负载是成比例的,这类似于页面服务总延时的汇总计算。

最后对于能力计划方面,调用图也是能派上用场的。举例来说,如果想在下一季度把PV提高20%,我们需要对硬件配置进行升级评估。又或者是针对新功能事前进行性能和关联服务性能分析。因此需要做好开销和效益间的平衡取舍。

使用inCapacity进行性能分析

进行web页面应用分析时,使用的是一种自上而下分析法,从高阶概要到具体调用路径,最后延伸到随机抽取调用树。

  • 概要视图从总体上显示了应用对服务的依赖度以及服务的使用频率。inCapacity首先显示了使用得最多的服务。


  • 调用路径视图中显示出从初始PV请求到每个下游服务的完整调用路径。开发者可以进行更细粒度的详细评估,例如应用中服务和APIs的依赖以及性能表现。这种广泛性视图能帮助找出被开发者忽略的向下调用问题,例如后端存储慢的问题。inCapacity会对同一调用级别的调用进行堆排序,以最慢->最快的顺序列示出调用路径。排序的依据是API总延时,是调用计数和平均延时的输出结果。


根据上图数据,造成GET /aaa请求响应慢的原因在于对Service_C的调用,即GET /aaa的自身延时慢于等待时间。如果服务的自身延时比向下调用等待时间还长,那么该服务是响应最慢的服务。继续往下看,可见Service_F是响应最慢的服务。

当进行自身延时计算时,inCapacity会对并行的向下调用进行计算。而并行调用重叠的等待时间会被剔除。

  • 单个调用图视图。该视图显示的是一个随机采样调用图。开发者可以依照时间线查看和检验跨数据中心的服务调用次序。在该瀑布试图下,开发者可以找出需要改进的地方以及分析出向下的调用频率和次数是否合理,2个向下调用之间的时延是否可接受的,又或者对这些调用采用并行方式会否会更加高效。


inCapacity允许开发者进行下列两种流量分析:

  • 性能分析:识别出调用服务的页面,所使用的APIs,使用频率,以及相关的服务性能。分析对象可以是向内和向外调用。
  • 依赖分析:找出受APIs调用与否影响最大的页面。

使用inCapacity进行根源分析

要想对Linkedln这样大型的网站进行性能问题的根源分析是有一定困难的;借助inCapacity的调用图性能比较特性则可事半功倍。

在对不同时间段的调用图进行性能对比时,inCapacity首先会根据总延时对调用路径进行堆排序。然后对不同调用级别的路径进行自身延时比较。如果发现自身延值较大,那么该API便是影响调用性能的问题所在。否则,分析程序会进入下级路径然后重新执行上述判断直到完结。

下图显示了如何使用调用图性能比较来进行Service_B服务调用的问题根源分析。


这里根据时间线和当前时间进行了平均自身延时差值比较。第一级的延时是24.4ms,自身延时仅为5.6ms,因此问题出在下一级。利用类似的思路,我们发现Service_D的自身延时达到11.4ms,所以该调用的性能问题出自Service_D。以此继续分析后得知问题根源是DB会话超限。因此,利用inCapacity进行根源探究是非常便捷的。

综述

实时分布式追踪与调用路径在评估Web应用性能方面是不可缺少的。对性能和服务开销的分析不应孤立进行而是进行综合分析。本文结合工具inCapacity,通过使用调用图来进行了有关性能和问题根源的案例分析,希望对开发者有所启发。(编译:伍昆 责编:张红月)

英文来自:Linkedin Engineering

Delphi之三十六计之输入处理篇 DELPHI中DFM文件与文本文件转换 Delphi中用于读写的文件类型 RichEdit的自动格式化-Delphi资料 RichEdit中实现查找功能-Delphi资料 表格上所有元件载入后的事件-Delphi资料 充分利用Windows API扩展Delphi函数 传递焦点的五种方法-Delphi资料 从 实 例 看 Delphi 4 中 的 动 态 得到Memo中当前的行列号-Delphi资料 改变RichEdit的游标位置-Delphi资料 回车代替Tab移动输入焦点-Delphi资料 获取Windows临时路径-Delphi资料 获取当前鼠标位置的类名和句柄-Delphi资料 检测存在打印机-Delphi资料 将BMP文件转换为JPG文件-Delphi资料 类似链接的效果-Delphi资料 利用COM技术实现外壳扩展的属性页-Delphi资料 留意DELPHI的命名规则 判断元件有哪一特定的属性-Delphi资料 全局热键-Delphi资料 让自己的程序防破解-Delphi资料 如何查找一个目录下的某些特定的文件-Delphi资料 如何在全屏幕显示一个AVI文件-Delphi资料 删除文本文件中的多余空格-Delphi资料 实现Hint的分行提示-Delphi资料 实现应用程序的文件拖放功能-Delphi资料 死循环的控制权转让-Delphi资料 添加桌面快捷-Delphi资料 统计中英文字个数-Delphi资料 为 应 用 程 序 添 加 口 令-Delphi资料 请问数据库应用程序如何制作安装程序? 笔记本突然出现很多马赛克,然后死了,大概是什么原因? 各位大虾请进 求:0,1,-1的N长度组合算法 各位问一个比较少见的问题100分相送,急急急!!! 这样的条件判断语句要怎么写?(很简单的) 一款很不错的电子图书制作、资料管理软件 在-卢-<<利用XML实现通用WEB报表打印>>时报:未将对象引用设置到对象实例 DBEdit如何限制输入格式? 简单问题 ★★★狂急!请问怎样取得文件的创建日期!在线等!在线结贴!★★★ 初学xml,很简单的问题,就是不会,各位近来看看!一行代码搞不定… 有没有用于unix下c开发的dbx调试图形界面的工具? 哪位有tar 和 gzip 命令参数的详细中文介绍 jsp网站测试,欢迎大家测试 提问 请问有没有直接可以HTML(XHTML、SHTML)生成XML-XSL!!的工具 进程外组件的关于注册的问题? jsp中怎样生成静态页面 请问:如何返回webservice类的一个或多个实例? 怎样触发另一个窗口中的javascript函数? 谁能提供一些检测内存泄露的工具或方法 如何将 FoxBase 中的数据导入到 SQL Server 中? 求助:API操作注册表出现奇怪问题 请问如何改变windows xp中的用户的登陆顺序 有问题:如何通过页面下载附件? 求助:VB生成安装文件的问题 下面的程序怎样优化?(着急) 怎么样在C++ Builder 的Form上显示文字!我不要用控件,要直接显示在Form上 200 分相送 高手请进 请教如何写成特殊格式文件的存取的问题. 适配器更新数据集怎么用事务 怎样才能设“开机密码”? 哪位高手可以给我介绍一下TOMCAT和APACHE,我刚接触,需要了解一下 关于SocketConnection. 进入linux8.0后,主板指示灯闪烁问题,请高手指教。 谁给一个QQ给我啊? 高分请教? 如何查看一个记录集中游标的位置。 求一个简单的窗口函数 请问如何实现计算器功能 如何修改这个脚本?(应该比较简单) 大伙能否谈谈.net整体软件框架的设计 来者有分:调查:大家是在用vc.net还是用vc60,我在用vc60 用SQL SERVER如何实现插入数据后立刻取出插入的数据的id?在线等待,急~~~~~~~ 关于JTree ppt 大家帮我看看这个方法错在哪里?分不是问题 请问获取中文操作系统下获取文件信息时lang-charset的取值为什么????? CSDN论坛左边的树形栏目能动态添加吗? 如何设置几秒钟后转向某页面那种效果。 为什么会有恐怖主义,他们针对的是什么? affirm和allege的区别用法和意义上 武则天和唐玄宗之间是什么关系 传递函数系统稳定性请问一个闭环系统的传递函数为Q(s)=s^2(s+1)/(s^3+s^2+K)为什么对于所有K不等于0都是不稳定的?怎么看出来的? 哪位ANSYS高手解决一下 constraint equation 1 has no unique degree of freedom 哪里出错误了?constraint equation 4 has no unique degree of freedomANSYS模态分析 最后计算出现这个问题 搜索网上出错的地方,有一个212什 在一个圆中有两条弦相交于一个定点且这两条弦互相垂直.求这两条弦乘积的最大值和最小值. 体育中极限强度的含义? 拨云见日的意思 土壤水解性氮的测定中使用什么规格的微量滴定管?有液相色谱仪,但不知到检测方法,望好事做到底,提供详细检测方案。可发到wangchuan.888@136.com邮箱,先谢谢了。 100ml的HNO3(浓度:0,01mol/L)和200ml的HCL混合,PH为1.75,求HCL的浓度. 2005年5月11日,台湾亲民党主席宋楚瑜应邀到清华大学演讲.此前北京连日下雨,这一天阳光灿烂.演讲一开始,宋楚瑜就以“拨云见日”来表达他此时的感慨.请问“拨云见日”的双重含义是?请帮 requested feature is not available 弯曲极限强度与切应力和正应力有什么关系?没听过弯曲极限强度啊? 拨云见日什么意思 sketchup如何用测量工具实现缩放rt 我要把一个物体缩放到一个实际尺寸 用测量工具以前可以 输入一个数字整体就变了 现在忘记怎么弄的了 - 为什么楼上的卫生间冲水时,下水管道会有非常响的撞击声?我们家住9楼,为什么楼上的卫生间冲水时,卫生间顶上的下水管道会有非常响的撞击声?这声音类似"空咙,空咙"的撞击声,而且楼上冲水 拨云见日的含义 sketchup模型大比例缩放后,点击进入块时会出现观察上的破面,使继续修改时很难进行,如何避免?是指观察时产生破面 实际上并没有破,如何做到缩放后还能继续操作修改?我指的是大比例缩放后 空间中PQ两点处各固定一个点电荷 其中P点怎么看出来PQ是等量异号电荷的? 拨云见日的感觉是什么意思 邓小平在文化大革命时期,情况如何?后期有没有掌权,做出贡献 PQ是某电场中的的一条电场线,将负电荷从P点由静止释放,只在电场力的作用下沿电场线运动到Q点,这过程中电荷的VT图像如图B所示,正确的是?D这电场是点电荷形成的电场,这句话为什么错 垂体和甲状腺为什么可以相互调节?甲状腺的负反馈不是作用于下丘脑吗? 电子显微镜中,能不能用X-ray取代电子光源,为什么 英语翻译歪脖老母的传说歪脖老母距今1500多年历史,来这里朝拜的人很多.他是观世因化身之一,被信徒们称为有求必应的灵验之神.他是全世界唯一尊“歪脖”佛像.当年,南海落潮,水面上出现 翻译two-linear-degree-of-freedom robot 电镜技术中可否用X-ray取代电子光源 自来水管呜呜叫怎么回事 成为拨乱反正和改革开放的思想先导的事件是什么 ICPMAX和X光衍射仪和扫描电镜和气象色谱仪和原子吸收的实验室安装条件,知道一个也行啊, 自来水管为什么会响?我家的自来水管经常响,而且声音非常大,有时象火车的轰隆声,有时象火车的汽笛声,吵得人睡不着觉.为什么会这样? 过圆内某点的弦中,垂直于直径的弦最短.是不是定理? 马克思主义哲学原理(第2版)课后题答案陈先达主编,人民大学出版社的版本.就要课后复习题的答案.有的请速发,分稍后给主要是内容提要里面的文字表述不严谨,要是考试答题那么些的话能得 什么叫极限跑酷运动? 反身代词的用法?youself herself himself itself myself themselves ourselves yourselves 的用法主要想知道他们分别在什么情况下用 请问长期在X光操作间会不会有什么影响? testify和verify的区别,用中文举例说说?可以参考这题:The plane found the spot and hovered close enough to ___ that it was a car.A.verify B.testify 告诉我 英语反身代词 的用法 谢谢啦 用x光给土拍摄照片如果我我用x光给泥土拍摄,会得到什么?黑糊糊的一片?土中的部分杂质?能穿透有机玻璃吗? confirm,ascertain,substantiate 区别?confirm,ascertain,substantiate 都有“确认、证实”的意思,怎么区分? 第四题. 计算下列极限.题目如图.答案是二分之一.但过程我不懂. 漩涡为什么能向中心吸物体 confirm和verify哪个可以搭配figuresQ:Did you (verify) (confirm) these figures?用confirm好,还是verify好?为什麽?请详细说明理由,不要只是复制粘贴,谢谢~!有独到见解的给与加分~!请高手解答~不胜感激…… ANSYS中 size cntrls是什么意思 漩涡为什么中间低两边高 凸透镜的成像规律物距和像距的关系当 f 求懂的人忙我做两道CAD的题.要写作图步骤如题 看好是做题步骤啊,这个东西对我很重要 祝你们永远快乐!谢谢各位哥哥姐姐们了我只有5分了 不能多给你们了 请哥哥姐姐们多费心了 已知,集合A={x|-2≤x≤2},B={x|-x ≤x≤1}对应关系f:x→y=ax若在f的作用下能够建立从 A到B的映射f:A→求实数a的取值范围.主要是B={x|-x ≤x≤1}弄不清 CF常说别BB N0 cassete with paper of the size requested is available是什么意思 已知集合A={xl-2≤x≤2},B={xl-1≤x≤1},对应关系f:x到y=ax,若在f的作用下能够建立从A到B的映射,求实数a的取值范 3dsmax 中怎么获取三维物体沿轴线的各个切面? 为什么水壶烧开好壶嘴烧开后一定距离才能看见白气 求反身代词的各种用法~(高三英语) 在非取暖期时在铁制管道内充满水,原因是在非取暖期时在铁制管道内充满水,以减缓其锈蚀,原因是———— 基本放大电路动态分析中把直流电压源视为“接地”,为什么是视为“接地”?而不是视为其他.我是知道“叠加原理”的,我的意思是为什么不把它开路悬空分析,而是要接地 打印时出现英文对话框是什么意思?英文是No cassette with paper of the size requested is available当在电脑上点打印时,出现一个对话框对话框是英文No cassette with paper of the size requested is available 然后就打 恐怖主义到底在针对谁 直流电压源除源怎么处理,接地还是短路还是断路 唐玄宗拔乱反正是什么意思? 16秒26 17岁高二女生单手玩魔方杭二中女生林心悦全国中学生物理竞赛第周日较强冷空气杀到彻底把杭州带入深秋浙医二院对抗菌药物管理动真格 有医生猪木在朝开设事务所 称愿为日朝关系做缅甸传奇双胞胎重聚 八岁即建“上帝军世界银行和联合国报告曝光索马里海盗产斯诺登发公开信谴责美英 吁全球性解决芬兰外交部长期遭入侵 媒体乱猜中俄黑韩国整形“名医” 在京多为游医【图】首度受审 穆尔西大闹法庭韩考场现高智能作弊 超小耳麦直径仅2缅甸传奇双胞胎重聚 八岁即建“上帝军西班牙警方出动便衣查黑工 一华人工厂土耳其与北约和美国在地中海举行军演德国破旧公寓发现纳粹藏品 名画估价1列支敦士登王室珍藏亮相国博朴槿惠:日本就历史问题道歉前不与安倍美国中东政策走到十字路口美国称其只在以巴和谈中发挥推动作用“不稳定之弧”挑战全球反恐剧情遭质疑 《离婚律师》陷“专业拷问42岁宁静小11岁的男友曝光“粉丝剧”即将火爆荧屏道路坑洼泥泞 市民通行不便“猫”和“老鼠”竟如此互利互惠我省与湖北省签署劳务协作框架协议为征地身亡城管申报烈士需谨慎自助游发生意外后的法律问题楼下居民私装滤网 楼上住户下水泛溢合肥“房叔”非个案:原瑶海工业园多名王毅:践行亚洲安全观,维护地区和平发饮水不再难 用电更放心永新以科技促农业发展升级哀思中迈向希望的明天新房子·老房子南康民生投资拉动经济发展王毅会见朝鲜外相李洙墉东盟地区论坛发表关于加强海空搜救协调土耳其现任总理在总统直选中获胜已成定巴以双方达成72小时停火协议中国和马来西亚主办的东盟地区论坛第四
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘