黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 線上問題的解決與思路

線上問題的解決與思路

來源:千鋒教育
發布人:zyh
時間: 2023-06-12 15:57:00 1686556620

  一. 問題復現

  在上一篇文章中,小編分享了以前在工作中遇到的線上業務BUG解決思路,今天我會結合自己的授信中心這個金融項目,繼續給大家分析如何對自己遇到的故障進行定位與解決,希望本文可以對缺乏實際開發經驗的小白有所幫助。

線上問題的解決與思路

  其實要想解決開發故障,通常的解決思路大致如下:

  1.分析問題,根據理論知識+經驗分析問題所在,并將錯誤鎖定在一定的范圍內;

  2.通過錯誤日志,快速定位問題。線上定位問題時,主要是依靠監控和日志。

  比如小編遇到過這樣一個問題:

  線上的金融項目啟動后,運行速度越來越慢,一段時間后直接無法訪問,但此時的內存使用率正常,而CPU使用率幾乎滿負荷。在重啟項目后,又運行了一段時間,項目重復出現該問題。

  二. 解決思路

  對于這種線上的故障,我們該怎么解決呢?其解決思路可以按照以下幾個步驟來實現。

  其實,大多數情況下,只要出問題,我們都可以利用 df(查看磁盤)、free(查看內存)、top(查看CPU) 來個素質三連,然后再通過jstack(Java堆棧跟蹤工具)、jmap(Java堆和方法區的詳細信息)等工具排查。這些工具的具體使用命令,大家可以自行查閱。

  1.top命令

  top命令或者其他監控數據,用于查看服務器的內存、cpu的使用情況。

  2.jps命令

  查看當前java程序的進程號,假如為:17357,

  3.jstat命令

  jstat -gc 17357 2000,可以查看jvm的內存分配情況,如圖:

1684820944914.image

  接著我們再通過查看EU和OU、YGC、FGC的變化,來調整jvm的內存、young區(edge,s1,s2)、old區內存大小。

  可靠建議:

  修改JAVA_OPTS='-Xms1024m -Xmx1024m' ,將jvm的最大、最小內存設為系統內存的3/4。根據ygc,調整young區中s與edge比例,根據fgc的頻率調整young區和old區的大小(或比例)。

  然后通過jstack 進程id,來查看線程的死鎖,例如: jstack -l 21733 | more,若出現下圖所示,則是出現了線程死鎖。

1684820964767.image

  1.tomcat優化

  我們也可以在yml文件中tomcat的配置進行優化。

  server:

  port: 9105

  tomcat:

  threads:

  處理請求的最大線程數

  max: 350

  最小的工作線程數

  min-spare: 100

  等待隊列的最大隊列長度

  accept-count: 500

  2.設置數據庫連接池

  對于數據庫服務(如mysql),dba在部署的時候,都會設置db的最大內存和最大鏈接數,開發人員可以暫時忽略。

  另外,數據庫連接池請盡量別用dbch、c3p0等已經過時的連接池技術,推薦使用阿里巴巴的druid,其相關的鏈接配置,請參照其github的官網。

  三. 具體解決過程

  結合以上解決思路,接下來百澤給大家說一下我的具體解決過程。

  1.top定位

  由于cpu滿負荷,所以我先通過top定位到出現問題的線程。發現確實是我們的java項目所在進程吃掉了所有的cpu資源,這時可通過jps+jstat來查看java的gc狀態,進一步發現young gc幾乎是一秒一次,fullgc沒有。所以接著我又查看了jvm的設置,young內存才設為512m,我先去掉了這個配置,而是采用默認配置(young:old =1:2)。

  在重啟項目之后,young gc基本到了10多秒一次,可項目運行一段時間還是會卡死。然后我又看了下tomcat的連接池,發現全部都是默認配置(默認最大連接數為50),故先將最大鏈接設為500,等待隊列設為1000,重啟項目,還是出現cpu滿負荷,系統卡死。

  2.排查數據庫服務的內存

  接著我查看了輸出的最新日志文件,發現日志輸出到一個dao方法之后,在輸出響應的sql后就卡住了。接著我通過mysql鏈接工具直接執行,sql卻很快輸出,因此排除數據庫服務的內存不足等硬件問題。

  3.調整日志輸出級別

  通過查看項目的框架,發現日志用的log4j(同步日志輸出),日志輸出級別是:INFO,這會導致項目里面的log輸出非常多,所以我先將log的輸出級別設為warn,重新啟動項目,項目正常運行。

  4.優化數據表

  修改日志輸出級別為warn之后,運行了一段時間發現系統又卡死了。這時還是兩個表的查詢卡死(通訊錄和通話記錄),這兩個表的存儲量級都是上億級別的,項目原有的邏輯是這樣的,用戶上傳通訊錄,需要刪除原來的通訊錄,再批量插入。這樣一個大表頻繁的進行刪除與批量插入,很容易導致IO響應慢。第一步,我先通過建立唯一索引,利用insert ignore into來減少該表的IO操作,接著重新啟動項目,系統正常運行。

  5.添加索引

  加好索引優化了sql語句之后,系統還是偶爾會出現卡死狀態。這時,我通過dba搜索慢查詢,發現通話記錄和通訊錄表中有一個排序查詢,該sql的末尾使用了order by update_time desc,但update_time沒有添加索引,這就導致該表的查詢至少要2秒以上。所以我將sql改為了order by id,查詢就正常了,重啟項目,系統正常運行。

  6.解決線程死鎖

  至此,系統還是偶爾出現卡死現象(cpu爆表),只是頻率小了很多。這時我懷疑是有線程死鎖了,從而導致cpu爆表。我通過運維查找linux線程,終于發現確實有一個線程出現了死鎖,里面的信息顯示是c3p0的連接池線程。我又通過查找資料,發現使用c3p0作為數據庫連接池,經常會出現鏈接池卡死的問題,所以我趕緊將項目的連接池切換為durid,然后重啟項目,項目運行正常。

