当前位置: 首页 > news >正文

记一次线上es慢查询导致的服务不可用

现象

某日线上业务同学反馈订单列表查询页面一直loding,然后提示请求超时,几分钟之后恢复正常

  • 接到报障之后,马上根据接口URL,定位到了请求链路,发现是es查询超时,这里我们的业务订单表数据是由几百万的,所以列表查询用的es,

  • 根据请求日志拿到查询es 的参数,在es控制台查询,请求响应时间200ms,初步估计不是这条查询导致,
    在这里插入图片描述

  • 在线上搜索同类报错日志,找到了最初报超时的请求记录,4个字段使用统一查询条件的模糊查询,这条查询在es控制台查询时间为6秒左右,询问当时操作的业务同学,是当时复制错误信息,不是正常的搜索请求

    {"commodityName":{"wildcard":"*云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰*","boost":1.0}}},{"wildcard":{"commodityNumbers":{"wildcard":"*云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰*","boost":1.0}}},{"wildcard":{"commodityCode":{"wildcard":"*云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰*","boost":1.0}}},{"wildcard":{"parentCommodityCode":{"wildcard":"*云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰*","boost":1.0}}},{"term":{"xid":{"value":"云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰","boost":1.0}}},{"term":{"yid":{"value":"云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰","boost":1.0}}},{"term":{"sid":{"value":"云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰","boost":1.0}}},{"term":{"hid":{"value":"云汉路线业绩目标: 1W/业绩线索:-----------------------------------需求数:10/拜访目标10/ 拜访路径安排:上午:::润锦,潮工作室,锐城凯,源衣坊,下午:::程逸,精盈,鸿逸,徜仕,三通,富顺,悦富。田亮,汉美森服饰。堡伦,————————————末成交访客户:,重磅服饰,荣鑫服饰","boost":1.0}
    
  • 通过日志统计,发现该接口当天请求此时在2W次以上,我们是公司业务自用的系统,按道理说不会有这么大的请求量,然后根据请求日志发现了一个很骚的事情,原来的交互设计是每输入一个字,前端就会请求后端去做实时的搜索

    在这里插入图片描述

  • 运维同学根据,保障的时间段,也发现了当时es服务器,cpu和内存使用的飙升

在这里插入图片描述

解决

  • 前端修改交互方式,去掉实时搜索的处理,
  • 后端接口增加拦截,过滤不合逻辑的无效请求

总结

  • 查询交互设计不合理,报错的es索引,在es库是一个数据量很大的索引,这病频繁请求会导致cpu和频繁的gc
  • 后端接口么有校验,导致用户复制输入错误信息,也会去做查询操作,未做查询条件的过滤

相关文章:

记一次线上es慢查询导致的服务不可用

现象 某日线上业务同学反馈订单列表查询页面一直loding,然后提示请求超时,几分钟之后恢复正常 接到报障之后,马上根据接口URL,定位到了请求链路,发现是es查询超时,这里我们的业务订单表数据是由几百万的&a…...

分布式之ZAB协议

写在前面 假定我们现在使用zk执行了如下的指令: [zk: 192.168.0.10:2181(CONNECTED) 0] create /dongshidaddy 123 Created /dongshidaddy [zk: 192.168.0.10:2181(CONNECTED) 1] create /dongshidaddy/mongo 456 Created /dongshidaddy/mongo假定因为节点故障最终…...

MySQL binlog常用命令及设置清理时间

MySQL binlog常用命令及设置清理时间1 binlog 基本概念2 binlog常用命令3 清理MySQL的binlog日志3.1 自动清理3.2 手动清理文章参考: http://www.360doc.com/content/22/0418/08/65840191_1027038859.shtml https://www.cnblogs.com/kiko2014551511/p/11532426.html…...

Windows下载安装Prometheus

目录 资料 下载 解压 点击prometheus.exe运行 资料 Prometheus是一个开源的系统监控和报警系统,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。 官网:https://pr…...

0-1背包、完全背包及其变形【零神基础精讲】

来源0x3f:https://space.bilibili.com/206214 三叶姐的对背包问题的总结:【宫水三叶】详解完全背包一维空间优化推导(附背包问题攻略)https://leetcode.cn/circle/discuss/GWpXCM/ 文章目录0-1背包、完全背包及其拓展(…...

OpenStack

OpenStack优势: 1、模块松耦合。 2、组件配置较为灵活。 3、二次开发容易 OpenStack共享服务组件: 1、数据库服务:MongoDB 2、消息列队:RabbitMQ 3、缓存:Redis 4、存储:Ceph 5、负载均衡&#xff…...

Spring Boot整合Kaptcha实现验证码功能

目录一、前言1.Kaptcha 简介2.Kaptcha 详细配置表二、实现1.整合kaptcha,创建kaptcha的工具类1.1 添加依赖1.2 创建KaptchaConfig工具类2 编写接口,在接口中使用 kaptcha 工具类来生成验证码图片(验证码信息)并返回3 登录时从sess…...

【2023】某python语言程序设计跟学第一周内容

本文说明: 案例内容为北理工python语言程序设计课程,如有不妥请联系! 目录温度转换案例:执行结果:代码解析:白话说明:举一反三:根据输入半径求圆周长或面积执行结果:温度…...

C#学习记录——接口的实现

一小部分知识精英依旧直面核心困难,努力地进行深度钻研,生产内容;而大多数信息受众始终在享受轻度学习,消费内容。如果我们真的希望在时代潮流中占据一席之地,那就应该尽早抛弃轻松学习的幻想,锤炼深度学习…...

“ChatGPT之父”Sam Altman:我是如何成功的?

背靠微软,OpenAI能拳打谷歌,脚踢Meta,它背后的男人,必然不简单。 让我们来看一看,Sam Altman是如何一步步成长为今天这个搅动全世界的男人。 山姆奥特曼(Sam Altman) 成长和创业经历 在YC创始…...

jQuery发送Ajax请求的几种方式

概述JQuery发送ajax请求的方法有很多,其中最基本的方法是$.ajax,在其中封装的方法有 $.get, $post等。我们分别举了不同的示例。数据格式首先,浏览器与服务器之间传输数据所采用的格式,比较常见的有json,jsonp&#xf…...

Android实现连线题效果

效果图全部正确:有对有错:结果展示,纯黑色:支持图片:实现思路仔细分析可以发现,连线题的布局可以分为两部分,一个是左右两列矩形,另一个是他们之间的连线。每个矩形的宽高都一样&…...

以数据 见未来!首届未来数商大会成功举办

2月25日,2023未来数商大会在杭州未来科技城学术交流中心举办。大会发布了数商产业趋势研究报告,首次提出并探讨了完整的数商产业概念,并成立了未来数商联盟,开通了浙江大数据交易服务平台余杭专区。会上,杭州未来科技城…...

Java数据结构与算法——手撕LRULFU算法

LRU算法 力扣146:https://leetcode-cn.com/problems/lru-cache/ 讲解视频:https://www.bilibili.com/video/BV1Hy4y1B78T?p65&vd_source6f347f8ae76e7f507cf6d661537966e8 LRU是Least Recently Used的缩写,是一种常用的页面置换算法&…...

20230227英语学习

Can Clay Capture Carbon Dioxide? 低碳新思路:粘土也能吸收二氧化碳! The atmospheric level of carbon dioxide — a gas that is great at trapping heat, contributing to climate change — is almost double what it was prior to the Industria…...

校招前端高频react面试题合集

了解redux吗? redux 是一个应用数据流框架,主要解决了组件之间状态共享问题,原理是集中式管理,主要有三个核心方法:action store reduce 工作流程 view 调用store的dispatch 接受action传入的store,reduce…...

k8s node之间是如何通信的?

承接上文同一个node中pod之间如何通信?单一Pod上的容器是怎么共享网络命名空间的?每个node上的pod ip和cni0网桥ip和flannel ip都是在同一个网段10.1.71.x上。cni0网桥会把报文发送flannel这个网络设备上,flannel其实是node上的一个后台进程&…...

System V|共享内存基本通信框架搭建|【超详细的代码解释和注释】

前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结,每一篇都是超级用心编写的,有兴趣的伙伴们都支…...

魔兽世界WoW注册网站搭建——-Liunx

问题背景哎 搭建了一个魔兽3.35(纯洁版)每当同学朋友要玩的时候我都直接worldserver上面打一个命令随之出现朋友的朋友也要玩想了想还是要有一个网站原本以为吧单机版里面网页的IP数据库改下可以了结果PHP报错了Unknown column sha_pass_hash in field l…...

OSG三维渲染引擎编程学习之六十八:“第六章:OSG场景工作机制” 之 “6.8 OSG内存管理”

目录 第六章 OSG场景工作机制 6.8 OSG内存管理 6.8.1 Referenced类 6.8.2 ref_ptr<>模板类 6.8.3 智能指针...

字节前端必会面试题(持续更新中)

事件传播机制&#xff08;事件流&#xff09; 冒泡和捕获 谈一谈HTTP数据传输 大概遇到的情况就分为定长数据 与 不定长数据的处理吧。 定长数据 对于定长的数据包而言&#xff0c;发送端在发送数据的过程中&#xff0c;需要设置Content-Length,来指明发送数据的长度。 当…...

内存数据库-4-[redis]在ubuntu中离线安装

Ubuntu20.04(linux)离线安装redis 官网redis下载地址 下载安装包redis-6.0.9.tar.gz。 1 下载安装 (1)解压 sudo tar -xzvf redis-6.0.9.tar.gz -C /usr/local/ cd /usr/local/redis-6.0.9/(2)编译 sudo make(3)测试 sudo dpkg -i libtcl8.6_8.6.10dfsg-1_amd64.deb sudo d…...

并非从0开始的c++ day8

并非从0开始的c day8结构体结构体嵌套二级指针练习结构体偏移量内存对齐内存对齐的原因如何内存对齐文件操作文件的概念流的概念文本流二进制流文件缓冲区文件打开关闭文件关闭fclose文件读写函数回顾按格式化读写文件文件读写注意事项结构体 结构体嵌套二级指针练习 需求&am…...

ubuntu下用i686-w64-mingw32交叉编译支持SDL、Openssl的ffmpeg库

前言 本篇博客是基于前两篇关于ffmpeg交叉编译下&#xff0c;进行再次编译操作。ubuntu下ffmpeg的交叉编译环境搭建可以参看以下我的这篇博客&#xff1a;https://blog.csdn.net/linyibin_123/article/details/108759367 &#xff1b; ubuntu下交叉编译openssl及交叉编译支持o…...

对IDEA中断点Suspend 属性理解

suspend的类型分为 1、ALL&#xff1a;有线程进入该断点时&#xff0c;暂停所有线程 2、Thread&#xff1a;有线程进入该断点时&#xff0c;只暂停该线程 讨论下不同线程在同一时间段都遇到断点时&#xff0c;idea的处理方法。假如在执行时间上&#xff0c;thread1会先进入断…...

IM即时通讯开发如何解决大量离线消息导致客户端卡顿的

大部分做后端开发的朋友&#xff0c;都在开发接口。客户端或浏览器h5通过HTTP请求到我们后端的Controller接口&#xff0c;后端查数据库等返回JSON给客户端。大家都知道&#xff0c;HTTP协议有短连接、无状态、三次握手四次挥手等特点。而像游戏、实时通信等业务反而很不适合用…...

【软件测试】测试老鸟的迷途,进军高级自动化测试测试......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 很多从业几年的选手…...

HMM(隐马尔科夫模型)-理论补充2

目录 一.大数定理 二.监督学习方法 1.初始概率 2.转移概率 3.观测概率 三.Baum-Welch算法 1.EM算法整体框架 2. Baum-Welch算法 3.EM过程 4.极大化 5.初始状态概率 6.转移概率和观测概率 四.预测算法 1.预测的近似算法 2.Viterbi算法 1.定义 2. 递推&#xff1…...

【分布式系统】MinIO之Multi-Node Multi-Drive架构分析

文章目录架构分析节点资源硬盘资源服务安装安装步骤创建系统服务新建用户和用户组创建环境变量启动服务负载均衡代码集成注意最近打算使用MinIO替代原来使用的FastDFS&#xff0c;所以一直在学习MinIO的知识。这篇文章是基于MinIO多节点多驱动的部署进行研究。 架构分析 节点资…...

【无标题】(2019)NOC编程猫创新编程复赛小学组真题含参考

&#xff08;2019&#xff09;NOC编程猫创新编程复赛小学组最后6道大题。前10道是选择填空题 略。 这道题是绘图题&#xff0c;没什么难度&#xff0c;大家绘制这2个正十边形要注意&#xff1a;一是不要超出舞台&#xff1b;二是这2个正十边形不要相交。 这里就不给出具体程序了…...

做网站编辑好吗/百度应用商店app下载安装

如果你感觉累&#xff0c;那就对了那是因为你在走上坡路。。这句话似乎有点道理的样子&#xff0c;时常提醒自己无论走到哪都不要忘记自己当初为什么出发。有时想想感觉有的东西可以记录一下&#xff0c;就把它记录下来吧&#xff0c;这次想写一下关于单张图片点击全屏预览的问…...

abc网站建设/seo工作流程图

CVE漏洞爬虫java代码依赖-TestNGTestNG是Java中的一个测试框架,而该CVE漏洞爬虫示例中所涉及到的java代码中, \Crawler\src\com\***\ThreaderRun.java文件在导入import org.t ...Android&plus;clipse导入工程提示&colon;invalid project description今天遇到一个奇怪的…...

最牛视频网站建设/长沙seo网站推广

你心中的阳光房是什么样的&#xff1f;又宽又厚的钢结构加上钢化玻璃组成的非常笨重的阳光房&#xff1f;冬天还好&#xff0c;可一到夏天升温极快&#xff0c;非常的闷热吗&#xff1f;情愿只做一个阳光顶用来遮阳挡雨也不做阳光房吗&#xff1f;现在这些都是过去式了&#xf…...

做一个网站怎么做/网店运营具体做什么

dymDemo dym 分布式开发框架 Demo 熔断 限流 事件总线&#xff08;包括基于内存的、rabbitmq的&#xff09; CQRS DDD 实例 随后更新dym 分布式开发框架 dym 是一个分布式开发框架&#xff0c;同时支持 .net core2.2 、.net frameworker4.6.1。1、运行Demo 第一步&#xff1a;启…...

资阳网站建设/百度热词指数

VR行业近年来的发展可谓是如火如荼&#xff0c;而与之相关的360度VR全景视频拍摄也跟着大火&#xff0c;无论是刚刚入行的初学者还是资深全景摄影师来说&#xff0c;掌握一些360度VR全景视频拍摄技巧能让你拍出更高质量的作品&#xff0c;这是非常有必要的&#xff0c;今天为大…...

有什么网站可以兼职做翻译/上海百度分公司电话

一、初始化 1&#xff0c;直接调用 [java] view plaincopyprint?ThreadPoolTaskExecutor poolTaskExecutor new ThreadPoolTaskExecutor(); //线程池所使用的缓冲队列 poolTaskExecutor.setQueueCapacity(200); //线程池维护线程的最少数量 poolTaskExecutor.setCorePoo…...