专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

记录1次MybatisWrapper导致的生产事故

  1。灾难回顾
  1)某日早上,生产环境告警群出现了慢接口告警,随之而来的是CPU告警。
  2)因为最近没有上新功能,所以初步猜测是否中间件或数据库出了问题?经排查,各中间件一切正常,数据库慢sql也不算很慢。
  3)在主机上使用top命令查看CPU占用情况,发现有异常:主机CPU一直保持在1000(主机16核),一直持续。
  4)有了上次的经验,第一时间看GC情况:jstatgcutilpid1000。果然,发现FGC每几秒就增加1次,说明JVM在疯狂进行FullGC,至于为什么会频繁FullGC,一脸茫然。
  第一反应是重启部分机器,留1台机器进行dump内存快照。
  5)10分钟后,经分析快照,发现有个类ShopAddress占内存特别大,包含对象数150多万。
  6)使用jstack命令(jstacklpid)查看JVM线程,搜索关键词ShopAddress,发现的确是有关于ShopAddress的堆栈信息。
  7)基于堆栈信息找到对应的代码,修改代码并发布到生产环境,CPU终于降下来了。。。
  2。场景简化回顾
  假如说有这么一张表CREATETABLEtshopaddress(idint(11)unsignedNOTNULLAUTOINCREMENTCOMMENTid,shopidint(11)NOTNULLCOMMENTtshop。id,。。。)COMMENT门店地址;
  需求是:需要根据多个shopid同时查询数据,于是某老6写了以下的代码publicListShopAddressselectByShopIdList(ListIntegershopIdList){WrapperShopAddresswrappernewEntityWrapper();wrapper。in(shopid,shopIdList);ListShopAddressshopAddressListshopAddressMapper。selectList(wrapper);returnshopAddressList;}
  就1个查询而已啊,有啥问题吗?
  有啥问题吗?
  Wrapper是mybatisORM框架用来组装sql类。翻译过来的sql应该是:selectfromtshopaddresswhereshopidin(?,?,?,。。。);
  即使tshopaddress表中存储了大量数据,只要shopIdList的数据量比较少,该查询都不会有问题。
  但是今天突然有shopIdList〔〕传进来了,于是CPU便起飞了。。。
  在mybatis的WrapperAPI中,如果value为null或者空列表的情况下,组装的sql会忽略该条件
  从而导致上面的查询sql为:selectfromtshopaddress;
  结果是全表查询,150多万的数据量,这就是JVM会疯狂进行FullGC的原因。3。预防措施
  1)使用Wrapper查询之前增加每一个参数的非空校验,确保都是有值的。
  2)避免使用Wrapper来组装条件查询数据库,尽量自己写sql,即时是shopidin(),最多也只是该业务报错,而不会导致整个系统垮掉。
  但还是建议不要出现shopidin()的情况,这个会报sql语法错误。可以增加11条件让sql正确执行并返回0条数据。
  3)使用mybatis拦截器来统一限制查询条数,为每个查询增加limit限制,比如1次查询最多返回1000条结果,当触发limit限制的情况下可以告警。如果超过1000条,需要进行分页查询。
  怎么样?还不赶快去看看你的项目,看看有没有老6给你留坑!!!

