游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

改善Istio传播延迟(译文来自Airbnb)

  介绍
  在本文中,我们将展示我们如何识别和解决Airbnb的服务网格性能问题,提供对服务网格问题故障排除过程的见解。背景
  在Airbnb,我们使用微服务架构,这需要服务之间的高效通信。最初,我们正是为此目的开发了一个名为Smartstack的本土服务发现系统。然而,随着公司的发展,我们遇到了可扩展性问题。为了解决这个问题,我们在2019年投资了一个名为AirMesh的现代服务网格解决方案,该解决方案基于开源Istio软件构建。目前,我们超过90的生产流量已经迁移到AirMesh,并计划在2023年完成迁移。症状:传播延迟增加
  在将Istio从1。11升级到1。12之后,我们注意到传播延迟出现了令人费解的增加从Istio控制平面收到更改事件通知到处理更改并将其推送到工作负载之间的时间。这种延迟对我们的服务所有者很重要,因为他们依靠它来做出关键的路由决策。例如,服务器需要有一个比传播延迟更长的正常关闭时间,否则客户端可以向已经关闭的服务器工作负载发送请求并得到503错误。数据收集:传播延迟指标
  我们是这样发现这种情况的:当我们注意到从1。5秒(Istio1。11中的p90)增加到4。5秒(Istio1。12中的p90)时,我们一直在监控Istio指标pilotproxyconvergencetime的传播延迟。Pilotproxyconvergencetime是Istio记录的传播延迟的几个指标之一。完整的指标列表是:pilotproxyconvergencetime测量从推送请求添加到推送队列到处理并推送到工作负载代理的时间。(请注意,更改事件被转换为推送请求,并在被添加到队列之前通过称为debounce的过程进行批处理,我们将在后面详细介绍。)pilotproxyqueuetime测量推送请求入队和出队之间的时间。pilotxdspushtime测量构建和发送xDS资源的时间。Istio利用Envoy作为其数据平面。Istio的控制平面Istiod通过xDSAPI(其中x可以看作一个变量,DS代表发现服务)来配置Envoy。pilotxdssendtime测量实际发送xDS资源的时间。
  下图显示了这些指标中的每一个如何映射到推送请求的生命周期。
  有助于理解与传播延迟相关的指标的高级图表。
  调查xDS锁争用
  CPU分析显示1。11和1。12之间没有明显变化,但处理推送请求花费的时间更长,表明时间花在了一些等待事件上。这导致了对锁争用问题的怀疑。
  Istio使用四种类型的xDS资源来配置Envoy:端点发现服务(EDS)描述如何发现上游集群的成员。集群发现服务(CDS)描述如何发现路由期间使用的上游集群。路由发现服务(RDS)描述如何在运行时发现HTTP连接管理器过滤器的路由配置。侦听器发现服务(LDS)描述如何在运行时发现侦听器。
  对指标pilotxdspushtime的分析表明,升级到1。12后只有三种类型的推送(EDS、CDS、RDS)有所增加。Istio变更日志显示在1。12中添加了CDS和RDS缓存。
  为了验证这些更改确实是罪魁祸首,我们尝试通过将PILOTENABLECDSCACHE和PILOTENABLERDSCACHE设置为False来关闭缓存。当我们这样做时,CDS的pilotxdspushtime恢复到1。11级别,但不是RDS或EDS。这改进了pilotproxyconvergencetime,但不足以将其恢复到之前的水平。我们认为还有其他因素影响了结果。
  对xDS缓存的进一步调查显示,所有xDS计算共享一个缓存。棘手的是Istio在底层使用了LRU缓存。缓存不仅在write上被锁定,而且在read上也被锁定,因为当您从缓存中读取时,您需要将项目提升到最近使用。由于多个线程试图同时访问同一个锁,这导致了锁争用和缓慢的处理。
  形成的假设是xDS缓存锁争用导致CDS和RDS速度变慢,因为为这两个资源打开了缓存,并且由于共享缓存而影响了EDS,但没有影响LDS,因为它没有实现缓存。
  但是为什么关闭CDS和RDS缓存都不能解决问题呢?通过查看构建RDS时使用缓存的位置,我们发现未遵守标志PILOTENABLERDSCACHE。我们修复了该错误并在我们的测试网格中进行了性能测试,以使用以下设置验证我们的假设:控制平面:
  1个Istiodpod(内存26G,cpu10核)数据平面:
  50个服务和500个pod
  我们通过每10秒随机重新启动部署并每5秒随机更改虚拟服务路由来模拟更改
  结果如下:
  性能测试的结果表。
  因为我们的Istiodpod不是CPU密集型的,所以我们决定暂时禁用CDS和RDS缓存。结果,传播延迟恢复到之前的水平。这是针对此问题的Istio问题以及xDS缓存的潜在未来改进。去抖动
  这是我们诊断中的一个转折点:在深入研究Istio代码库期间,我们意识到pilotproxyconvergencetime实际上并没有完全捕获传播延迟。我们在生产中观察到,即使我们将优雅关闭时间设置得比pilotproxyconvergencetime长,服务器部署期间也会发生503错误。该指标不能准确反映我们希望它反映的内容,我们需要重新定义它。让我们重新审视我们的网络图,缩小以包括去抖过程以捕获变化事件的完整生命周期。
  更改事件生命周期的高级图表。
  当更改通知Istiod控制器时,该过程开始。这会触发发送到推送通道的推送。然后,Istiod通过称为去抖动的过程将这些更改组合到一个组合的推送请求中。接下来,Istiod计算推送上下文,其中包含生成xDS所需的所有信息。然后将推送请求与上下文一起添加到推送队列。问题在于:pilotproxyconvergencetime仅测量从组合推送添加到推送队列到代理接收到计算出的xDS的时间。
  从Istiod日志中,我们发现去抖动时间几乎为110秒,即使我们将PILOTDEBOUNCEMAX设置为30秒。通过阅读代码,我们意识到initPushContext步骤正在阻止下一次去抖动,以确保首先处理较旧的更改。
  为了调试和测试更改,我们需要一个测试环境。但是,很难在我们的测试环境中生成相同的负载。幸运的是,debounce和initpush上下文不受Istio代理数量的影响。我们在生产中设置了一个没有连接代理的开发箱,并运行自定义图像来分类和测试修复。
  我们执行了CPU分析并仔细研究了耗时较长的函数:
  Istiod的CPU配置文件。
  服务DeepCopy功能花费了大量时间。这是由于使用了copystructure库,使用goreflection做deepcopy,性能开销很大。删除库既简单又非常有效,可以将我们的去抖动时间从110秒减少到50秒。
  DeepCopy改进后Istiod的CPU配置文件。
  在DeepCopy改进之后,cpu配置文件的下一个大块是ConvertToSidecarScope函数。这个函数花了很长时间来确定每个Istio代理导入了哪些虚拟服务。对于每个代理出口主机,Istiod首先计算所有导出到代理命名空间的虚拟服务,然后通过将代理出口主机名与虚拟服务主机匹配来选择虚拟服务。
  我们所有的虚拟服务都是公开的,因为我们没有指定exportTo参数,该参数是该虚拟服务导出到的命名空间列表。如果不配置该参数,则虚拟服务会自动导出到所有命名空间。因此,VirtualServicesForGateway函数每次都创建并复制所有虚拟服务。当我们有许多具有多个出口主机的代理时,这种切片元素的深层复制非常昂贵。
  我们减少了不必要的虚拟服务副本:我们没有传递虚拟服务的副本,而是将virtualServiceIndex直接传递到select函数中,进一步将去抖时间从50秒减少到30秒左右。
  我们目前推出的另一项改进是通过设置exportTo字段来限制虚拟服务的导出位置,基于哪些客户端可以访问服务。这应该减少大约10秒的去抖动时间。
  Istio社区也在积极致力于改进推送上下文计算。一些想法包括添加多个worker来计算sidecar范围,仅处理更改的sidecar而不是重建整个sidecar范围。我们还添加了去抖动时间的指标,以便我们可以将其与代理收敛时间一起监控,以跟踪准确的传播延迟。结论
  总结我们的诊断,我们了解到:我们应该同时使用pilotdebouncetime和pilotproxyconvergencetime来跟踪传播延迟。xDS缓存有助于降低CPU使用率,但会因锁争用而影响传播延迟,请调整PILOTENABLECDSCACHE和PILOTENABLERDSCACHE以查看最适合您系统的内容。通过设置exportTo字段来限制Istio清单的可见性。
  如果您对此类工作感兴趣,请查看我们的一些相关角色!致谢
  感谢Istio社区创建了一个伟大的开源项目,并与我们合作使其变得更好。还呼吁整个AirMesh团队在Airbnb构建、维护和改进服务网格层。感谢LaurenMackevich、MarkGiangreco和SurashreeKulkarni编辑这篇文章。
  〔1〕:查看我们在Istio上的演示文稿Airbnb以了解详细信息。
  〔2〕:请注意,最后两种情况发生了一些CPU节流,因此如果我们要分配更多CPU,我们预计传播延迟(尤其是P99)会进一步改善。
  〔3〕:Istiod服务控制器监控来自不同来源的注册服务的变化,包括kubernetes服务、ServiceEntry创建的服务等,Istiod配置控制器监控用于管理这些服务的Istio资源的变化。
  〔4〕:PR1,PR2
  作者:YingZhu
  出处:https:medium。comairbnbengineeringimprovingistiopropagationdelayd4da9b5b9f90

