
生产问题
文章平均质量分 75
5ycode
公众号5ycode,
所有内容公众号最先发布,请大家尊重原创
展开
-
生产问题排查参考
生产问题处理的基本原则:第一时间恢复业务(重点)重启解决不了的问题,能回滚就回滚如果业务不可逆,才是找问题的解决的时候原创 2022-02-28 19:55:03 · 639 阅读 · 1 评论 -
无意间翻到五年前的工作笔记
今天在拿U盘拷贝一个东西,发现了16年的一个工作笔记。打开了看了下,真是意外惊喜。原创 2021-12-30 22:00:00 · 564 阅读 · 0 评论 -
最近遇到的问题与优化
梳理了下最近遇到的问题,包括推文502,数据不一致,hystrix熔断。原创 2021-12-26 12:15:11 · 843 阅读 · 0 评论 -
redis的key过期了还能取出来?
redis的key过期了,还能取出来?从源码层面分析下根本原因。原创 2021-12-01 09:51:07 · 5177 阅读 · 1 评论 -
消息积压了怎么办?
引入消息中间件以后,系统交互的复杂性提升,一旦出了问题以后,要想各种各样的解决方案。如果用消息中间件是为了削峰填谷,那在高峰期积压了慢慢处理即可。如果用消息中间件只是为了解耦、异步处理,业务对时效性有一定的要求,那么就要求必须尽快处理。消息积压,一般分为两大类:生产者生产消息过快消费者消费过慢 这两个问题,又可能引出别的问题,如中间件的磁盘有限,无法导致这两大类又可以细分为三种:生产者消费过快运营活动(导致单位时间内流量激增)微信推文push营销短信触达跑批处理,一下子导入过多的数据到消费者异常数据处理,一原创 2021-09-15 10:59:56 · 443 阅读 · 0 评论 -
记一次生产慢sql查询的解决
今天测试在验证的时候,测试反馈工单后台查看数据特别慢,慢到数据无法展示。那就看下呗。看了下有慢sql。本着对生产敬畏的心态,转移到测试环境进行验证。测试数据不够,自己造呗。工单表具备以下特征:数据字段多,索引也多;随着数据的流转,数据一直在更新;以下数据是参考测试表结构的模拟;-- 创建表,多加了几个字段为了占用空间填充CREATE TABLE `t_loan_order` ( `app_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '工单ID',原创 2021-06-25 16:34:33 · 324 阅读 · 1 评论 -
一次系统宕机认识系统日志
今天开发小伙伴给我说,哥,你帮我看下吧,系统无缘无故的宕机了。之前跑了一个多月好好的。我问了下这台机器的配置是啥?虚拟机:1核2Gjvm配置:xms:1gxmx:1g我就开始着手查看监控指标怎么样? 监控系统这两天在升级,暂时看不了; 开发反馈,load在1左右,cpu高峰也就80%,我先信了。现场有无保留(堆栈信息)? 没有OOM的输出gc日志有没有? 有,gc看着都正常jvm的errorFile呢?没有配置。好吧。这些都没有咋排原创 2021-06-08 19:04:32 · 7472 阅读 · 0 评论 -
记一次数据库“脑裂“问题的复盘
问题回顾4月2日 开发发现专有云的用户rds实例链接数报警,并于中午发起了数据库配置变更申请;4月8日14:00 某云在场运维巡检,发现该实例有中断的任务,尝试补偿执行失败;4月8日14:23 某云在场运维直接手动操作跳过一些步骤,将中断任务继续执行;4月8日17:30,许久没消息的报警群,突然收到一堆报警,用户系统提示:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException,其他系统提示调用用户系统Read timed out,后续又报Connect原创 2021-05-07 16:57:32 · 427 阅读 · 0 评论 -
记一次外部agent侵入导致的OOM排查过程
业务系统从公有云在迁移到专有云后,有几台服务器一直有问题,直接导致迁移进度无进展。通过jstat -gcutil pid 5000查看,发现应用程序的老年代已满,fullgc一直在增长,反而ygc很小。猜测:对象生成没有经过年轻代,直接进了老年代,程序里有大对象;年轻代里没有连续的空间,导致无法创建数组直接进入老年代;然后jmap -heap pid 查看到应用的堆有2g,但是新生代只有167MB,新生代太小,不符合1:2的配置Server compiler detected.JVM version原创 2021-04-26 23:22:01 · 1464 阅读 · 4 评论 -
我遇到的生产事故
事故一,jvm相关大对象(运营商数据;数据库查询未加查询条件,结果集过大;第三方接口或异步消息);来回转化死循环;推文并发量大String.intern() 导致oomstatic字符串拼接 导致oom堆内存过小ConcGCThreads 线程过多,stw,导致性能上不去jvm配置问题,堆、对象晋升(进入老年代过快或过慢)额度服务因stw停顿过长导致程序性能不稳定堆外内存过大;堆外内存,人脸ocr服务,照片上传 排查方法:jmap -heap 查看进程jvm的使用情况jmap -histo pid 统原创 2021-04-07 10:26:29 · 181 阅读 · 0 评论 -
我遇到的部分生产事故
文章目录事故一,jvm频繁full gc事故二:内存泄露事故三:幂等问题事故四:缓存雪崩事故五:redis链接未释放事故六:磁盘IO导致线程阻塞,cpu彪高事故七:无可用线程可创建事故八:高并发情况下短连接释放过慢事故九:数据库死锁问题事故十:域名劫持事故十一:宽带资源耗尽事故十二: 静态锁导致的并发问题事故十三: tomcat配置问题事故十四 数据库事故十五:redis的key已过期,但还能获取事故十六 同一个用户启动多个dubbo项目;事故十七 定时任务中创建线程池;事故十八,默认超时时间 60秒事故十原创 2020-12-20 14:41:00 · 242 阅读 · 0 评论 -
Tcp 连接出现大量ESTABLISHED连接
文章目录查看tomcat配置查看linux系统配置特征:1,连接进不去;2,大量超时;3,cpu彪高netstat -n |grep 端口| awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'CLOSE_WAIT 348ESTABLISHED 1240TIME_WAIT 5621排查:查看tomcat配置<Executor name="tomcatThreadPool" namePrefix="wkApi-exec-原创 2020-12-20 14:40:14 · 4067 阅读 · 0 评论 -
解决Caused By:java.Lang.OutOfMemoryError: Unable To Create New Native Thread
业务背景出现问题解决办法业务背景一台服务器上部署3个tomcat,并且每个tomcat的server.xml配置如下,只是端口不一致<Executor name="tomcatThreadPool" namePrefix="wkApi-exec-" maxThreads="1200" minSpareThreads="400"/><Connector executor="tomcatThr原创 2017-12-06 09:41:50 · 2372 阅读 · 0 评论