首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Bug之路-串包Bug

Bug之路-串包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...串包Bug现场 前置故障Redis超时 由于某个系统大量的hget、hset操作将Redis拖垮,通过监控发现Redis的CPU和IO有大量的尖刺,CPU示意图下图所示: ?...Bug复盘 此次Bug是由Redis本身Server负载太高超时引起的。Bug的现象是通过Jedis去取对应的Key值,得不到预期的结果,简而言之包乱了,串包了。...缩小Bug范围 首先:Redis是全球久经考验的系统,这样的串包不应该是Redis的问题。 第二:Redis刷新了key后Bug依然存在,而业务系统重启了之后Okay。...Bug推理 笔者意识到,之所以串包可能是由于jedisClient里面可能有残余的数据,导致读取的时候读取到此数据,从而造成串包的现象。

1.3K10

Bug之路-串包Bug

笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少踩点坑。...串包Bug现场 前置故障Redis超时 由于某个系统大量的hget、hset操作将Redis拖垮,通过监控发现Redis的CPU和IO有大量的尖刺,CPU示意图下图所示: CPU达到了100%,导致很多...Bug复盘 此次Bug是由Redis本身Server负载太高超时引起的。Bug的现象是通过Jedis去取对应的Key值,得不到预期的结果,简而言之包乱了,串包了。...缩小Bug范围 首先:Redis是全球久经考验的系统,这样的串包不应该是Redis的问题。 第二:Redis刷新了key后Bug依然存在,而业务系统重启了之后Okay。...Bug推理 笔者意识到,之所以串包可能是由于jedisClient里面可能有残余的数据,导致读取的时候读取到此数据,从而造成串包的现象。

69110

Bug之路-Druid的Bug

Bug之路-Druid的Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...前言 此Bug是Druid低版本的Bug,此Bug至少在1.0.12版本就已经修复。...Sharding Proxy的Bug 于是此问题又萦绕在笔者心头,在又一番不下于上述过程的努力之后,发现一个月之前上线的新版本的Sharding Proxy的内存泄露Bug导致频繁GC(并定位内存泄露点...与此类似,如果DB负载过高的话,笔者推测也会触发Druid的Bug。...终于这次的连环Bug算是填完了。 总结 追查Bug,日志和源码是最重要的两个部分。最源头的日志信息量最大,同时要对任何不同寻常的现象都加以分析并推测,最后结合源码,才能最终找出Bug

91250

什么是材料管理软件

部分图片引用自AVEVA官方资料 引言 我用过的第一款材料管理软件叫VPRM,AVEVA旗下产品,更准确的说是一款项目资源管理软件,虽然早已退出主流序列,但是反映出的材料管理理论体系依然非常值得我们学习和借鉴...以下内容通过对VPRM软件的官方宣传资料加工而成,去掉了一些商业宣传性质的东西和夸大的词汇,保留了介绍材料管理软件理论方面的内容,希望能让大家了解什么是材料管理软件,它的作用是什么。...材料管理软件应该做什么 为整个项目的全生命周期提供风险管理,以及项目控制的工具,并能有效改善项目管理的质量,降低项目总体成本。...材料管理软件应该在整个项目全生命周期过程中,对所有材料都进行严格的控制,其将贯穿从设计部门的材料确认开始、到采购、到最终安装,从而减少材料冗余和延期到货的风险。...出发 可见,材料管理软件是一个非常庞大的体系,从开发到最终应用成功,肯定是一个漫长的过程。所以,不要急功近利,不用害怕困难,让我们出发上路吧!

1.7K20

Bug之路-TCP粘包Bug

Bug之路-TCP粘包Bug 前言 关于TCP流 TCP是流的概念,解释如下 TCP窗口的大小取决于当前的网络状况、对端的缓冲大小等等因素, TCP将这些都从底层屏蔽。...TCP粘包Bug 笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。...Bug现场 出Bug的系统是做与外部系统进行对接之用。这两者并不通过http协议进行交互,而是在通过TCP协议之上封装一层自己的报文进行通讯。如下图示: ?...此后一切正常,交易量也回归正常,仿佛刚才的Bug从来没有发生过。在此之前,此系统已经稳定运行了好几个月,从来没出现过错误。 但是,这事不能就这么过去了,下次又出这种Bug怎么办,继续重启么?...事实上,在笔者解决各种Bug的过程中,经常通过猜想等手段定位出Bug的原因。但是从现场取证,通过证据去解释发生的现象,通过演绎去说服同事,并对同事提出的种种问题做出合理的解释才是最困难的。

82220

回归BUG

当软件一直处于发现BUG和解决BUG的循环中时,为什么我们需要执行回归用例?我们需要定期执行回归测试。我们这样做的原因是发现回归缺陷。...当发现由于修补程序而触发其他功能BUG时,这些BUG称为回归BUG。例如,假设登录页面有一些BUG,开发人员已修复它。现在,登录页面可以正常工作,但是注册页面正在引起一些验证或其他之前不存在的BUG。...由于登录页面上的修复,可能导致了新BUG,这是一个回归中发现的BUG,很容易被错过。 回归BUG很难处理 回归BUG通常是不可避免的,需要在发布软件之前对其进行修复。...「时间复杂性」:截止日期临近时,回归BUG可能会带来很大挑战。开发人员很少有时间来修复新检测到的BUG,他们往往急于修复测试同学刚刚提出BUG而不会关注可能导致的回归BUG。...处理回归BUG 有几种方法可以帮助测试团队有效地处理回归BUG。 代码审查 不仅开发,甚至测试脚本都需要定期检查代码。检查测试用例,以确保它们足以验证组件的每个模块。

1.7K30
领券