荣耀赵明晒Magic5系列实拍照,网友呼唤发布会加一环节!荣耀Magic5系列的发布已经临近,昨天荣耀官方放出了倒计时三天的海报,海报中的主角依然是以等边三角形排列的后置摄像头,暗示荣耀Magic5系列有很强的拍照能力。此前荣耀……苹果watchOS7。6RC准正式版发布ECG功能登陆30个感谢IT之家网友榆吢的线索投递!IT之家7月14日消息今日凌晨,除iOS14。7与iPadOS14。7RC版外,苹果还面向开发者发布了watchOS7。6的RC(Rele……睡前两步法,让孩子远离近视,不花钱还超实用千万别忽视孩子的睡前护眼,孩子的睡前大量用眼,带着视疲劳入睡,会加快近视的增长速度。今天分享睡前两步法,缓解孩子的视疲劳,远离近视,不花钱还超实用。第一步眼部彻底放……比尔183盖茨像苹果这类企业应该受到政府严格监管IT之家8月23日消息据Appleinsider报道,微软创始人和前首席执行官比尔盖茨在一次采访中表示,苹果等大型科技公司应该受到政府的严格监管,这是大公司自然应该面对的一种挑……1979年来最长!南极臭氧层空洞再创新纪录,人类努力白费了?南极洲上空的臭氧层存在空洞,这已经是一个持续多年的问题,2021年也并不例外。根据美国宇航局(NASA)的消息,南极臭氧空洞于10月7日达到其最大面积,范围为1979年以来的第……2021年2月全球热门移动应用下载量排行榜抖音及TikTokIT之家3月10日消息SensorTower商店情报数据显示,2021年2月抖音及其海外版TikTok以5600万下载量,位列全球移动应用(非游戏)下载榜冠军。其中,抖音的下载……37996199元,苹果iPadmini6正式发布有史以来最IT之家9月15日消息说完iPad9,苹果现在拿出了万众期待的新一代iPadmini,也就是第六代iPadmini,宣称是有史以来最大的升级,引入了类似Air的全面屏设计,采用……iOS限免App精选趣味相机Epica2Pro重口味怪兽相机IT之家7月17日消息今天小编给IT之家小伙伴带来的iOS限免App是《Epica2Pro重口味怪兽相机》,这是一款趣味相机App。AppStore《Epica2Pro重……野菜赛人参,但野菜和毒草你分辨清楚吗科幻网4月13日讯(王子钰)野菜是指可以作蔬菜或用来充饥的野生植物,我国野菜的种类丰富,已达1000多种,分布的常见野菜有200种以上。每到春天这个时候,总有很多人喜欢挖点野菜……iOS限免App精选便签小组件记得(16510)IT之家7月12日消息今天小编给IT之家小伙伴带来的iOS限免App是《记得便签小组件》,这是一款可以在手机桌面添加便签小组件的工具。AppStore《记得》这款应……DigiTimes台积电2nm订单尘埃落下,三星5年内代工苹IT之家8月26日消息据媒体DigiTimes今日报道,台积电昨日确定2nm基地定址,3nm将在2022年下半年量产,且已与苹果确认进一步合作,对其下个制程节点规格与进度进行合……韩媒苹果决定从2022年开始为iPad使用OLED面板IT之家12月16日消息众所周知,AppleWatch和iPhone已经采用了OLED屏幕面板。韩国媒体电子日报称,苹果向三星和LG下单,请求将OLED面板应用于iPad系列产……
王林平随笔巜游北京的先农坛记昨天夏至,天气闷热的误以为已经数伏了。听朋友说先农坛的皇家麦子已经收割,上午相约来到了先农坛。我们都是北京长大或在北京生活了几十年的人,去过了北京的天坛、地坛、日坛……迎接萌娃回家,幼儿园老师们准备好了!极目新闻记者柯称通讯员夏青董彦君欢声笑语辞旧岁,喜气洋洋迎新年。2月4日正值立春之日,武汉市洪山区第一幼儿园教育集团大家庭的成员们线上线下欢聚一堂,开展新学期迎新工……辽篮亏大了!赵继伟最佳搭档离队后焕发第二春,李洪庆坑惨杨鸣北京时间12月18日,距离CBA常规赛第二阶段正式开打还有整整一周的时间,目前各支球队都在摩拳擦掌积极备战,国手们也即将在下周结束21天的隔离回到俱乐部报到,能够看出每一支球队……鞠婧祎2。0版妆容,算是把白开水妆玩透了鞠婧祎的化妆师在吗,我想看教程,求求了!鲜少能看到她的妆容教程、爱用好物,但美妆江湖上从来都不缺少她的传说,她就是鞠婧祎。这两天,她带着妆容新作走来了,就是这款被称……矮星系是暗物质蜗居的场所(三则)矮星系在宇宙进化过程中发挥了至关重要的作用,天文学家认为,矮星系可能是最早形成的宇宙星系,从矮星系演变成了大星系。迄今为止,矮星系是天文学家在太空中发现的一种最多的星系,其中包……个人日常使用的Linux桌面应用使用Linux系统已经好多年了,从早期的debian、gentoo、LFS一路下来,收到过免费发放的Ubuntu光盘,还有东洋的TurboLinux,国内也有冲浪XteamLi……正负值15!瓦兰丘纳斯16133,鹈鹕三分14中仍喜迎2连胜北京时间2022年12月1日讯,鹈鹕以126:108,18分分差战胜对手猛龙。比赛一上来,随着威利埃尔南戈麦斯,戴森丹尼尔斯,德文特格拉汉姆相继得分,,鹈鹕一度打出一波5:3的……春天干饭,必备10道下饭菜,荤素搭配营养高,大人小孩都爱吃春耕进行时大家好,欢迎大家来到我的美食自媒体,我是美食领域创作者锦绣V山东:专注美食,让生活更有味。今天为大家带来了几道家常美食的做法,这几道美食也是深受大家的喜欢,而且是很常……一位华为员工发文,称自己22岁来到华为,现在30岁,目前年薪各位网友,各位战友大家好,看到有一位华为的员工,他发文称自己是22岁就到华为上班工作,现在已经30岁,在华为上班8年,目前年薪95万。当然,这个华为的小伙子也说了一些自己……让你不生病的三句话人生在世几十年的时间里,没有疾病,没有灾难,有家人陪伴是世界上最幸福的事情。防百病、健康长寿也是自古以来人们追求和深入研究的目标。不生病的秘诀在于什么呢?记住以下3句话,修心养……颜值性能双升级,125W强势蓄能,motoX30Pro手机评前言摩托罗拉从开始就带着最顶尖的配置、更亲民的价格,想给用户带来最好的体验;无论是首发骁龙888,还是全球首发2亿像素主摄,或者是独家定制的高定人像,都将影像提升至更高的……骁龙8Gen1新品旗舰邀请函曝光,小米走格调,ROG暗藏亮点在七月初,两款骁龙8Gen1新品旗舰即将正式发布,小米12s和ROG游戏手机6分别会在7月4日和7月5日登场,如今都发布了自己新品发布会的邀请函。其中,小米12s系列的邀请函中……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网