[转帖]线上一个隐匿 Bug 的复盘】的更多相关文章

https://mp.weixin.qq.com/s/PfM3hEsDa3CMLbbKqis-og 线上一次大量 CLOSE_WAIT 复盘 原创 ms2008 poslua 2019-07-05 最近,我在压测线上的一个长连接服务时,发现服务端出现大量的 CLOSE_WAIT 状态长时间不会释放,并且伴随着 goroutine 暴增,这里做个复盘,介绍下排查思路. 说起 CLOSE_WAIT,就不得不再复习一遍 TCP 的状态变迁:…
在测试账户系统过程中遇到了线上大面积用户登录态失效的严重问题,事后对于其原因及测试盲点做了一些总结记录以便以后查阅,总结分为以下7点,其中原理性的解释有些摘自网络. 1.账户系统token失效问题复盘2.Redis 经典流程3.Redis分片部署方式4.Redis扩容导致缓存数据失效5.Redis Sharding一致性hash算法6.缓存失效,缓存击穿,缓存穿透7.Redis缓存测试总结 账户系统token失效问题复盘现象:redis扩容后线上大量用户登录态失效,需要重新登录.由于登录态可以持…
质量控制 大多数测试人员认为测试工作是发现bug,虽然这是测试的主要任务,但其实测试最重要的任务是质量控制,而发现bug和验证bug只是质量控制的一个重要环节而已. 我想很多测试人员都经历过这样的场景,就是测试环境全部都能测试通过,但正式上线之后就会有各种各样的bug,到底是哪里出了问题呢?   在测试工作中,常见的问题原因分为以下几类: ●不同版本的数据兼容 这是最常见的问题,一般新版本的迭代不仅仅是代码层面的,还有数据库的改动,而对于线上原有的数据来说改动了数据库有可能会受到影响. 举个例子…
质量控制 大多数测试人员认为测试工作是发现bug,虽然这是测试的主要任务,但其实测试最重要的任务是质量控制,而发现bug和验证bug只是质量控制的一个重要环节而已. 我想很多测试人员都经历过这样的场景,就是测试环境全部都能测试通过,但正式上线之后就会有各种各样的bug,到底是哪里出了问题呢? 在测试工作中,常见的问题原因分为以下几类: 不同版本的数据兼容 这是最常见的问题,一般新版本的迭代不仅仅是代码层面的,还有数据库的改动,而对于线上原有的数据来说改动了数据库有可能会受到影响. 举个例子: 如…
数据库服务使用的是阿里云的mysql,远程进行定时的全量备份,备份到本地,以防万一.mysql数据库远程备份的数据最好打包压缩: [root@huanqiuPC crontab]# pwd/Data/Mysql_Bakup/crontab[root@huanqiuPC crontab]# cat backup_db_wangshibo.sh#!/bin/bashMYSQL="/usr/bin/mysql"MYSQLDUMP="/usr/bin/mysqldump"B…
问题描述 我的环境:Unity3D 5.3.7 出问题机型:安卓模拟器.部分低配安卓机型(比如:红米2A) 以下代码是设置某个节点的父节点,在PC.Editor.大部分手机上都是正常的,但问题机型上,设置后节点会消失. 注:在xlua的环境下出现的问题 RectTransform rectTransform = null; rectTransform.SetParent(rectTransform); 解决办法 使用transform的方法,并且给SetParent添加参数,最后把它设置为Act…
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 上个月,我们一个java服务上线后,偶尔会发生内存OOM(Out Of Memory)问题,但由于OOM导致服务不响应请求,健康检查多次不通过,最后部署平台kill了java进程,这导致定位这次OOM问题也变得困难起来. 最终,在多次review代码后发现,是SQL意外地查出大量数据导致的,如下: <sql id="conditions"> <where> <if te…
线上BUG说处理方法:1.关于线上BUG问题,目前公司有一整套线上故障流程规范,包括故障定义.定级.处理流程.故障处理超时升级机制.故障处理小组.故障处罚(与故障存在时长有关)等:2.最主要的是,线上故障是研发和测试团队的KPI,KPI计算是分开的,线上只要出现BUG,研发必须承担责任:对于测试来说,是复盘的时候确认是不是漏测,只有漏测才会计算测试责任:3.最重要的是,公司从上下都重视这套故障流程规范,所以应该先建立规范:并让大家都认可,这样研发在开发的时候才会尽心尽力,测试也有更多时间做测试的…
如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式 首先我们来说说为何要生成sourceMap文件呢?简单的说,sourceMap是为了压缩后的代码调式提供方便,比如线上的JS文件已经压缩了,但是线上比如说有bug,但是代码已经是压缩后的,对于开发并不好调式,所以想生存一个对应的Map文件,然后使用chrome浏览器在源文件未压缩的JS文件下调式. 那么Map文件到底是什么呢?简单的来讲它就是记录信息,记录一些为压缩之前的js文件的位置,及压缩后的文…
本文来自网易云社区 作者:王贝 为什么推荐ELK: 当线上服务器出了问题,我们要做的最重要的事情是什么?当需要实时监控跟踪服务器的健康情况,我们又要拿什么去分析?大家一定会说,去看日志,去分析日志.是的,日志对于服务器开发人员来讲是最亲密的伙伴了,基本上每天都会去看各种类型的海量的日志去定位问题,去做统计分析等等.最常见的查看日志的情况,比如线上出了bug,我们ssh到线上服务器,cd到服务器的日志目录,然后less一下当天的日志文件,执行shift+G,?error,n,一系列操作之后找到对应…