汕尾防治救形成森林防灭火闭环,守护绿美汕尾汕尾市辖区林地面积大森林覆盖率高,同时,敬神祭祖传统保留完好,尤其一到清明节,上山扫墓焚烧香烛纸钱现象普遍,屡屡引发森林火灾,全市森林防灭火工作压力巨大,也是省里高度关注的重点火险澳大利亚对东帝汶政策的形成,以及它转变的原因一体系层次原因1。体系结构的转变冷战结束前国际体系的结构是两极结构。在两极体系中两个权力中心主导着国际政治所有的国际问题都受到两极对抗的影响。争取东南亚最大国家成为自己阵营的一部分欧洲央行传出加息信号?分析预计周四,美国商务部公布数据,去年第四季度GDP按年率计算增长2。7,较首次预估相比下调0。2个百分点,下调幅度超过市场预期,但是经济略微降温对风险资产却可能是好消息,既增加了美联储放如何挖掘海南罗布斯塔咖啡价值?海南日报记者邓钰2月23日,位于琼中黎族苗族自治县黎母山镇的海南农垦母山咖啡标准化种植基地,咖啡红果满挂枝头,农户穿梭其间细致采摘,繁忙景象宣告新产季的丰收。将园中采撷的咖啡加工冲分享5个网上淘来的平价儿童玩具57岁参考本文不打广告,不放链接,纯内容分享。大家好,我是大宝妈妈,一个用心陪玩儿的八零后职场宝妈。春节前后,工作不忙,很少加班,大大增加了陪娃的时间。这几个月,陪娃玩儿了很多有意思的小玩具阳康后孩子体弱不长个?抓住春季排寒助长好时机第一波疫情结束后,很多人都只关注到成人有阳康后遗症,殊不知小儿也有。很多孩子在阳康后,咳嗽没了,但却经常嗜睡乏力胃口也不好,家长也没当一回事,最近一开学,家长却突然发现自家孩子比同孕妈背上长肿物产后膨胀成足球,医生1小时为其卸下重担(通讯员丁燕飞黄婷)孕期发现脂肪瘤,产后突增十倍大,孝感宝妈苦不堪言,负重求医,最终在武汉医生的帮助下,成功卸下了这枚四斤重的担子。32岁的孟女士(化名)家住孝感,是一位刚断奶的宝一顿早饭竟让两个孩子的成绩相差50分孩子正处于成长阶段,早饭吃得不好,会影响身体的发育。得克萨斯州休斯敦大学研究发现,9岁到11岁营养良好的孩子中,吃早餐的孩子比不吃早餐的在某些学习项目中表现得更出色。美国宾夕法尼亚春季湿疹高发,都是干出来的!春天到了,气候反复无常,很多小朋友都特别容易患上湿疹,尤其在夜里,瘙痒难忍。有许多家长反应,宝宝整夜地挠,根本睡不好,更别说小月份的宝宝了,不会说只能哭,苦了孩子也苦了家长。这个时治帕金森病正在走下坡路?不用担心,只要弄清这个,一切迎刃而解帕金森病最影响患者的莫过于生理生活,即吃喝拉撒睡,尤其到中晚期时,白天还好,有药物的维持,到了晚上,需要一大家子人扶着上厕所,不但患者无法好好休息,家属也难安睡。王医生近期接诊到一夜光杯自己的湖很长时间,我一直弄不明白我怎么会那么喜欢童年的那个湖其实,它只是战争年代留下的一个炸弹坑,坑边有一棵老榆树,还有一些零零星星的灌木杂草。可是,这样一个毫不起眼的炸弹坑,却深深地吸引
郁达夫登报指责妻子王映霞红杏出墙,汪静之撰文称情人还有戴笠达夫是一个伟大的爱国者,爱国是他毕生的精神支柱。夏衍郁达夫是五四运动的后起之秀和中坚力量,也是那个年代赫赫有名的的颓废作家,鲁迅先生一生中曾炮轰过无数文人,却从未骂过郁达夫,反而对品读资治通鉴职场残酷真相你在前面拼命领导在后面撤梯子第86卷孝惠皇帝下光熙元年(丙寅,公元306年)资治通鉴原文宋胄袭河桥,楼褒西走。平昌公模遣前锋督护冯嵩会宋胄逼洛阳。成都王颖西奔长安,至华阴,闻颙已与山东和亲,留不敢进。吕朗屯荥从批判性分析的角度,浅析加拿大政治文化的起源和演变理论文史纪奇闻编辑史纪奇闻20世纪上半叶加拿大政治文化最著名的起源和演变理论,指出了这些理论的弱点和优点,它们的矛盾,并评价了这些理论。还讨论了哈罗德因尼斯的主食经济理论,G霍洛维茨(苏联解体后,朝鲜这个小弟模仿苏联坦克,成果如何呢?引言军事实力是否强大是一个国家的立国之本,在冷兵器时代和热武器时代初期,军事实力的强弱直接决定着一个国家的命运,如果没有能力自保,很有可能在短时间内让国家沦为他国的觊觎对象,本国人开疆辟土空前的大汉帝国,两汉国土成为中原历朝疆域主体公元前210年秦始皇去世时,秦朝的疆域北起河套阴山山脉和辽河下游流域,南至今越南东北和广东,西起陇山川西高原和云贵高原,东至大海,是历史上空前的。但不久天下大乱,接着又是连续多年的雍正王朝康熙为什么训斥罢黜佟国维提拔隆科多为顾命大臣?以佟国维为党羽的势力太大,威胁到王朝稳定。要想知道这里面的细枝末节,我们必须要知道佟国维有什么背景?为什么会让康熙如此忌惮?1佟国维的父亲佟图赖,又名佟图奈(1606年1658年)中国历史上的禽兽王朝皇帝个个是疯子,北齐的灭亡有多奇葩?中国古代的皇帝被认为是天子,享有统治整个国家至高无上的权力。他们的表现在很大程度上决定了国家和人民的命运。中国两千多年的历史长河中,比较正式的皇帝有446位。他们当中,有些人因创造看看南宋时期中国人口地图岳飞不死,能收复中原么?1其实南宋就是中华大地上的一个割据政权。正统二十四史就是包括金史和辽史的,史学界基本上是把这三家并列来看的看看南宋时期的地图,难怪南宋打不过金国金国有4000万人口,兵力也比南宋还江河日下的伽色尼王朝,危机四伏,丢地没钱怎么解?伽色尼王朝在中国的史料中翻译为哥疾宁王朝。是突厥人建立的第二个王朝,在历史上有重要的地位。伽色尼王朝与古代中国的辽朝和回鹘都有直接的往来。伽色尼王朝经历过兴起巅峰中兴和落寞等阶段。河北邢台区划变迁,如何从顺德府9县到如今12个县的邢台呢?全国很多地级市都是铁路拉来的城市,尤其是最先修建的京广铁路在河南省造就了鹤壁新乡漯河驻马店信阳等一大批从县镇升格来的地级市,但是在河北省却是一个例外。河北省京广铁路沿线有保定,石家2023春晚季收视率排名出炉,央视稳居榜首河北台在业内倒数第一2023春晚季收视率排名出炉,央视稳居榜首河北台在业内倒数第一聚焦艺人最新动态,传递圈内主流声音。晓今娱全网特供今日头条独家首发,严禁转载本文由晓今娱原创,欢迎关注,带你一起长知识
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网