近期需要对公司的接口做线上的巡查监控,需要写一个脚本放到服务器上,定时运行脚本监测线上接口是否正常。测试的接口不是HTTP协议,而是公司基于TCP协议开发的私有协议,因此不能直接用现成的一些接口测试工具,需要自己写代码来调用接口。由于是私有协议,为了方便各业务项目进行通信,开发部门统一提供了一个 ...
今天阳光明媚,掐指一算,今天比较适合划水。 于是早上到公司之后先是蹲了厕所,然后就准备翻阅公众号推文。 看的正嗨,突然钉钉群里开始响了, 生产日志群报了一条警告,如下: 报错信息很明确 定位到业务代码如下 一个普普通通的map的put操作,怎么就报错了呢 继续往下看。 报错是在AbstractMap,翻看源码 这个抽象累定义了一个public的put方法,但是里面是直接抛出了异常。 分析一下,应该 ...
2021-04-01 15:06 21 1547 推荐指数:
近期需要对公司的接口做线上的巡查监控,需要写一个脚本放到服务器上,定时运行脚本监测线上接口是否正常。测试的接口不是HTTP协议,而是公司基于TCP协议开发的私有协议,因此不能直接用现成的一些接口测试工具,需要自己写代码来调用接口。由于是私有协议,为了方便各业务项目进行通信,开发部门统一提供了一个 ...
,如下: 问题分析 马上登录线上服务器,gdb调试堆栈信息。 堆栈信息如下: #0 0x000000 ...
现象 生产环境websocket无法正常连接,服务端返回400 bad request,开发及测试环境均正常。 抓包排查 src:nginx服务器 172.16.177.193dst:imp应用服务器 172.16.177.218 问题定位 ...
一次正常的上线,发了几台docker后,却发现有的机器打了info.log里面有日志,有的没有。排查问题开始: 第一:确认这台docker是否有流量进来,确认有流量进来。 第二:确认这台docker磁盘是否慢了,磁盘没有满。 第三:确认这台docker日志级别,确认 ...
前言 之前或多或少分享过一些内存模型、对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。 直到有一天你会碰到线上奇奇怪怪的问题,如: 线程执行一个任务迟迟没有返回,应用假死。 接口响应缓慢,甚至请求超时。 CPU 高负载运行。 这类问题并不 ...
一、java定位进程 在服务器中终端输入命令:top 可以看到进程ID,为5421的cpu这列100多了。 记下这个数字:5421 二、定位问题进程对应的线程 然后在服务器中终端输入命令:top -Hp 5421 作用是查看里程内部线程资源占用情况。5421为第二步获取 ...
线上某dubbo服务A调用dubbo服务B的接口X方法,调用端A日志中出现了很多超时的情况,提供端B该接口X超时时间设置为60s; 查看提供端B的日志,报了很多线程池满的异常: 服务B部署了4个节点,仅1个节点有线程池满情况; 服务B的dubbo配置如下,线程池固定700个线程 ...
背景 公司的主打产品是一款跨平台的 App,我的部门负责为它提供底层的 sdk 用于数据传输,我负责的是 Adnroid 端的 sdk 开发。 sdk 并不直接加载在 App 主进程,而是隔离在一 ...