国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

線上問題排查指南

開發 前端
OOM問題在生產環境中,一旦出現,一般會是非常嚴重的問題,服務可能會掛掉。但是OOM問題有多種情況,不同的情況,出現問題的原因不一樣。

前言

最近經常有小伙伴問我,遇到了線上問題要如何快速排查。

這非??简灩ぷ鹘涷灹恕?/p>

有些問題你以前遇到,如果再遇到類似的問題,就能很快排查出導致問題的原因。

但如果某個問題你是第一次遇到,心中可能會有點無從下手的感覺。

這篇文章總結了,我之前遇到過的一些線上問題排查思路,希望對你會有所幫助。

1.OOM問題

OOM問題在生產環境中,一旦出現,一般會是非常嚴重的問題,服務可能會掛掉。

但是OOM問題有多種情況,不同的情況,出現問題的原因不一樣。

(1)堆內存OOM

服務器的日志一般會打印下面的內容:

java.lang.OutOfMemoryError: Java heap space

這種是出現最多的OOM問題。

在Java服務啟動時,可以增加下面的參數:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heapdump.hprof

在發生OOM時,程序會自動把當時的內存使用情況,dump保存到指定的文件。

然后使用MAT(Memory Analyzer Tool),或者使用JDK自帶的 Java visualvm,來分析dump 文件,找出導致OOM 的代碼 。

(2)棧內存OOM

出現棧內存OOM問題的異常信息如下:

java.lang.OutOfMemoryError: unable to create new native thread

如果實際工作中,出現這個問題,一般是由于創建的線程太多,或者設置的單個線程占用內存空間太大導致的。

這個時候需要排查服務的線程數量。

推薦使用線程池,可以減少線程的創建,有效控制服務中的線程數量。

(3)棧內存溢出

出現棧內存溢出問題的異常信息如下:

java.lang.StackOverflowError

該問題一般是由于業務代碼中寫的一些遞歸調用,遞歸的深度超過了JVM允許的最大深度,可能會出現棧內存溢出問題。

如果生產環境中,出現了這個問題,可以排查一下遞歸調用是否正常,有可能出現了無限遞歸的情況。

(4)GC OOM

出現GC OOM問題時異常信息如下:

java.lang.OutOfMemoryError: GC overhead limit exceeded

GC OOM一般是由于JVM在GC時,對象過多,導致內存溢出,建議調整GC的策略。

在老代80%時就是開始GC,并且將-XX:SurvivorRatio(-XX:SurvivorRatio=8)和-XX:NewRatio(-XX:NewRatio=4)設置的更合理。

(5)元空間OOM

出現元空間OOM問題時異常信息如下:

java.lang.OutOfMemoryError: Metaspace

JDK8之后使用Metaspace來代替永久代,Metaspace是方法區在HotSpot中的實現。

這個問題一般是由于加載到內存中的類太多,或者類的體積太大導致的。

如果生產環境中出現了這個問題,可以通過下面的命令修改元空間大?。?/p>

-XX:MetaspaceSize=10m -XX:MaxMetaspaceSize=10m

我在這里列舉了OOM問題的最常見的情況。

2.CPU100%問題

線上服務出現CPU100%問題,也很常見。

出現這個問題,是由于服務長時間占用CPU資源導致的。

主要原因有下面這幾種:

定位這個問題,可以使用JDK自帶的jstack工具,或者用阿里開源的Arthas探測工具。

3.接口超時問題

不知道你有沒有遇到過這樣的場景:我們提供的某個API接口,響應時間原本一直都很快,但在某個不經意的時間點,突然出現了接口超時。

導致接口超時的原因有很多,我們需要挨個逐一排查。

下面這張圖中給大家列舉出現了,生產環境接口突然出現超時問題時的常見原因:

4.索引失效問題

不知道你有沒有遇到過,生成環境明明創建了索引,但數據庫在執行SQL的過程中,索引竟然失效了。

由于索引失效,讓之前原本很快的操作,一下子變得很慢,影響了接口的性能。

我們可以通過explain關鍵字,查看sql的執行計劃,可以確認索引是否失效。

如果索引失效了,可能是哪些原因導致的問題呢?

下面這張圖給大家列舉了常見原因:

5.死鎖問題

如果你使用的是MySQL數據庫,在生產環境肯定遇到死鎖問題。

死鎖是指兩個或多個事務在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,這些事務將無法繼續向前推進。

在Java中,使用MySQL數據庫時,如果遇到MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction異常,意味著數據庫檢測到了死鎖。

