![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排查问题
文章平均质量分 62
Nuan_Feng
蓝桥杯国赛一等奖。唯有志存千里,方能风行天下。
展开
-
大量time-wait,造成tomcat假死
问题定位:端口占用导致超时。通过分析堆栈,发现所有的线程都阻塞在一块了。初步怀疑tomcat连接数少了,后来看到都处于wait状态。那么就怀疑线程挣抢原因,top命令查看cpu没高峰,而且tomcat最大才10个。定位redis 游标scan命令,但是db库数据比较少,原因排除。接着怀疑xxljob频繁访问造成的,有几个一秒执行的job。然后发现堆栈信息中的确xxljob在run。查看xxljob后台,发现全部成功。没有失败的。那就纳闷了,xxljob全部成功,但是对外tomcat响应超时。xxljob原创 2021-07-31 00:25:20 · 3807 阅读 · 0 评论 -
执行器启动成功后,控制台一直反复报:xxl-rpc provider netty_http server caught exception
翻阅了xxljob,找到了issue。执行器启动成功后,控制台一直反复报:xxl-rpc provider netty_http server caught exception解决办法:主要是云提供商lb的健康检查造成的。执行器的9999端口,分别在阿里云和腾讯云配置了lb,而且是tcp协议的。而xxljob调度中心与执行器的心跳底层是依赖netty进行的http协议维持。解决办法如下:1:9999端口在lb上配置http协议。(这个没必要)2:关闭lb心跳检查。3:自定义tcp协议。(这.原创 2021-07-14 11:53:04 · 8398 阅读 · 4 评论 -
select for update引发死锁分析
问题复现读写锁冲突场景:4场直播同时准备作业。首先查询作业是否有这条记录。这里查询后添加写锁。作业准备前是没有记录的,所以这里就会造成间隙锁。假设现在只有3条数据。然后通过role查询等于4的。这里查不到数据库,就会锁住3之后的所有数据。先营造测试环境,给xxl_job_user表role字段添加唯一索引。执行如下命令:set @@autocommit=0;SHOW VARIABLES like ‘%autocommit%’;START transaction ;SELECT * F原创 2021-06-25 19:11:20 · 2218 阅读 · 3 评论 -
binlog恢复数据库
查看原始的sql说明:--base64-ouput=decode-rows 代表解码 -v 代表换行显示这些语句,如果没有-v 你依然看不到具体的语句 --start-date 代表你要获取日志的开始时间 --stop-date 代表你要获取日志的结束数据mysqlbinlog有一个参数--verbose(或-v),将自动生成带注释的SQL语句(在行事件中重构伪SQL语句),其实这个并非原始SQL语句,而...原创 2021-05-31 11:40:14 · 536 阅读 · 0 评论 -
如何bat修改dns
获取适配器名::这里填适配器名set NET_NAME="demo" ::静态IPset NET_IP="192.168.1.109"::子网掩码set NET_MASK="255.255.255.0"::默认网关set NET_GATE="192.168.1.1"::首选DNS服务器set DNS_FIRST="119.29.29.29"::备选DNS服务器SET DNS_SECOND="202.96.134.133"netsh interface ip set dn...原创 2021-04-08 18:10:21 · 3068 阅读 · 0 评论 -
Redis为什么变慢了?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头雾水。 很多时候,Redis出现访问延迟变大,都与我们的使用不当或运维不合理导致的。 这篇文章我们就来分析一下Redis在使用过程中,经常会遇到的延迟问题以及如何定位和分析。 使用复杂度高的命令 如果在使用Redis时,发现访问延迟突然增大,如何进行排查? 首先,第一步,建议你去查看一下Redis的慢转载 2021-03-06 20:48:27 · 173 阅读 · 0 评论 -
关于maven JAVA_HOME环境失效问题
解决办法注意:控制台关闭失效办法二:找到mvn目录打开这个文件,配置环境即可。set JAVA_HOME=D:\Java\jdk1.8.0_131办法三:发现失效查看JAVA_HOME环境变量值和jdk地址,发现不一致。删除即可这里还有一个问题需要注意当删除JAVA_HOME,也是能够查找1.8 jdk信息,原来path存在优先级问题...原创 2020-11-03 10:06:49 · 513 阅读 · 0 评论