首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

502问题怎么排查

于是前后端之间需要通过TCP协议去建立连接,然后在TCP的基础上传输数据。 而TCP是基于数据流的协议,传输数据时,并不会为每个消息加入数据边界,直接使用裸的TCP进行数据传输会有"粘包"问题。...反过来,如果是服务器有问题,就返回5xx状态码。 4xx和5xx的区别 但问题就来了。 服务端都有问题了,搞严重点,服务器可能直接就崩溃了,那它还怎么给你返回状态码?...这种情况几乎都是程序有代码逻辑问题,崩溃一般也会留下代码堆栈,可以根据堆栈报错去排查问题,修复之后就好了。比如下面这张图是golang的报错堆栈信息,其他语言的也类似。...对于服务器少,且不怎么变化的情况,这当然没问题。 但现在已经是云原生时代了,很多公司内部都有自己的云产品,服务自然也会上云。一般来说每次更新服务,都可能会将服务部署到一台新的机器上。...实例已经销毁但配置没删IP 要排查这种问题也不难。 这个时候,你可以看下nginx侧是否有打印相关的日志,看下转发的IP端口是否符合预期。

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

QPS过万,redis大量连接超时怎么解决?

7月2号10点后,刚好某个负责的服务发生大量的redis连接超时的异常(redis.clients.jedis.exceptions.JedisConnectionException),由于本身的数据库查询缓存在...好在只是redis超时导致的某个查询的失效,并不会导致整个主链路的流程不可用,所以接下来是怎么快速发现和解决问题。 ?...1、首先和负责redis同学排查,先排除redis本身的问题 2、服务自查 异常分布 如果监控可以看到单机维度的话,切换到单机维度查看异常是否均匀分布,如果分布不均匀,只是少量的host特别高,...慢请求 查看监控,如果有慢请求的时间和发生问题的时间匹配,则可能存在「大key」问题 客户端原因 常见的几个问题原因有: CPU 进程GC 网络 容器宿主机 CPU 观察机器或容器的CPU: CPU (...我的问题定位到这里其实已经发现了,容器的TCP重传率非常高,有些甚至达到了0.6%,咨询容器的同事建议重启容器,重启之后立刻解决问题。 继续说排查思路。

1.8K20

VMware 虚拟机外网连接问题排查

作者 | JiekeXu 大家好,我是JiekeXu,很高兴又和大家见面了,今天和大家一起来怎么让虚拟机可以上外网?...SELinux status: disabled 相关服务均正常,Linux 防火墙也是关闭的状态,SELinux 也是关闭了,折腾了两个多小时,一层层抽丝剥茧,慢慢发现问题...冲突也会出现这种情况,于是乎检查了 VMware 配置的 IP 地址,net1 和 net8 查看了也都是 32.1 和 75.1 没有地址冲突,瞬间陷入了僵局,不知该如何查看了,休息片刻,补充弹药后继续排查...地址冲突会导致 CRT 无法远程连接,报错却是拒绝连接,现在想来也是,75.11 是 VBOX 的虚拟地址,当然也就无法使用 CRT 远程连接,在虚拟机里面设置 IP 地址为 75.11 也不会有地址冲突...就这样一个小小的问题,花了两个多小时,还是粗心大意导致的,以后,这类问题要多多注意,在此记录一番,谨防下次再犯。

1.4K40

huawei Cloud redis 连接超时问题排查记录

然后登陆到华为云控制台上查看redis 监控; redis 超时肯定就是网络层面的问题,第一反应先看一下是不是连接数满了; 然后看到活跃的客户端数量是2000不到,然后里面有一个新建连接数。...新建连接数 这个监控数据到底是怎么取的;得到的答案是: 新建连接数:这是60s 以内的值,真正当前这个时间点新建连接数应该是562788/60=9,379.8 所以应该是连接数超过最大值导致的连接redis...超时; 那么问题来了。...然后就能看到每个IP地址链接redis的数量了,之后你就只需要确认这个写ip地址属于那个服务的就行了 kubectl get pods -o wide | grep $IP 找到对应的负责开发,去排查代码...发现确实redis 连接池没生效,导致的这个问题。到此问题得以解决;

47930

实战网络问题排查(四) -- 利用 wireshark 排查 TCP 连接与重传问题

引言 上一篇文章中,我们较为详细的介绍了 wireshark 的用法: 实战网络问题排查(三) -- wireshark 使用详解 使用 wireshark 最为重要的当然是要利用它来诊断网络问题了。...在这样的情况下,排查应用无响应的原因,15 到 20 秒以后,应用可能会去尝试重新建立连接,你也可以手动重启应用去重新建立连接。 3.4 Case4....总结 上述这几类问题,总的来说,可以遵循以下思路来解决问题: 归纳总结:问题是否与某台主机、某个特定的 TCP 连接或者某种具体行为相关联。...逐一排查:链路是否负载过高,链路是否存在丢包,服务器或者客户端主机是否存在性能问题,应用程序是否存在性能问题。 最终问题:是否是网络抖动引起的。...我的经验是,绝大部分性能问题都是业务层面引起的,也就是说是应用代码造成的,所以最先需要排查的是应用代码是否在性能问题出现时有过某些修改,这些修改是否会带来这些性能问题,充分否定这一情况以后,再花费精力去借助工具抓包分析网络链路上的问题

5.2K40

一次 ES-APM 导致的大量线程阻塞问题排查

前段时间有一个业务在启动过程中,会概率性出现大量线程阻塞,导致可对外提供服务的 HTTP 线程非常少,流量进来以后马上出现 HTTP 线程耗尽,健康检查接口请求失败,服务被 k8s 杀死。...堆栈分析 既然是线程的问题,当然想到的是 dump 线程堆栈,人肉阅读也可以,上传到 PerfMa XSheepdog 会更加简单。在锁的这一栏的截图如下所示。...在服务启动后,大量的 HTTP 请求进来调用 getTaskRules 这个方法,HTTP 线程、ForkJoinPool 中的线程都会调用到 ES-APM 的代码,判断这些类有没有被字节码注入。...这还没完,其实如果处理的非常快,也没有什么太大的问题,只是同一个类,每经过一次改写,就会变复杂,文件变得更大,下次类的字节码注入花的时间就更长。...经过重新打包 ES-APM 进行测试,确实解决了这个场景下的问题

80820

MySQL中间件的连接错误问题排查

这是学习笔记的第 2020 篇文章 最近在对一个线上的分布式环境做高可用配置,在流程测试通过后,发现中间件中出现了大量连接错误。...对于这个问题的定位也算是比较曲折,最初是认为防火墙权限的问题,于是我做了如下的几个场景测试,结果大多数场景都失败了。...,所以这个问题经过这样一系列测试,让人有些无奈。...经过进一步的分析和确认,算是基本定位问题的位置了,那就是错误日志的输出格式比较规律,即每10秒钟会输出一批错误。...顺着这个思路下去,发现对于RS的检测,这里使用的是TCP_CHECK的方式,而这种方式的连接注册对于MyCAT来说是不够友好的。

95930

连接虚拟机中Redis失败(问题排查

redis,然而windows版本的最高只有3.0版本的redis,不支持集群,而启动的项目就是集群redis,所以得自己启动一个,然后按部就班下载配置后启动,启动成功,然而虚拟机以外却连不上,只得开始排查问题...先排查网络问题,windows和linux分别查看对应网络 ipconfig #windowns查看网络配置 ifconfig #linux查看网络配置 对比网络网关,找到同网段的网络,ping...iptables stop #单次关闭防火墙 service iptables start #单次开启防火墙 service iptables status #防火墙状态 先关了,再连接试下...netstat -anp | grep redis #查看redis端口开放 端口正常开放 网络连接正常,端口开放正常,telnet不通,大概率就是配置问题了,找到启动配置文件redis.conf...这次再重载配置重启一次,telnet通了,再试下物理机redis-cli连接虚拟机redis,bingo! Post Views: 43

3.1K20

大量的 TIME_WAIT 状态连接怎么处理?(文末有福利)

几个方面: 问题描述:什么现象?什么影响? 问题分析 解决方案 底层原理 1.问题描述 模拟高并发的场景,会出现批量的 TIME_WAIT 的 TCP 连接: ?...线上场景中,持续的高并发场景 一部分 TIME_WAIT 连接被回收,但新的 TIME_WAIT 连接产生; 一些极端情况下,会出现大量的 TIME_WAIT 连接。...Think: 上述大量的 TIME_WAIT 状态 TCP 连接,有什么业务上的影响吗?...2.问题分析 大量的 TIME_WAIT 状态 TCP 连接存在,其本质原因是什么?...ACK 命令) 保持 2 个 MSL 时间,即,4 分钟;(MSL 为 2 分钟) 3.解决办法 解决上述 time_wait 状态大量存在,导致新连接创建失败的问题,一般解决办法: 1、客户端,HTTP

7K31

修正版 | QPS过万,Redis大量连接超时怎么解决?

之前负责的一个服务总是在高峰时刻和压测发生大量的redis连接超时的异常redis.clients.jedis.exceptions.JedisConnectionException,根据原有的业务规则...首先我们找到负责Redis同学排查,他们告诉我Redis现在很稳定,没有问题,以前现在未来都不会出问题,出了问题肯定是你们自己的问题。 ... ......诶,这就很舒服了,这一下子就找到了问题,只有几台机器异常非常高。 不过不能这样,我们继续说排查思路.........最后 根据一系列的骚操作,我们根据定位到的机器然后排查了一堆情况,最终定位到是网络问题,有单独的几台机器在高峰时期TCP重传率贼高,最后根据运维提供的解决方案:【重启有问题的机器】,我们很顺利的就解决了这个问题...但是,这毕竟是治标不治本的办法,最终怎么解决的? 在我的另外一篇文章我有写到了,没人告诉过你更复杂的缓存穿透怎么解决

82120

【最佳实践】Redis连接登录类问题自助排查指引

首先使用telnet确认是否是redis问题还是业务侧问题 大部分客户遇到的连接失败、无法连接问题,一般是发生在程序侧,可以通过命令行工具以及telnet缩小问题范围 [root@VM-4-10-centos...如上述所示,提示连接成功代表redis实例没有问题 1.连接不通的情况下,确认是否是安全组问题 如果无法连通redis,可以自助排查下是否是安全组问题,可以通过临时放通所有安全组来进行排查 [临时调整安全组...] 2.连接不通的情况下,确认是否是跨账号问题 腾讯云默认同一VPC内资源互通,跨账号资源不通,涉及到跨账号问题,访问不通。...redis外网访问 详情可参考https://docs.qq.com/doc/DTnppVkp0TFRDSWtD 是否发生HA切换、服务不可用、只读副本切换、只读副本服务不可用等 如果在某个确定的时间点发现连接异常或者有大量的访问报错...Redis常见性能问题以及简要自助排查指引

87581

【最佳实践】Redis连接登录类问题自助排查指引

首先使用telnet确认是否是redis问题还是业务侧问题 大部分客户遇到的连接失败、无法连接问题,一般是发生在程序侧,可以通过命令行工具以及telnet缩小问题范围 [root@VM-4-10-centos...如上述所示,提示连接成功代表redis实例没有问题 1.连接不通的情况下,确认是否是安全组问题 如果无法连通redis,可以自助排查下是否是安全组问题,可以通过临时放通所有安全组来进行排查 [临时调整安全组...] 2.连接不通的情况下,确认是否是跨账号问题 腾讯云默认同一VPC内资源互通,跨账号资源不通,涉及到跨账号问题,访问不通。...redis外网访问 详情可参考https://docs.qq.com/doc/DTnppVkp0TFRDSWtD 是否发生HA切换、服务不可用、只读副本切换、只读副本服务不可用等 如果在某个确定的时间点发现连接异常或者有大量的访问报错...Redis常见性能问题以及简要自助排查指引

63330

记一次Netty连接池FixedChannelPool连接未释放问题排查总结

我们再回想下,复现该bug的前提条件是抛出该异常的前提是并发量大且会伴随着大量前台请求后台的线程请求超时后出现。...于是我们不禁有以下猜测: 猜测1: 瞬间高并发的请求导致连接池资源耗尽,从而导致大量获取连接超时,这种情况是可能出现的,但是高并发过后,整个服务就不可用了(这里的服务不可用不是指应用宕掉,而是总是报获取连接超时...显然,我们要朝着猜测2和猜测3的方向去排查问题,至于哪种原因导致连接没能正常归还到连接池呢?我们依然百思不得其解!因为此时Netty连接池对于我们来说是一个黑盒,此时是时候去打开这个黑盒一探究竟了!...,到时如果设置pendingAcquireCount过大,在高并发情况下会导致大量连接创建 // 有着耗尽资源的风险 case NEW:...// 如果存在线程安全问题,当并发量大的话出现“一票多卖问题”,即最终还会导致连接池可用连接耗尽,其他没能拿到连接的线程还是会新建 // 一些连接出来,这么做可是可以,但却又违反了

3.1K30

干货 | 携程一次Dubbo连接超时问题排查

工作中,常常会遇到连接超时的问题,一般都是先检查端口状态,然后再检查CPU、Memory、GC、Connection等机器指标是否正常。...如果都在合理范围内就会怀疑到网络或者容器上,甩手丢给网络组同事去排查。 今天,我们想分享一个高并发场景导致的connect timeout,对原因以及过程的分析或许可以帮助大家从容地面对类似问题。...这么诡异的问题,不知道是否会有其他层面的问题需要去优化的呢,作为执着的技术人员,我们决定排查到底。...,肯定是操作系统层面的问题了,那么容器内的连接是否会成功呢?...可以看到建连接的时候,会判断accept queue,如果acceptqueue满了,就会drop,即把这个syn包丢掉了。 九、全连接队列怎么调整?

1.4K20

MQTT 客户端出现连接订阅等问题时如何排查

我们整理了近期社区中关注度较高的问题,在这里进行统一汇总解答。 今后本系列内容将不定期推送,敬请关注。...同时,如果大家在使用 EMQX 的过程中遇到问题,欢迎通过以下方式进行解决: 查阅 EMQX 产品文档与博客文章。...如果在现有资料中未能查询到问题的解决办法,可以在问答社区中留言提问,我们会尽快解答您的问题。...Q:我的客户端无法连接到 EMQX/订阅失败/发布消息但是对端没有收到任何消息,出现这些情况怎么办?...A:其实 EMQX 的 Debug 日志基本已经记录了所有的行为和现象,通过阅读 Debug 日志我们能够知道客户端何时发起了连接连接时指定了哪些字段,连接是否通过,被拒绝连接的原因是什么等等。

2.7K40

一次JDBC连接泄露问题排查过程总结

Time一栏的时间数值也呈降序排列,此时的访问量并不高,说明每次访问数据库建立的连接可能没有被关闭,导致连接池饱和,出现连接请求超时的问题。...排查过程 经过思考之后,大致可以断定问题出现在访问数据库的方法上,应该是应用操作数据库后连接没有释放引起的连接泄露问题。...排查过程如下: 找出访问数据库的方法 我首先尝试了从服务端解决,也就是给业务逻辑层的方法增加@Transactional注解和调整HikariCP连接池的连接参数,都没有效果。...,经测试,连接泄露问题得以解决。...这说明已经产生了连接泄露问题 2、看看方法有没有@Transactiona注解或者使用XML配置方式进行事务管理,或者出问题的方法中有没有主动创建连接未关闭的情况。

4.3K50
领券