作为全球最大的职业社交网站,LinkedIn会员人数在世界范围内已超过4亿。而随着LinkedIn超高访问流量和海量用户数据压力的不断增加,持续对系统架构进行改进和优化是其压力背后有力的技术支持。对于其中的系统性能优化技术和实践方案,也是我们最为关注的,更值得我们学习借鉴。

\\

2016年8月18-19日,由极客邦、InfoQ和听云联合主办的APMCon2016中国应用性能管理大会将在北京举行(现在报名,享6折优惠),聚焦当前最为关键的移动端、Web端和Server端的性能监控和管理技术。本届大会,我们有幸邀请到了LinkedIn Staff Software Engineer庄振运,前来分享《容器里面乾坤大:采用容器部署应用的性能考虑》的内容,讲述他在LinkedIn所从事的系统性能分析和方案探索过程中的经验与实践。

\\

现在我们就来采访庄老师,来了解LinkedIn在性能优化上的技术考量,其内部技术氛围,以及工作之外的庄老师!

\\

InfoQ:您的工作经历很丰富,曾在Oracle、Salesforce、Internap和德国电信等公司工作过,目前在LinkedIn从事性能优化的工作,这一路走来,每一次出于什么原因或者考虑而决定换新工作,工作多年有什么感受和体会?

\\

\

庄振运:我的经历相对很多人来讲的确比较丰富。我大学毕业后先去国家部委做了几年公务员,然后连续读了两个硕士和一个博士。工作和实习过的公司大小不一,有不超过十个人的起步Startup公司(后来被收购了);也有几百人的中小公司;还有上万人甚至十几万人的大公司。在这些公司的工作内容虽然分布在不同领域(比如CDN网络性能,手机性能,系统性能等),但基本上都是性能优化相关的。每个公司工作领域不同,公司文化和大小迥异,但这些经历给予我不同方面的经验和视角。我认为这样的机会是非常难得的。

\\

我个人比较喜欢接受新的挑战,点子和创新比较多,不太喜欢按部就班的简单重复性工作。如果一份工作对我失去挑战性,就会考虑换个岗位。

\

\\

InfoQ:请介绍一下您目前在LinkedIn的主要工作职责?

\\

\

庄振运:我加入LinkedIn三年多了,一直做Performance方面的工作,主要集中在系统性能方面,包括Java,Linux,网络,存储等等。日常职责包括系统性能问题的分析和解决,同时也从事相关的性能工具开发。

\

\\

InfoQ:请详细介绍一下您在计算机性能方面的工作成果,包括学术研究和工程优化方面?您拥有多个国际专利,这些专利是否已经现实应用,具体运用在哪些领域?

\\

\

庄振运:我十多年来一直从事计算机性能方面的学术研究和工程技术优化。从在清华大学读研究生时候开始进入计算机性能领域,当时是做多媒体多播协议的性能。后来出国去佐治亚理工大学读博士,主攻无线移动网络中的应用性能优化。在公司实习上班继续在相关性能领域工作,尤其是计算机系统的性能优化方面。

\\

我个人比较善于提出创新想法和新点子,也喜欢总结和深入探索一些性能方面的技术。所以,即使博士毕业,我还是坚持发表学术论文,到现在应该有30多篇了。

\\

你提到的专利情况。有些专利已经被运用在产品中了,有的正在实现阶段,还有些是在计划实现。比如我提出的互联网多点加速专利,是在实习的时候申请的,早就被作为主要技术之一运用到平台中了。再比如JMS消息压缩的专利,也被运用到产品中了。

\

\\

InfoQ:像您之前写的《Designing SSD-friendly Applications for Better Application Performance and Higher IO Efficiency》这些论文讲的主要内容是什么?你们技术团队内部有写论文的硬性要求吗?LinkedIn的技术氛围如何?

\\

\

庄振运:我个人喜欢把平时做的东西做一些总结和深化的研究,然后写成论文发表。公司没有写论文的要求,纯属个人爱好。

\\

你提到的这篇论文是讲关于SSD的。众所周知SSD和硬盘(HDD)比起来,IO性能要好些,所以很多软件应用采用SSD后,性能(比如软件的吞吐量或者延迟)一般会变好。在网上有很多这样的博客或者文章在谈说某某软件应用因为采用了SSD,性能提高了多少多少倍。但是在我看来,这样简单采用SSD的方式并没有真正把SSD的潜力发挥到极致。因为SSD不仅仅是个更快的“硬盘”,它有自己的不同的内部机制和优缺点。如果软件开发人员能够知道这些特性,在开发时对SSD的特性扬长避短,那么实际的软件应用性能会更好。