MySQL死鎖通常由以下原因造成:

  • 資源競爭:多個事務同時競爭相同的資源,比如都試圖獲取對方持有的鎖。
  • 循環等待:事務之間形成了一種互相等待對方釋放資源的循環關系。
  • 不當的事務設計:事務執行順序不合理、執行時間過長等。
  • 并發操作沖突:在高并發環境下,多個事務對同一組數據進行操作,容易引發鎖沖突導致死鎖。
  • 索引使用不當:如果索引設計不合理,可能導致事務在獲取鎖時出現問題。

如何減少死鎖問題?

  • 設置合理的事務隔離級別。
  • 避免大事務的業務代碼。
  • 優化sql性能。
  • 增加鎖等待超時處理。
  • 增加監控和分析

6.磁盤問題

服務器磁盤問題是眾多線上問題中,最好排查的了。

磁盤問題一般有兩種:

  • 磁盤壞了
  • 磁盤空間不足

如果是磁盤壞了,運維一般在短時間內,很難及時修復好。

因此,需要及時更換磁盤。

如果是磁盤空間不足。

一般需要登錄到那臺服務器, 使用命令:

df -Hl

查看當前服務器的磁盤使用情況。

  • 總大小
  • 已使用多少
  • 可用多少

最快的解決辦法是,將/tmp文件夾中的文件刪除,可以釋放一些磁盤空間。

然后找到日志文件,刪除7天以前的日志。

這兩種方式,一般會釋放不少磁盤空間,暫時解決磁盤空間不足的問題。

從常用來看,我們需要對服務器的磁盤使用情況做監控,如果超過閥值有預警。

同時需要需要規范業務系統,哪些場景需要打印日志,哪些場景不需要,不應該所有的場景,都打印日志。

特別是有些業務查詢接口調用非常頻繁,一次性返回的數據很多,這種情況下,會導致服務器上的日志迅速膨脹,占用過多的磁盤空間。

7.MQ消息積壓問題

如果你使用過MQ消息中間件,在生產環境肯定遇到過MQ消息積壓問題。

出現這個問題,一般是MQ消費者消費消息的速度,比MQ生產者生產消息的速度慢。

如果之前一直都是好好的,突然有一天出現了MQ消息積壓問題。

可能是下面的原因導致的:

  • MQ生產者批量發送消息。
  • 隨著數據越來越多,MQ消費者的在處理業務邏輯時,mysql索引失效或者選錯索引,導致處理消息的速度變慢。

如果生產環境出現MQ消息積壓問題,先確認MQ生產者有沒有批量發送消息。

如果有,則可以把MQ消費者中線程池的核心線程數和最大線程數調大一些,讓更多的線程去處理業務邏輯,提升消費能力。

這套方案的前提是MQ消費者中,已經使用了線程池消費消息。

如果沒有使用線程池,則只能臨時增加服務器節點了。

如果MQ生產者沒有批量發送消息,則需要排查MQ消費者的業務邏輯中,哪些地方出現了性能問題,需要做代碼優化。

優化的方向是:

  • 優化索引
  • 優化sql語句
  • 異步處理
  • 批量處理

等等,還有其他的。

8.調用接口報錯

我們生產環境的程序,有時候會出現,之前調用某個API一直都是正常的,但突然出現報錯的情況,即返回碼不是200。

那么,這種問題,我們該如何排查呢?

(1)返回401

一般生產環境出現這個問題,是由于沒有通過接口的登錄認證。

出現這種情況,一般用戶在嘗試訪問受保護的資源前,需要通過某種形式的身份驗證(如登錄),但如果未能正確提供必要的認證信息,如Token、用戶名和密碼等。

就會出現返回碼是401的情況。

(2)返回403

如果生產環境請求某個接口,返回碼是403,則說明目前沒有訪問資源的權限。

這種場景跟返回碼是401有區別。

401著重于認證問題,即用戶沒有提供正確的身份驗證信息。

而403則是在認證成功的基礎上,用戶沒有足夠的權限去訪問請求的資源。

要解決這個問題,我們需要給接口的調用方,分配相應的訪問權限。

(3)返回404

不用懷疑,你請求的接口地址,現在已經不存在了,才會報404。

比如有些接口名稱改了,或者接口路徑中/v1/user/query改成了/v2/user/query,版本號升級了。

如果沒有通知所有的接口調用方,都可能會出現請求接口返回碼為404的情況。

還有一種可能也會導致請求接口報404的問題,接口地址之前注冊到了API網關中,但API網關的配置出現了問題。

