纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

我们被一个kong的性能bug折腾了一个通宵

9月25日 终离去投稿
  故事背景
  在Erda的技术架构中,我们使用了kong作为API网关的技术选型。因其具备高并发低延时的特性,同时结合了KubernetesIngressController,基于云原生的声明式配置方式,能够实现丰富的API策略。
  在我们最早交付的集群中,kong还是较为早期的0。14版本,随着业务层面对安全的要求日益趋增,我们需要基于kong实现安全插件,帮助系统能够具备更好的安全能力。由于较为早期的0。14版本不能使用gopluginserver来扩展kong的插件机制,我们不得不在古老的集群中将kong升级为相对较新的2。2。0版本。
  升级过程就不在此赘述了,基本就是照着官方文档一步步顺利的升级上去,但是在升级上去之后的几天里,我们的SRE团队收到了非常密集的咨询甚至是声讨,部署在该集群上的业务间歇性的无法访问,延迟非常高。一系列失败的尝试参数调优
  最开始为了快速修复这个问题,我们对kong的NGINXWORKERPROCESSES、MEMCACHESIZE、DBUPDATEFREQUENCY、WORKERSTATEUPDATEFREQUENCY参数以及postgres的workmem、sharebuffers都进行了适当的调优。
  但是,没有任何效果。清理数据
  由于这个集群的历史原因,会频繁的注册或者删除api数据,因此集群中累计了大约5万多条route或者service数据。
  我们怀疑是数据里量大导致的性能下降,于是结合erda中的数据对kong中的历史数据进行删除,在删除的过程中出现的删除较慢并且同时kong的性能急剧下降的现象。
  反复测试了几次后我们确定了只要调用admin的接口导致kong性能下降这一结论,跟社区的这个问题非常相似,链接如下:
  https:github。comKongkongissues7543kong实例的读写分离
  确定了是admin接口的原因后,我们决定将admin跟业务的kong实例分开,希望admin的调用不会影响到业务的正常流量访问,期待达到kong的admin接口慢就慢吧,但是不要影响业务的访问性能。
  然而,没有任何效果。postgres迁移RDS
  kong层面的努力无果之后,我们在测试过程中同时观察到了当调用admin接口试,postgres的进程也增多了很多,CPU使用率也涨了起来,也是决定将pg迁移到更为专业的RDS中。
  还是,没有任何效果。回滚
  最终我们还是回滚到了0。14版本,追求暂时心灵的宁静。
  至此,线上的尝试基本搞一段落,也大致摸清了问题复现的条件,于是我们决定在线下构造一个环境来继续找出问题的原因。问题的复现之路
  我们将出问题的kong的postgres数据导一份到开发环境中,模拟调用admin接口是性能急剧下降的情况,并寻找解决之道。导入数据
  我们将有问题的集群中的postgre的数据备份之后然后在一个新的集群中导入:psqlh127。0。0。1Ukongkong。sql
  并且开启kong的prometheus插件,方便使用grafana来查看性能图标:curlXPOSThttp:10。97。4。116:8001pluginsdatanameprometheus现象一
  调用admin服务的同样的慢,跟线上的现象吻合,当数据量大的时候调用admin的目录需要耗费更多的时间。curlhttp:10。97。4。116:8001
  现象二
  然后我们来模拟在线上遇到的调用admin接口后业务访问性能变差的现象,先调用admin接口创建个业务的api,以供测试,我们创建了一个service以及一个routes:curliXPOSThttp:10。97。4。116:8001servicesdnamebaidu2durlhttp:www。baidu。comcurliXPOSThttp:10。97。4。116:8001servicesbaidu2routesdnametest2dpaths〔1〕baidu2
  后面可以使用curlhttp:10。97。4。116:8000baidu2来模拟业务接口进行测试。
  准备admin接口的测试脚本,创建并删除一个serviceroute,中间穿插一个servicelist。!binbashcurliXPOSThttp:10。97。4。116:8001servicesdnamebaidudurlhttp:www。baidu。comcurliXPOSThttp:10。97。4。116:8001servicesbaiduroutesdnametestdpaths〔1〕baiducurlshttp:10。97。4。116:8001servicescurliXDELETEhttp:10。97。4。116:8001servicesbaiduroutestest
  然后持续调用该脚本:foriinseq1100;dosh1。done
  在持续调用该脚本的过程中去访问一个业务的接口,会发现非常慢,跟线上的现象完全吻合。curlhttp:10。97。4。116:8000baidu2
  PS:精简脚本,后只触发一条写入,或者删除也会触发该现象伴随现象kong实例的cpu跟mem都持续上涨,且当admin接口调用结束后此现象依然没有结束。mem上涨到一定程度会到时nginxworker进程oom掉,然后重启,这个也许是访问慢的原因;我们设置了KONGNGINXWORKERPROCESSES为4,并且为pod的内存为4G的时候,pod的整体内存会稳定在2。3G,但是调用admin接口试,pod的内存就会一直上涨至超过4G,触发worker的OOM,于是我将pod的内存调整到了8G。再次调用admin接口,发现pod的内存依然一直上涨,只是上涨到了4。11G就结束了,这似乎意味着我们是要设置pod的内存为KONGNGINXWORKERPROCESSES两倍,这个问题就解决了(但是还有个重要的问题是为什么调用一次admin接口,会导致内存涨了那么多);另外,当我持续调用admin接口的时候,最终的内存会持续增长并且稳定到6。9G。
  这个时候我们将问题抽象一下:
  调用kongadmin接口导致内存一直上涨,进而触发oom导致worker被kill掉,最终导致业务访问慢。
  继续调查内存是被什么占用了:
  我使用pmapx〔pid〕前后两次查看了worker进程的内存分布,变化的是第二张如中框起来来的部分,从地址上看整块内存都被换过了,但是将内存数据导出并且字符串化之后,没有什么有效的信息可供进一步排查。
  结论该问题跟kong的升级(0。142。2。0)没有关系,直接使用2。2。0版本也会有这个问题;kong每隔workerstateupdatefrequency时间后会在内存中重建router,一旦开始重建就会导致内存上涨,看了下代码问题出在了Router。new的方法这里,会申请lrucache但是使用后没有flushall,根据最新的2。8。1版本的lrucache进行了释放问题依然存在;也就是kong的Router。new方法里的其他逻辑到时的内存上涨;
  这也就表明这个问题是kong存在的一个性能bug,及时在最新的版本中依然存在,当route跟service达到某个量级的时候会出现调用admin接口,导致kong的worker内存迅速上涨,使得oom进而引发业务访问性能变差的现象,临时的解决办法可以是减少NGINXWORKERPROCESSES的数量并且增加kongpod的内存量,保证调用admin接口后需要的内存足够使用不触发oom,才能保证业务的正常使用。
  最后,我们会在https:github。comKongkongissues7543这个issue中将该现象补充进去,欢迎大家持续关注,一起讨论
  更多技术干货请关注【尔达Erda】公众号,与众多开源爱好者共同成长