\\

LinkedIn的技术氛围还是不错的。公司每周都会有至少一次的Tech Talk。每个人都可以自愿报名给报告,讲讲自己或者自己组里做的东西。因为工程部门很多,涵盖的内容很多。包括前端,后台,大数据处理,移动App等等都会讲到。个人从里面获益很多。

\

\\

InfoQ:可否介绍一下LinkedIn超高访问流量和海量用户数据压力背后的技术支持吗?

\\

\

庄振运:LinkedIn这些年来随着用户的增长和流量的加大,一直持续对系统架构进行改进和优化。这篇博客文章讲了部分的历史。在这个过程中,我们开发了很多有特色的产品,有些产品后来都开源了。比如我们开发了Kafka来驱动实时的数据流,Samza来进行流处理。对于数据分析方面,我们有Pinot。Key-Value数据库方面,我们有Espresso,Databus和Voldemort。对于动态负载平衡方面,我们有自己的服务架构D2(Dynamic Discovery)和R2(Request Response Framework)。网络方面,我们整合使用多家CDN网络并且使用多个数据中心。

\

\\

InfoQ:您之前在QCon演讲中说到,一些运行在JVM上的应用程序会偶尔出现长时间的STW(Stop-The-World)JVM GC停顿,会导致应用程序的高延迟。如何进行深入分析,来发现造成JVM GC停顿的“非典型”的原因,这些原因又分别有哪些?通过什么方法来解决这些问题?对工作成效的改善体现在哪些方面?

\\

\

庄振运:LinkedIn很多的后端产品都是基于Java的。作为Performance Engineer, 我们经常需要和其他的组一起合作来分析和解决一些和JVM有关的性能问题。 我们的产品多数是在线的,所以不能容忍大的JVM停顿。

\\

引起JVM停顿的原因很多,有应用本身造成的,也有OS造成的。我在QCon北京2016上的演讲就是针对OS导致的JVM大停顿。OS导致的停顿不像其他原因一样比较容易发现,而是“非典型”的。这些问题的原因是“跨层”的,就是由应用层,OS层和硬件层的交互导致的。

\\

OS导致的JVM大停顿又分几种情况,需要对症下药。比如JVM调优、OS调优甚至升级硬件。具体的细节大家可以看我的大会Slides或者Video。

\

\\

InfoQ:可以介绍一下APM在LinkedIn的应用场景有哪些吗,以及在技术上有什么优势?

\\

\

庄振运:LinkedIn在APM上面投入很大,有几个系统我觉得做得很好。一个是inGraphs, 可以做到让任何一个应用和服务都把各种性能相关的数据指标发送到后台处理,然后在前台随时调阅。另外一个是RUM(Real User Monitoring),可以把所有用户的页面访问实时的收集起来,以便进行各种分析和优化。还有一个是EKG,能够自动化Release产品的性能测试和比较。这些产品的特点是自动化和智能化。比如EKG,可以允许用户自己定义性能指标,如果性能指标不能达到,系统会采取相应的措施,比如停止部署。

\

\\

InfoQ:您即将参加8月份在北京举办的APMCon技术大会,分享LinkedIn采用容器部署应用方面的一些性能考虑,可否具体介绍一下?

\\

\

庄振运:随着云计算的普及,越来越多的服务在容器(比如Docker)里面部署。相对于传统的非容器环境,容器部署对APM提出了新要求。一方面容器的运行需要监控新的性能参数,比如容器的虚拟内存地址空间使用(Virtual address space)和和守护进程的资源使用。另一方面容器的特殊机制会导致各个容器间在很多情况下互相影响性能(比如有内存压力时)。在APM部署应用时需要尽量避免这些情况。如果容器中的应用发生性能问题,APM可以针对容器的特点帮助诊断。

\\

这个演讲会分享LinkedIn使用容器部署中的一些经验。我会重点介绍容器部署中几种影响性能的场景,比如内存压力场景,JVM在容器内运行的场景,不同容器互相干扰的场景等。这些经验对如何适当部署,有效监控和快速诊断容器里面的应用性能会有帮助。

\

\\