線上問題的解決與思路

  7.新增服務器節點

  但系統在進件量較大時,依然有一定的幾率出現卡死現象,最好考慮是當時的項目環境采用的是單機部署,所以最后協調運維新增了兩個服務器節點,至此項目運行完全正常。

  四. 總結

  針對線上服務器故障的解決思路和過程,小編給大家提供了以下幾個可靠建議:

  1.系統框架太過于老舊時,可能會引發一系列的項目問題,所以適當升級項目的技術是有必要的。

  2.一些大表一定要進行拆分,否則在高并發的環境中,數據庫的IO會遇到瓶頸。

  3.減少一些不必要的日志輸出,日志輸出組件盡量是異步輸出的。

  4.一些高頻率查詢的字段,盡量加上索引、組合索引,一些慢查詢的sql優化也很重要。

  5.服務盡量單獨部署。

tags: 線上問題
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
99热视热频这里只有精品| 二级特黄绝大片免费视频大片| 国产伦精品一区二区三区无广告| 日日日夜夜操| 欧美一级视频免费观看| 黄色免费三级| 午夜家庭影院| 91麻豆tv| 四虎久久影院| 久久久成人网| 欧美激情一区二区三区在线| 精品国产一区二区三区久久久蜜臀 | 欧美日本国产| 国产麻豆精品高清在线播放| 一级毛片视频播放| 精品国产一区二区三区免费| 久久国产精品只做精品| 二级片在线观看| 国产国语对白一级毛片| 国产视频一区二区三区四区| 一级女性全黄久久生活片| 成人影院一区二区三区| 九九免费高清在线观看视频| 成人免费观看的视频黄页| 韩国三级视频网站| 国产福利免费视频| 91麻豆国产福利精品| 日韩专区亚洲综合久久| 成人a级高清视频在线观看| 黄色短视屏| 国产成a人片在线观看视频| 欧美激情在线精品video| 国产一区二区高清视频| 一级毛片视频在线观看| 中文字幕一区二区三区精彩视频| 香蕉视频三级| 欧美激情一区二区三区视频| 久久久成人网| 精品视频在线观看免费| 深夜做爰性大片中文| 国产不卡在线观看| 美女免费精品高清毛片在线视| 欧美一级视频免费| 精品在线视频播放| 日韩免费片| 国产成人欧美一区二区三区的| 国产麻豆精品| 亚洲天堂在线播放| 国产精品1024永久免费视频 | 欧美一区二区三区在线观看| 日本乱中文字幕系列| 高清一级淫片a级中文字幕 | 国产视频一区在线| 欧美a级成人淫片免费看| 欧美大片a一级毛片视频| 中文字幕一区二区三区精彩视频| 久久精品欧美一区二区| 欧美a级v片不卡在线观看| 亚洲精品中文一区不卡 | 国产成人欧美一区二区三区的| 国产成人精品综合在线| 欧美1区| 欧美国产日韩在线| 精品国产一级毛片| 日韩在线观看视频免费| 91麻豆国产| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 可以免费看污视频的网站| 色综合久久天天综线观看| 成人影视在线播放| 国产成人精品在线| 高清一级毛片一本到免费观看| 欧美一级视| 可以免费看毛片的网站| 青青久热| 一级毛片视频免费| 国产高清在线精品一区a| 午夜欧美福利| 欧美激情伊人| 天天色成人| 九九九网站| 九九免费高清在线观看视频| 国产高清在线精品一区二区| 欧美一级视频免费观看| 日本特黄特色aa大片免费| 久久久成人网| 国产亚洲精品aaa大片| 精品视频在线看 | 亚洲第一视频在线播放| 亚洲天堂在线播放| 成人高清免费| 免费毛片播放| 高清一级毛片一本到免费观看| 精品视频免费看| 欧美爱色| 国产一区二区精品久久| 成人免费网站久久久| 韩国三级视频网站| 一级片免费在线观看视频| 91麻豆精品国产自产在线| 一级女性大黄生活片免费| 国产视频一区二区在线观看| 高清一级毛片一本到免费观看| 精品视频免费观看| 国产美女在线一区二区三区| 国产精品免费久久| 午夜家庭影院| 国产美女在线一区二区三区| 成人免费一级毛片在线播放视频| 久久99青青久久99久久| 国产91精品一区| 九九精品影院| 天天色成人网| 天天做日日爱| 日韩中文字幕在线播放| 久久成人性色生活片| 国产麻豆精品| 日本免费看视频| 欧美一区二区三区在线观看| 国产美女在线观看| 黄视频网站免费看| 精品国产一区二区三区久| 欧美另类videosbestsex高清| 黄视频网站在线看| 日韩专区第一页| 欧美激情一区二区三区在线播放| 日韩专区一区| 青青青草视频在线观看| 日本伦理片网站| 四虎影视久久久免费| 日韩专区一区| 久久99中文字幕久久| 成人影院久久久久久影院| 日韩av东京社区男人的天堂| 日日夜夜婷婷| 四虎影视久久久| 国产成人精品综合在线| 精品国产一区二区三区久久久蜜臀 | 亚洲不卡一区二区三区在线| 国产一区免费在线观看| 一级毛片视频播放| 天天做人人爱夜夜爽2020| 你懂的日韩| 黄色免费三级| 亚洲 国产精品 日韩| 天天做日日爱| 国产视频一区二区在线播放| 精品国产三级a| 久久99这里只有精品国产| 欧美另类videosbestsex| a级毛片免费观看网站| 欧美1区| 欧美激情一区二区三区在线| 91麻豆国产福利精品| 日韩av东京社区男人的天堂| 国产不卡在线观看视频| 成人高清免费| 日韩专区亚洲综合久久| 欧美激情一区二区三区视频| 国产91精品一区| 精品视频在线观看一区二区三区| a级毛片免费观看网站| 国产精品自拍亚洲| 二级片在线观看| 高清一级淫片a级中文字幕 | 日韩女人做爰大片| 亚洲女初尝黑人巨高清在线观看| 欧美日本免费| 久久久成人网| 九九精品在线播放| 国产麻豆精品hdvideoss| 国产伦精品一区二区三区在线观看| 免费毛片播放| 美国一区二区三区| 九九九国产| 成人影院久久久久久影院| 久久成人亚洲| 亚洲精品影院久久久久久| 99色视频在线| 日韩女人做爰大片| 一本高清在线| 欧美a免费| 国产网站免费视频| 在线观看导航| 欧美大片aaaa一级毛片| 精品国产一区二区三区久久久蜜臀 | 国产一区二区精品| 九九精品在线播放| 日韩免费在线| 色综合久久天天综合绕观看| 四虎影视库国产精品一区| 九九精品久久久久久久久| 在线观看导航| 欧美激情伊人| 香蕉视频三级| 高清一级毛片一本到免费观看| 日韩综合| 欧美另类videosbestsex视频| 久草免费在线视频| 欧美a免费|