首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏不一样的科技宅

    Insert into select语句引发的生产事故

    事故发生的经过。   由于数据数据库中order_today数据量过大,当时好像有700W了并且每天在以30W的速度增加。 事故还原   在本地建立一个精简版的数据库,并生成了100w的数据。模拟线上发生的情况。 varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商户编号', `amount` decimal(15,2)

    2.6K11发布于 2020-07-07
  • 来自专栏SpringBoot教程

    由Long类型引发的生产事故

    Long 类型能表示的最大值是 2 的 63 次方-1,在取值范围之内,超过 2 的 53 次方 (9007199254740992)的数值转化为 JS 的 Number 时,有些数值会有精度损失。 扩展说明:在 Long 取值范围内,任何 2 的指数次整数都是绝对不会存在精度损失的,所以说精度损失是一个概率问题。 若浮点数尾数位与指数位空间不限,则可以精确表示任何整数,但很不幸,双精度浮点数的尾数位只有 52 位2 的 63 次方-1 等于 9223372036854775807图片https://developer.mozilla.org

    53330编辑于 2023-08-31
  • 来自专栏编程大道

    Redis bigkey导致生产事故

    一个Redis生产事故的复盘,整理这篇文章分享给大家。本期文章分析Redis中的bigkey相关问题,主要从以下几个点入手: 什么是bigkey? 危害是什么? 怎么产生的? 这就是造成生产事故的罪魁祸首!导致Redis间歇性卡死、影响线上正常下单! 实际生产的操作方式 在实际生产环境中发现bigkey的两种方式如下: 被动收集 许多开发人员确实可能对bigkey不了解或重视程度不够,但是这种bigkey一旦大量访问,很可能就会带来命令慢查询和网卡跑满问题 key,每个key下面存放5000个用户数据 2. * (2)新业务实现尽可能拆开,不要依赖此方法。

    56220编辑于 2022-05-17
  • 来自专栏中间件的探究

    StringBuilder生产使用的一次事故

    StringBuilder生产使用的一次事故 使用Java实现较长逻辑的代码中,无可避免会创建众多的String对象,又是为了节省内存空间以及优化程序效率,会选择使用StringBuilder或者StringBuffer value[c++] = 'u'; value[c++] = 'l'; value[c++] = 'l'; count = c; return this; } 以上就是一次事故给自己的一些思考

    59640编辑于 2023-04-04
  • 来自专栏是Kerwin啊

    生产事故」MongoDB复合索引引发的灾难

    最终定位问题是由于:服务器自身磁盘 + 大量慢查询导致 基于上述情况,运维同学后续着重增强了对MongoDB慢查询的监控和告警 幸运的一点:在出事故之前刚好完成了缓存过期时间的升级且过期时间为一个月,C 端查询都落在缓存上,因此没有造成P0级事故,仅仅阻塞了部分B端逻辑 事故回放 我司的各种监控做的比较到位,当天突然收到了数据库服务器负载较高的告警通知,于是我和同事们就赶紧登录了Zabbix监控,如下图所示 ,截图的时候是正常状态,当时事故期间忘记留图了,可以想象当时的数据曲线反正是该高的很低,该低的很高就是了。 ---------------+ query | 5 s | {"filter": {"orgCode": 350119, "fixedStatus": {"$in": [1, 2] } query | 5 s | {"filter": {"orgCode": 350119, "fixedStatus": {"$in": [1, 2]

    1.7K20发布于 2020-12-09
  • 来自专栏MySQL解决方案工程师

    由细嫩双手引起的IT环境生产事故

    怎么样?标题够吸引人的吧,想了解内情请往下面看?。 前几日和一位MySQL的Oracle ACE聊天,谈到了一个所谓的“段子”。既然说到了Oracle ACE那我就先介绍一下ACE计划吧,想到哪儿写

    99220发布于 2020-09-28
  • 来自专栏是Kerwin啊

    生产事故」MongoDB复合索引引发的灾难

    最终定位问题是由于:服务器自身磁盘 + 大量慢查询导致 基于上述情况,运维同学后续着重增强了对MongoDB慢查询的监控和告警 幸运的一点:在出事故之前刚好完成了缓存过期时间的升级且过期时间为一个月,C 端查询都落在缓存上,因此没有造成P0级事故,仅仅阻塞了部分B端逻辑 事故回放 我司的各种监控做的比较到位,当天突然收到了数据库服务器负载较高的告警通知,于是我和同事们就赶紧登录了Zabbix监控,如下图所示 ,截图的时候是正常状态,当时事故期间忘记留图了,可以想象当时的数据曲线反正是该高的很低,该低的很高就是了。 ---------------+ query | 5 s | {"filter": {"orgCode": 350119, "fixedStatus": {"$in": [1, 2] } query | 5 s | {"filter": {"orgCode": 350119, "fixedStatus": {"$in": [1, 2]

    1.3K30发布于 2020-12-15
  • 来自专栏沉默王二

    深夜生产事故,人工多线程来救场!

    我一直非常喜欢能够快速解决问题的程序员,我也乐于在各种生产出现问题的时候,第一时间去研究去分析。说一句不厚道的话,好程序员都是在解决问题中锻炼出来的,特别是生产环境出现问题时,能够站出来的程序员。 突发事故 凌晨的夜晚比较困,当我点起第三根烟的时候,负责迁移的这位程序员,急匆匆的跑过来找我了。 “强哥,出现问题了!” 心中一惊,猛吸一口烟,把烟掐灭,忙问到:“出现啥问题?” 如果在上午8:00 之前不搞定这个事情,那就完全是重大事故了。 开玩笑说,如果凌晨2、3点的时候,给我们老板打电话,老板会是什么样的感觉。 那时候想,出现这么大的事故,老板把我们开除了都是小事,如何收场才是我们最关心的。 二哥这留有他的微信号puresmile2,剩余的好友位不多了,需要的赶紧抓住机会去抢占了(备注沉默王二,通过几率增大十倍,二哥强行给自己加点光环)。 < END >

    47040发布于 2019-08-13
  • 来自专栏Laoqi's Linux运维专列

    一次生产事故的优化经历

    2 mysql主库的压力明显减少,但是从库的压力却上去了,需要将现在的一主一从已从改为一主多从的模式。 2 用户访问示意图 ? 目前平台有三款产品面对用户,平台官网、平台APP、平台小网页;其中平台官网和平台APP的压力比较大。 2、数据库解决方案 当前数据库的部署方案 ? 1)主从分离解决主库80%的查询压力。 2)增加缓存服务器。当从库查询到达峰值的时候,也会影响主从的同步,从而影响交易,因此对用户经常使用的查询进行缓存以达到减少数据库的请求压力。需要新增三台缓存服务器搭建redis集群。 ? 2、增加缓存减少数据的压力,需要新增两台大内存的缓存服务器 ?

    1.2K60发布于 2018-05-31
  • 来自专栏小许code

    雪花算法在生产环境中出事故啦!

    时间滴答滴答过去,到点了,准备下班 不过今天安静的整体来说是不怎平静的,遇到了【雪花算法】的线上产生的事故 全文字数 : 3.6k+ ⏳ 阅读时长 : 5min 关键词 : 雪花算法、时钟回拨、NTP 同步、Leaf方案前言其实整个问题是使用雪花算法过程是遇到的,这次刚好把事故记下来,希望对没遇到过得同学有个提醒。 10bit 机器 + 12bit 序列号1 bit:【不用】,二进制中最高位是符号位,1表示负数,0表示正数,生成的id一般都是用整数,所以最高位固定为041 bits【时间戳】:单位是毫秒,可表示2^ 通过看优缺点,我们知道雪花算法有个致命问题【时钟回拨】线上事故处理事故现象运营反馈有用户使用我们系统第一次上传数据成功后,接下来无论怎么样都上传不了数据了,用户很疑惑,导致现在无法使用了! 2:看看反馈用户是否也遇到了同样的问题,客服和运营那边只有一个反馈,而且确定了用户那边网络是没问题。

    1.3K30编辑于 2023-08-08
  • 来自专栏ThoughtWorks

    如果不想总是半夜爬起来抢修生产事故

    真英雄,要么能赋能团队成员,提升他们处理生产事故的“救火”的能力,而不仅仅靠他一人;要么能把需要半夜爬起来抢修的生产事故,化解成一个个小任务,在白天上班时间给解决了。 有人会问,作为开发人员,如何才能把生产事故化解成一个个小任务呢? 第2版第4章)列表,来思考哪里会存在“暗债”。 第2版第5章)列表,来寻找偿还“暗债”的思路。 作为一名开发人员,如何能让自己能逐渐减少在半夜爬起来抢修生产事故的次数?可以尝试使用本文要介绍的8个谬误、12个反模式和12个模式。 如何让队友不会半夜把你喊起来帮着抢修生产事故

    42830编辑于 2021-12-17
  • 来自专栏IT技术精选文摘

    震惊,Spring官方推荐的@Transactional还能导致生产事故

    不瞒你说,我之前也一直是这样,直到使用@Transactional导致了一次生产事故,而那次生产事故还导致我当月绩效被打了D... @Transactional导致的生产事故 19年在公司做了一个内部报销的项目,有这样一个业务逻辑: 1、员工加班打车可以通过滴滴出行企业版直接打车,第二天打车费用可以直接同步到我们的报销平台 2、员工可以在报销平台勾选自己打车费用并创建一张报销单进行报销

    51310编辑于 2021-12-09
  • 来自专栏AustinDatabases

    MYSQL 版本迁移带来 严重生产事故“的”分析

    group by,union 等语句的撰写的变化,与此同时还要注意 SQL 执行计划的变化,无论是从低版本到高版本,还是高版本迁移到其他类MySQL数据库,一定要注意版本之间的差异,否则产生业务回滚或生产事故那就是必然的了

    39810编辑于 2024-07-04
  • 来自专栏陌溪教你学编程

    大型生产事故,开源项目蘑菇博客差点被删库

    前言 今天有个热心的小伙伴,通过 MySQL 图形化管理工具 SQLyog 进行远程数据库连接,成功进入了 蘑菇博客 的生产环境数据库。 问题缘由 问题出现的原因,是因为蘑菇博客生产环境的数据库使用的远程登录密码为 默认密码(mogu2018) 。

    43930发布于 2021-03-22
  • 来自专栏故里学Java

    生产事故:年终奖杀手虽迟但到!

    事故描述: 上周客户的大促活动中,客户反馈,存在部分已发货的订单退款成功,造成了惨重的损失,直接影响在客户信任感。事后我们对这次事故进行了专项复盘。 通过对这次事故的复盘,针对这次的事故的解决方案如下: 接口异常及时抛出,供调用方进行对应业务逻辑处理 消息发送服务提供自动重试机制,如果发送失败,系统自动重试3次,对异常进行落库处理 对重要节点的异常提供短信和钉钉消息提醒 事故总结: 正视每一次事故,刨析事故原因,有针对性的解决事故原因,对于事故的预防工作该如何优化,避免下一次更严重的事故。希望技术人敬畏每一行代码! - END -

    51440发布于 2020-12-23
  • 来自专栏程序员千羽

    不起眼的SQL导入,差点引发生产事故..

    这个不经意的操作,也许一个不起眼的SQL导入动作如何差点引发生产事故,以及我们可以从中学到的教训。 1. 背景 这里简单介绍SQL导入的常见场景和背景。 2. 真实案例 这里分享一个真实的SQL导入案例,包括: 问题的起因: 在处理标签的迁移数据,把测试数据进行备份了。然而因为修改多个表,本着不想麻烦的原则。(结果越来越麻烦!) 导致事故的原因: 在运行MySQL导致操作的时候,将原来的数据删除,再insert进去。导致把当天的测试数据丢失。 其关键的隐藏点在于:有一个drop操作 事故的影响: 对测试数据造成的潜在破坏。 处理测试数据的DROP语句是为了清理测试环境,避免对生产数据造成不可逆的影响。 最佳实践: 在批量导入之前,应该删除DROP语句!! 2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。

    59410编辑于 2024-01-31
  • 来自专栏悟空聊架构 | 公众号

    PassJava 小破站生产事故,请放弃这个 CDN 吧!

    墨菲定律 我们生产环境前几个月爆过一次雷,客户反馈后台管理系统崩了,也是因为引用这个站点的 JS 脚本文件加载不出来的问题。 但昨天下午读者又反馈长时间不能访问,那这个就是生产级 T0 的事故了。 这就是墨菲定律啊!如果事情有变坏的可能,不管这种可能性有多小,它总会发生。 报错截图如下所示: 遇到这种情况怎么办? 网站恢复 好了,经过 2 个小时的紧急修复:下载文件、修改 js 脚本、上传文件、刷新 CDN、替换链接等一系列操作,我的小破站终于恢复正常了。赶紧在群里给读者反馈网站恢复了。

    99220编辑于 2022-07-01
  • 来自专栏Java项目实战

    生产事故江湖再现,CTO扬言干掉一条业务线

    还记得上次我发表的生产事故么order by 字段到底要不要加索引?[大坑],定位问题知道是索引问题产生的,那么新业务线上的事故为何又再现呢? 一个平静的下午,17:48生产报障群出现报障,本以为是一次小小的数据不一致问题,但接下来的运维故障以每秒1个,到每秒3个,然后以每秒5个bug的速度爆出,上游业务,影响范围全国,相关服务全部挂掉,然后逐步开始在故障群解决 涉及主表数据量1182万条,次主表数量1000万条,上报DBA执行时,将现有索引删除时,还未来得及添加索引,此索引为覆盖索引,由于数据量巨大,当删除索引时,在维护索引的同时,还要将整张表的数据重建,那么可以想象在生产上不断增加数据的同时去删掉索引成本多么的巨大 由运维紧急通知全国范围业务,将线上服务杀死,此时删除索引秒完成,且重建索引,重新启动服务,由报障时间起到报障解决恢复时间1小时,报障11900条,此次重大bug,CTO扬言再出现此类问题,10分钟不能解决生产问题的 反思:除了开发人员应引以为戒之外,对生产环境保持敬畏之心,那么bug这个问题,从公司角度是影响全部产品线,导致用户满意度下降,大局观是如此的,影响范围不仅是开发眼中的数据问题,而是一笔笔真实的订单,那么问题不应该反思到合理的产品评估

    50630发布于 2021-09-10
  • 来自专栏码农沉思录

    又出生产事故!那些年我曾犯过的错-SecureRandom

    java.util.Random.nextInt(Random.java:390) at com.yunshi.xy.service.impl.XyContentPVServiceImpl.addV2RandomNum at com.yunshi.xy.web.api.XyToCQueryApiController EnhancerBySpringCGLIB EnhancerBySpringCGLIB 8e41f2ae.addActionLogByPv 2.如果简单的new一个SecureRandom对象的话,在不同的操作平台会获取到不同的算法,windows默认是SHA1PRNG,Linux的话是NativePRNG。 3.

    5.1K20发布于 2019-12-05
  • 来自专栏JavaEdge

    生产事故!几百万条消息在MQ积压了半天!

    2 开发的梦魇 日常开发使用MQ时,如何避免消息积压? 若线上已出现积压了,如何应急? 3 性能优化 性能优化主要在生产者和消费者这俩业务逻辑。 MQ自身性能,作为API使用者,无需过于关注。 3.1 生产端 此端的业务代码处理性能,和MQ关系不大,都是先执行业务逻辑,最后再发消息。 若你的代码发送消息的性能上不去,优先检查是否为发消息前的业务逻辑耗时太多。 若消费速度跟不上发送端生产消息速度,就会造成消息积压。若这种性能倒挂的问题是暂时的,问题不大,只要消费端性能恢复后,超过发送端的性能,积压的消息是可逐渐被消化的。 若消费速度一直比生产速度慢,系统就会异常: MQ存储被填满无法提供服务 消息丢失 所以设计系统,要保证消费端消费性能>生产端发送性能。 2.数据增量同步,监控信息采集。(非核心业务的稳定大数据流操作)。 3.批处理意味数据积累和大数据传输,这会让单次消费的最长时延变长。

    5.4K30编辑于 2022-01-15
领券