InfoQ:您个人对应用性能管理有怎样深刻的理解?您觉得参加APMCon2016垂直领域大会的意义是什么?

\\

\

庄振运:在大数据时代,我认为应用性能管理在现代互联网公司运行中的地位将日趋重要。公司里面产品通常很多,为了能够处理大数据流量,经常需要部署很多实例。这个过程随着公司的壮大会越来越复杂。所以APM需要尽量采用一些公认的原则和方法。这些原则和方法不是凭空诞生的,是从交流,讨论和总结中得出来的。

\\

业界这么多互联网公司,每个公司的APM系统都不尽相同,所以我觉得让公司和工程师们有个交流的机会很重要。我很高兴看到你们组织这次APMCon2016大会,相信参会者会受益良多。

\

\\

InfoQ:LinkedIn被微软收购后,工作内容是否有调整变化?可否分享一下未来的工作计划?如何看待LinkedIn被微软收购这件轰动IT圈的大事?

\\

\

庄振运:相信大家对于收购后如何整合两家公司的技术和平台都有很多期待。作为员工,我也很期待。因为最后的收购到年底才会完成,现在做解读还为时过早。

\\

我个人认为这次收购是比较典型的双赢合并。从LinkedIn角度来讲,LinkedIn会充分利用两个公司的长处,对产品的架构和业务进行重新定向和升级。但是这个过程将是渐进的,不会很快就产生剧烈的变动。我们一起拭目以待。

\

\\

InfoQ:您工作之外,喜欢中国国学文化,尤其热爱历史和唐诗宋词。请分享一下这些喜好给您的工作和生活带来了哪些不一样的收获,如何将文化运用在个人生命中?

\\

\

庄振运:作为一介码农,而且是在美国硅谷的码农,喜欢中国国学似乎有点不合逻辑。不过每个人都有与工作无关的爱好和思想。我一直喜欢品读历史和加强文学知识,很认同古代的士大夫的价值观和责任感。

\\

另外也深刻感到当今社会在转型期所出现的很多方面的文化空虚和道德危机,这些负面现象和我们传统的儒家价值观是相背的。所以一直希望能够在弘扬国学文化方面能尽点绵薄之力。要弘扬国学,首先就需要丰富的底蕴。所以只要一有机会就会吸收这些知识,也会自己创作一些,比如诗词。当然,家人和朋友们对我的创作的欣赏不仅令我高兴,也起到了鼓励作用。国学的学习就成了我工作外的调剂,这对我各方面都大有益处。说个好笑的例子,老婆笑说我现在气质比以前好了很多,我回了一句:腹有诗书气自华嘛(^_^)。

\

\\

InfoQ:感谢庄老师接受我们的采访,期待您在APMCon2016大会上的分享。

\\

感谢陈兴璐对本文的审校。

\\

受访嘉宾介绍

\\

庄振运,LinkedIn Staff Software Engineer,现在美国加州 LinkedIn(领英)任职,从事性能优化的工作。曾在Oracle、Salesforce、Internap和德国电信等公司实习和工作。长期从事计算机性能方面的学术研究和工程技术优化,在互联网、无线网络、分布式系统、Java、操作系统和存储系统等多个领域发表过30余篇国际论文,拥有10多个国际专利。