優先排查接口url是否修改,然后排查網關或者Nginx配置是否有問題。

(4)返回405

如果請求的接口,返回碼為405,一般是請求方式錯誤導致的。

最常見的是:接口只支持post方式,但發送的卻是get請求。

或者接口只支持get方式,但發送的卻是post請求。

這種問題一般非常好排查和解決。

(5)返回500

如果請求的接口,返回碼為500,一般是出現了服務的內部錯誤。

一般網關層會對接口的返回值做一次封裝,不會返回真正的異常信息。

我們只能查看接口的錯誤日志,來定位和排查問題。

建議出現異常時,把接口請求參數打印出來,方便后面復現問題。

導致這種問題的原因有很多,我們只能根據服務器上的錯誤日志,和相關的業務代碼逐一排查。

(6)返回502

如果請求的接口,返回碼為502,一般是出現了服務不可用的情況。

有兩種情況:

  • 服務器正在重啟中。
  • 服務掛掉了。

這時候可以查看一下服務的監控,也可以登錄到服務器上查看的運行狀態。

大部分情況下,重啟一下服務,可以快速解決問題。

然后再根據服務器上的日志,可以定位具體的原因,比如:OOM問題導致的。

(7)返回504

如果請求的接口,返回碼為504,一般由于網關或者接口超時導致的。

接口返回數據的耗時,大于網關設置的超時時間,就會出現這個問題。

出現這種情況,一般需要優化接口相關的代碼。

責任編輯:姜華 來源: 蘇三說技術
相關推薦

2017-08-18 22:40:33

線上線程備份

2024-10-10 15:32:51

2011-03-28 10:03:46

Btrace

2021-07-14 13:50:51

Linux命令文件

2020-04-28 09:46:34

線上問題排查

2018-08-10 15:00:42

服務器內存排查

2025-08-29 07:32:17

2021-11-23 21:21:07

線上排查服務

2022-11-16 11:55:22

網絡連接命令

2019-11-12 08:53:00

線上命令日志

2024-03-18 09:24:00

索引失效SQL

2025-10-17 08:05:00

2023-12-05 07:12:39

優化排查性能

2019-05-08 08:37:08

高可用問題排查

2019-12-09 10:40:15

YAMLBashKubernetes

2024-02-20 16:55:14

K8S云計算

2025-06-16 07:40:00

2021-07-15 23:16:09

IO異常排查

2025-11-03 13:00:00

SQL慢SQL數據庫

2010-10-12 10:04:30

無法無線上網
點贊
收藏

51CTO技術棧公眾號

