近期需要對公司的接口做線上的巡查監控,需要寫一個腳本放到服務器上,定時運行腳本監測線上接口是否正常。測試的接口不是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 主進程,而是隔離在一 ...