LinkedIn庄振运:从国家部委公务员到硅谷系统性能专家,创新是唯一主旋律相关推荐

  1. 国家部委对4G调研:未定给中电信联通发放牌照

    一场有关4G牌照发放的论战正在发酵,矛盾的核心在于,除了中移动外,政府是否也会向中电信和联通发放TD-LTE(中国主导的4G标准)牌照 记者 王云辉 雍忠玮 一场围绕4G的新博弈已经白热化. &quo ...

  2. 任志远先生,庄振宏先生就任新加坡区块链技术基金会理事

    2018年5月7日,BCF荣幸地邀请到任志远先生担任BCF理事.BCF另外5位理事是谭磊.吴幽.庞华栋.邢大地.曾怿. 任志远先生17岁在DoNews实习,20岁成立北京互联港湾科技有限公司,互联港湾 ...

  3. 国家部委BIM工程师系列岗位考试【亮点】

    住建部2015年下发关于推进BIM指导意见[亮点] 1.要求:2020年末,以下新立项项目勘察设计.施工.运营维护中,集成应用BIM的项目比率达到90%: 2.要求:在招标.工程变更.竣工结算等各个阶 ...

  4. 国家科技奖获奖项目巡礼:创新英雄们这么说

    国家科学技术进步奖一等奖获得者徐芑南 创新要有勇气和底气 <script type="text/javascript"> /*文章页正文*/ var cpro_id = ...

  5. 服务器实时状态检测源码,开源运维监控框架Netdata——实时监控系统性能

    开源运维监控框架Netdata--实时监控系统性能 开源运维监控框架Netdata--实时监控系统性能 作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况. ...

  6. 钟南山团队在患者粪便中检出新冠活病毒,国家卫健委回应!专家:做好这事很重要...

    全世界只有3.14 % 的人关注了 青少年数学之旅 2月13日下午,在广东省人民政府新闻办召开的疫情防控新闻发布会上,钟南山院士团队成员.广州医科大学国家呼吸疾病重点实验室副主任.教授赵金存介绍,该团 ...

  7. 开源创新已成为创新国家建设的战略需求——《开源创新:数字化转型与智能化重构》新书发布...

    3月15日,机械工业出版社.中国计算机学会联合主办了<开源创新:数字化转型与智能化重构>新书发布会. 3月15日,机械工业出版社.中国计算机学会联合主办了由中国计算机学会出版基金赞助项目支 ...

  8. Java性能调优、LinkedIn容器部署、阿里移动性能调优——首届APMCon精彩演讲先睹为快...

    APMCon2016,在盛夏的8月等你. \\ 作为第一届APM垂直领域的技术大会,我们能拿出什么呈现给参会者? \\ 答案是,除了会场可以纳凉避暑之外,还有来自国内外顶级技术大拿带来的Java性能管 ...

  9. 拿到互联网大厂几十万offer,我仍然在备考公务员

    今天就是2021年的国考了!我的读者里想必有很多全力备战的同学,祝你们考出高分,顺利上岸!但如果你亲自看到了这条祝福的话,那请问你为啥还在玩手机... 我发现这几年考公队伍不断壮大,应届毕业生在考,毕 ...

  10. 全球首届APMCon,带你给“应用性能”把把脉

    前段时间,美国苹果公司应用程序购买商店和手机等一系列应用因技术故障中断服务,持续了约两个半小时.故障发生后,世界多地苹果用户纷纷吐槽无法购买和更新手机应用.无法备份等.其实,这不是苹果公司在线服务第一 ...

最新文章

  1. mmap映射大于4g的文件_尴尬,win10镜像文件install.wim大于4G,如何将它装进U盘
  2. 判断访问接口的设备是安卓还是ios
  3. Financial Managemen
  4. Tab选项卡界面(1)
  5. 亚嵌协办 博文视点Open Party第5期 参会感言
  6. SQL-Server2008数据库异常报错
  7. iQOO Neo6 SE什么时候发布 iQOO Neo6 SE配置如何
  8. 微软2022年10月补丁周二修复了84个漏洞
  9. 计算机专业考研 数学分析,(NEW)中山大学数据科学与计算机学院数学分析(A)历年考研真题汇编.pdf...
  10. 测试用例管理工具有哪些?
  11. mysql查询条件忽略大小写_mysql 查询条件不区分大小写问题
  12. qq第三方登录所需appid
  13. 2021东三省数学建模竞赛a题
  14. 如何复制VMware虚拟机
  15. broadcom linux 博客,Broadcom SDK6.4.4驱动架构简单理解
  16. 多图理解MySQL事务的隔离等级,脏读,不可重复读,幻读的几大概念
  17. 瑞星2010暴力公测说明什么问题?
  18. 给工商银行信用卡中心发传真
  19. 欧盟调查显示100Mbps宽带网络建设需5020亿欧元资金
  20. 问题解决——Win7 64 安装 AutoCAD 2010 32位 和 清华天河PC CAD

热门文章

  1. hdu 1233还是畅通工程 最小生成树(入门题)prim算法
  2. fatjar: eclipse导出工具
  3. 从头开始学做 canvas 动画引擎
  4. 笔记本无线网卡变身热点供手机Wi-Fi免费通过宽带上网
  5. SpringMVC——架构,搭建,SSM搭建,POST请求乱码问题,参数转换器
  6. jQury+Ajax与C#后台交换数据
  7. ios真机中Text组件出现多余边框
  8. Java应用基础微专业-设计篇
  9. 如何求最小三元组距离
  10. tablelayout高度问题