日韩欧美亚洲在线| 国产最新视频在线观看| 中文字幕人成人乱码| 久久精品国产亚洲精品| 黄色污网站在线观看| 欧美美女bb生活片| 欧美扣逼视频| 亚洲国产欧美一区二区三区丁香婷| 男女日批视频在线观看| 免费人成在线不卡| 欧美二区在线| 欧美激情成人在线| 国产精品久久国产精品99gif| 嗯用力啊快一点好舒服小柔久久| 亚洲午夜未删减在线观看| 国产精品186在线观看在线播放| 欧美日韩三级在线| 午夜视频成人| 欧美男男青年gay1069videost| 亚洲s色大片在线观看| 亚洲国产wwwccc36天堂| 欧美18 19xxx| 亚洲九九爱视频| 久草福利资源在线视频| 亚洲欧美日韩久久| 一色桃子在线| 色999日韩国产欧美一区二区| 中文字幕网站视频在线| 欧美日韩国内自拍| 黄色在线视频观看网站| 欧美片在线播放| 男女免费观看在线爽爽爽视频| 亚洲国产精品电影| 桃色一区二区| 俺去亚洲欧洲欧美日韩| 玖玖玖电影综合影院| 国外色69视频在线观看| 精品国产乱码久久久| 成人黄色激情网| 欧美不卡高清| 亚洲精品一区二区毛豆| 国产综合久久久久久鬼色| 国产成人无码a区在线观看视频| 2020国产成人综合网| 羞羞在线观看网站| 欧美视频在线看| 韩国中文字幕在线| 国产丝袜一区二区三区免费视频| 国产精品99| 日本aⅴ大伊香蕉精品视频| 外国成人激情视频| 水蜜桃一区二区三区| 国产成人av一区二区三区在线观看| 成人在线观看黄| 欧美日韩一区二区三区在线免费观看 | 久久婷婷亚洲| 国产精品无码电影在线观看| 国产精品入口麻豆九色| 黄视频在线观看免费| 亚洲精选一区二区| 精品少妇一区| 999视频在线免费观看| 男人的j进女人的j一区| 狠狠热免费视频| 欧美视频在线播放| 在线视频成人| 91精品美女在线| 毛片不卡一区二区| 美女露隐私免费网站| 精品久久人人做人人爰| 国产精品zjzjzj在线观看| 久久精品久久精品国产大片| 99re亚洲国产精品| 美女做暖暖视频免费在线观看全部网址91 | caoporen国产精品| 国产91精品久久久久久久网曝门| 国产宾馆自拍| 欧美变态凌虐bdsm| 欧美变态网站| 亚洲欧美综合一区| 亚洲一区在线观看免费观看电影高清| 国产乱色在线观看| 91精品国产91久久久久久不卡| 亚洲免费影视| av男人的天堂网| 亚洲新声在线观看| 这里只有精品在线| 黑人糟蹋人妻hd中文字幕| 欧美视频在线一区| 天堂成人娱乐在线视频免费播放网站| 午夜精品一区二区在线观看的| 中文字幕一区二区三中文字幕| 99热国产在线| 国产精品揄拍一区二区| 26uuu色噜噜精品一区二区| 日韩精品毛片| 国产在线拍揄自揄视频不卡99| 91麻豆免费观看| 在线黄色网页| 91中文字幕在线| 国产精品美女久久久久高潮| 电影在线观看一区| 亚洲在线免费观看| 亚洲欧美成aⅴ人在线观看| 97成人超碰| 亚洲精品美女久久7777777| 欧美最猛性xxxxx直播| 国产精品极品国产中出| 欧美日韩在线一| 精品香蕉在线观看视频一| 99视频精品| 国产免费av在线| 国产精品丝袜久久久久久不卡| 久久久久久久精| 成人亚洲视频| 一本久道久久综合狠狠爱亚洲精品| 欧美午夜性色大片在线观看| 精品福利一区| 国产免费999| 一区二区三区黄色| 成人免费毛片aaaaa**| 2019中文字幕在线电影免费| 久久精品一区二区三区不卡免费视频| 婷婷久久综合九色综合伊人色| 免费看成人吃奶视频在线| 色免费在线视频| 久久久免费精品视频| 久久综合色鬼综合色| 久久三级毛片| 亚洲熟妇av日韩熟妇在线| 中文字幕久精品免费视频| 国产精品18久久久久久久久| 2021中文字幕在线| 在线观看成人免费| 亚洲国产日韩欧美在线图片| 国产精品99久久精品| 亚洲免费一区三区| 欧美色图亚洲自拍| 欧美在线观看www| www视频在线观看| 久久激情一区| 精品精品欲导航| 亚洲精品国产suv一区88| 精品av一区二区| 日韩网站在线观看| 国产在线一在线二| 母乳一区在线观看| 欧美精品手机在线| 亚洲美女在线免费观看| 白嫩白嫩国产精品| 性高湖久久久久久久久| 一区二区视频在线看| 亚洲免费视频观看| 欧美不卡三区| 日韩精品亚洲人成在线观看| 九九热爱视频精品视频| 国产乱人伦偷精品视频不卡| 91精品国产福利在线观看| 久久超碰亚洲| 99热这里只有精品首页| 国产精品免费人成网站| 日韩中文字幕在线看| 国产精品入口芒果| 2023国产精华国产精品| 午夜精品一区二区三区电影天堂| 久久99精品久久久久久秒播放器| аⅴ资源新版在线天堂| 欧美精品国产| 欧美专区日韩专区| 久久66热这里只有精品| 蜜桃视频www网站在线观看| 处破女av一区二区| 色婷婷综合成人| 日韩精品在线观看av| 美女网站视频在线| 粉嫩一区二区三区性色av| 97netav| 2023国产精华国产精品| 日本韩国欧美国产| 欧美视频观看一区| 国产传媒在线观看| 国产精品麻豆欧美日韩ww| 91精品免费| 亚州黄色一级| 国产成人免费视频网站高清观看视频| 国产精品99久久久久久人| 久久国产精品黑丝| 中文字幕一区日韩精品欧美| 亚洲最大av在线| 日韩一区二区三区在线免费观看 | 亚洲看片一区| 666欧美在线视频| 国产精品第157页| av一区在线播放| 亚洲一区二区欧美激情| 亚洲熟妇无码一区二区三区| 亚洲欧美校园春色| 在线视频精品一| 在线观看免费网站| av影院午夜一区|