投诉 评论

中国最适合避暑的3座城市中国最适合避暑的3座城市,夏天平均温度20以下,不需要吹空调,睡觉要盖被子。中国幅员辽阔,称得上避暑胜地的城市有太多了,今天我将汇总其中3个最适合避暑的地方,相信大家可以……孤勇者背后是漫天星河最近工作繁忙,常常感到疲惫不堪。那天,一个熟悉的电话铃声瞬间让我清醒,家长劈头盖脸的谩骂在我耳边炸响,我一句话都插不上嘴,等家长骂完已经10分钟过去了,她又开始哭,说孩子一直哭……财富周历动态前瞻本周将公布6月CPI数据,共6只新股发行A股1、据梳理,今年上半年,科创板、创业板和北交所上市委审议192家企业上市申请,较去年同期基本持平。2、数据显示,今年上半年A股首发融资规模突破3000亿元,较去……最不起眼的苹果旗舰iPhone7迟到的评测记得在苹果7和三星note7刚发布时,身边的朋友纠结是iPhone7还是note7时,我毫不犹豫的劝他买note7,结果boom,他炸了。。。。。。时隔5年之后,现在的果子7仍……我们被一个kong的性能bug折腾了一个通宵故事背景在Erda的技术架构中,我们使用了kong作为API网关的技术选型。因其具备高并发低延时的特性,同时结合了KubernetesIngressController,……无血缘关系兄妹结婚,法律允许?《家有儿女》相信大家都看过,甚至给张一山和杨紫在娱乐圈闯荡贡献上浓厚一笔,不少网友甚至直呼让张一山和杨紫在一起。那么问题来了,在家有儿女中,夏雪和刘星这对没有血缘关系的姐弟可以……本赛季数据爆炸联盟有无措施?萧华我不是害怕改变的传统主义者直播吧1月21日讯今日,NBA总裁亚当萧华接受了媒体采访。有记者问到本赛季爆炸数据的出现次数越来越多,联盟是否会做出一些措施干预?萧华说:我们不是害怕改变的传统主义者!我……张灯结彩添喜庆,欢声笑语度新春,泸州这个地方春节要你好看头条创作挑战赛寻找小组生活家泸州头条【一路耍】VOL:050期文字王木木图片王木木引子:随着管理的细化,这些年的忠山公园,其实已经和记忆里的模样有……老夫子开局如何打吕布?二技能与被动是关键,好的开局就成功一半为什么要问老夫子前期如何打吕布,而不是吕布如何打老夫子呢?这个问题本身就说明了前期这两个英雄孰强孰弱了。如果是两个新手的话,都不讲什么策略,上去就互A,大概率是老夫子败下……和孩子在一起的精彩瞬间2022育儿季我家有两个儿子,大儿子4岁半,小儿子22个月。正如大多数家庭一样,老二吃的比老大壮很多。老二很早就开始叫爸爸妈妈了,但是至今会说的还不是特别多。老二在数数字时总是……维信诺供屏小米RedmiNote12系列手机品牌客户持续放量10月27日晚,小米RedmiNote12系列手机正式发布,分别是RedmiNote12标准版、RedmiNote12Pro、RedmiNote12Pro,以及RedmiNot……如果你还没有阳作者:杨志怀如果你还没有阳,我由衷地为你惊叹!每天几百万人感染,为何你却能安然无恙?是苍天格外护佑,抑或你原本就非同寻常?如果你还没有……
广东20分国手表明决心,将联手赵睿和大外援出战,杜锋的12冠广东队的超级后卫终于,接受采访表明了决心,将会搭档上了赵睿以及威姆斯,重磅的复出归来。那么广东队本个赛季,能否去获得总冠军,就要看这三大核心得分手了。杜锋主教练也是喜出望外,非……野生桑葚实为养殖奈雪的茶因虚假宣传被罚荣圣小鸭等品牌抽油烟机政策海南省多措并举促离岛免税销售海南省商务厅近日印发《促进2022年离岛免税销售行动方案》。鼓励开设免税店与酒店、景区旅游专线,丰富邮轮旅游、亲子研学等旅游业态,加……钙片最好睡前吃补充钙剂3大注意(图)钙片最好睡前吃补充钙剂3大注意受访专家:武汉市中心医院药学部副主任药师刘珏钙与体内免疫、神经、内分泌、消化等十多个系统的功能密切相关,它是人体最重要的一种矿物质。研……真的美人鱼真身图片,真正的美人鱼图片在你们的印象中美人与是不是就是一个美丽善良的美女呢?美人鱼是人们一直都在探索的一个未解之谜,世界上有美人鱼吗?据消息称,世界上是有美人鱼存在的。那么今天一起来就看看真实的美人鱼……小伙额头纹天眼背后的原因竟是因为这个相信大家都见过在身上纹身的人,问手臂、后背、胸前等等,但是你见过在额头纹纹身的吗?而且还是纹的天眼,这背后的原因究竟是为了什么呢?一起来看一下。12月27日,在云南邵通,……军人为贫困生送衣怎么回事现场真实画面曝光十分温馨近日,在80后退伍军人为贫困生送衣的消息在网上引起了热议,这是怎么回事呢?据了解,该名武警为吉林省桦甸市的小镇小学贫困生送去了崭新的羽绒服,现场画面曝光,十分温馨。在严冬……北海涠洲岛,被预言是下一个三亚,海鲜好吃到哭,最美海岛排第二如果你既想感受海岛的温柔与浪漫,又想体验充满历史烟火的地方人文,那这个宝藏城市可千万不要错过。这里的海不输三亚,媲美夏威夷的荧光海,曾多次上榜最美海滨城市。小城比厦门还文……十大巅峰重生末世小说(精选5本好看到炸的末世重生小说)末世小说是以世界末日为背景的小说,末世小说里的主角无一不在末世里大展拳脚,这无疑触到了广大读者们的爽点。今天就给小说迷们介绍十大巅峰重生末世小说,同时精选了5本主角重生的末世小……狗尾巴草三邪不压正狗尾巴草的花语:艰难的爱坚强暗恋不被人理解的爱狗尾巴草的快乐是简单的,它们在春天不管不顾的钻出地面,旁若无人疯狂的茂盛,然后悄悄地、默默地干枯。它们没有那么多的矫情……架空历史小说排行榜完本经典之作(含20本)架空历史小说排行榜完本经典之作(含20本),每一部都是经典,可以读十遍以上!没看过的一定要安排上,没看了那简直亏变大。1架空历史小说排行榜完本经典之作1。《唐骑》,主人公……肝郁或肝火影响了其他脏腑,怎么办?有多少人一口苦就吃龙胆泻肝丸,爱生气就吃逍遥丸;还有一些人只知道自己肝脏有问题,但分不清是有肝火还是肝寒,也分不清肝胃有问题,还是肝脾、肝肺、心肝等有问题。今天我们就来个肝脏问……文旅局长卷出圈,还需后半篇作者:韩浩月近日,黑龙江塔河县文旅局长因一段短视频走红。视频里,她在零下20摄氏度的环境里身穿鄂伦春服饰演绎森林的主人和白鹿仙子。截至目前,相关视频的播放量已达9个亿,让……

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形