精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我的系統有bug?你可得有證據!

系統
要想解決問題,就得通過不斷的試錯。試錯并不是盲目的,我們必須要有各種證據的支持。手機證據最有效的是通過日志,尤其是有一定規律的日志信息。除了分析正常的業務邏輯,數據問題或者多線程問題,同樣是常見的bug引起原因。

[[422707]]

本文轉載自微信公眾號「小姐姐味道」,作者小姐姐養的狗。轉載本文請聯系小姐姐味道公眾號。

你要知道,在線下、在測試開發環境能夠發現的bug,都是些小兒科。只有到了線上才發生的bug,你才會知道它的兇殘。數據錯亂,邏輯中斷,進程死亡。處在如此問題場景下的你,are you ok?

問題頻繁發生,故障難以定位,CTO怒而呵斥,“你們難道不能在線上調試一下問題的發生根本么?要形成一套可行的方法論!”

從這種訓話可以看出,CTO的技術水準一般,但太極修養十分了得。在平常的表達中,在一篇報告中,不要出現技術術語,不要把話說的太死,是一個CTO基本的素養。

但是活兒總是要有人干的,公司所有人都打太極,最后將形成一個虛幻的世界,不利于整個組織的健康發展。今天,我們就簡單的聊一下線上程序,要留下哪些證據。

1. 證據

問題之所以成為問題,是因為它留下了證據。沒有證據的問題,你雖然看到了影響結果,但是你無法找到元兇。比如,某個同學在辦公室的飲水機里放了巴豆,讓所有同事都暢快淋漓的發泄了一下。但由于沒有安裝監控,你也就無法找到這個可惡的同學。

而且問題通常都具有人性化,當它發現無法發現它的時候,它總會再次出現。就如同罪犯發現了漏洞,還會再次嘗試利用它。

所以,要想處理線上問題,你需要留下問題發生的證據,這是重中之重。如果沒有這些東西,你的公司,絕對會陷入無盡的扯皮之中。

1.1 日志證據

日志是最常見的作法。通過在程序邏輯中進行打點,配合Logback等日志框架,可以快速定位到發生問題的代碼行。我們需要看一下bug的詳細發生過程,對可能發生問題的邏輯進行詳細的日志記錄,進行更加細致的日志輸出,在發生問題的時候,就可以切換到debug進行調試。

在SpringBoot中,可以通過actuator來動態調整相應類的日志級別。在下面的路徑中,可以看到日志級別的具體信息。

  1. localhost:8080/actuator/{loggers} 

通過發送POST請求到具體的日志控制器,就可以實現動態更改。

  1. curl -X POST \ 
  2.   http://localhost:8080/actuator/loggers/<Package/Class> \ 
  3.   -d '{"configuredLevel":"<LEVEL>"}' 

但bug的發生頻率可能很小,我們開啟了debug后,可能等了好幾天,同樣的問題也沒有再次復現,這是最讓人頭疼的事情。

接入一些APM平臺是非常有必要的。最新的opentelemetry,同時記錄了Traces, Metrics, Logs等三種格式的數據,對問題的分析支持非常大。

記錄詳細的監控信息也是非常有必要的,可以看到監控指標的歷史時序,輔助我們查找排查問題。

1.2 JVM證據

在事故出現的時候,通常并不是那么溫柔。你可能在半夜里就能接到報警電話,這是因為很多定時任務都設定在夜深人靜的時候執行。

這個時候,再去看 jstat 已經來不及了,我們需要保留現場。這個便是看門狗的工作,看門狗可以通過設置一些 JVM 參數進行配置。

Java8的gc日志配置和8以后的版本差異很大,下面直接給出相應的配置示例。

java8:

  1. -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps  
  2. -XX:+PrintGCApplicationStoppedTime -XX:+PrintTenuringDistribution  
  3. -Xloggc:/tmp/logs/gc_%p.log -XX:+HeapDumpOnOutOfMemoryError  
  4. -XX:HeapDumpPath=/tmp/logs -XX:ErrorFile=/tmp/logs/hs_error_pid%p.log  
  5. -XX:-OmitStackTraceInFastThrow 

java8+:

  1. -verbose:gc -Xlog:gc,gc+ref=debug,gc+heap=debug,gc+age=trace:file 
  2. =/tmp/logs/gc_%p.log:tags,uptime,time,level -Xlog:safepoint:file=/tmp 
  3. /logs/safepoint_%p.log:tags,uptime,time,level -XX:+HeapDumpOnOutOfMemoryError  
  4. -XX:HeapDumpPath=/tmp/logs -XX:ErrorFile=/tmp/logs/hs_error_pid%p.log  
  5. -XX:-OmitStackTraceInFastThrow 

2. 分析

問題分析是最困難的一環。有了證據環節,我們就避免了靠猜去找問題的現狀,但如何在這些分散的信息和復雜的路徑中,找到問題的根本原因,是非常有挑戰的。

如果是大范圍的bug,那么強烈建議直接在線上進行調試。不太推薦使用Arthas等工具動態的修改字節碼進行測試,當然也不推薦IDEA的遠程調試。相反,推薦使用類似金絲雀發布的方式,導出非常小的一部分流量,構造一個新的版本進行測試。如果你沒有金絲雀發布平臺,類似Nginx的負載均衡工具也可以通過權重做到類似的事情。

在這個新的小版本中,你可以盡情的輸出日志,把所有的輸入輸出都打印到日志里。大多數情況下,你能夠通過日志很快發現這個問題。

緩存會是bug產生非常重要的一個影響因素。因為緩存和db通常不在一個基礎設施中,通常會存在一致性問題。即使選用了cache aside pattern,實現了延時雙刪,在某些情況下,數據仍然會發生一致性問題。這種偶發的不一致問題,因為發生頻率低,觸發條件苛刻,一點發生會非常難以發現。所以一些非常關鍵的業務,通常會提供一鍵刪除緩存的功能。如果清掉緩存之后,問題消失,那大可不必浪費時間花費在這種小概率事件上。

多線程是另外一個容易出現問題的地方,每個邏輯都必須仔細的進行評估。因為多線程是異步的,有些邏輯只能通過手工去推理,灰度的線上程序可能永遠沒有條件走到這一步。這個時候,給線程起一個合適的名字,是非常有必要的,這通常是由ThreadFactory去做的。

比如,有些同學,喜歡將字符串拼接起來直接打印成日志。

  1. logger.debug("the request info: userId:{} tel:{},role:{},timeCost:{}"

這二種方式不是說不好,但在你處理問題的時候,就會遇到很多障礙,日志的輸出不應該太隨意。

  1. logger.debug("the request info$ userId{}|tel:{}|role:{}|timeCost:{}"

通過這種方式,我們可以很容易的利用各種Linux工具,比如sed、awk、grep進行分析。在日志輸出的時候,要有一定的技巧,否則你就只能使用肉眼去分析。

3. 總結

要想解決問題,就得通過不斷的試錯。試錯并不是盲目的,我們必須要有各種證據的支持。手機證據最有效的是通過日志,尤其是有一定規律的日志信息。除了分析正常的業務邏輯,數據問題或者多線程問題,同樣是常見的bug引起原因。

日志系統與監控系統,對硬件的需求是比較大的,尤其是你的請求體和返回體比較大的情況下,對存儲和計算資源的額要求更是高。它的硬件成本,在整個基礎設施中,占比也是比較高的。但這些證據信息,對分析問題來說,是非常有必要的。所以即使比較貴,很多公司依然會有很大的投入在這上面,包括硬件投入和人力投入。

如果你想要這樣的功能但是沒錢也沒人?其實那也沒關系,雇一個會扯皮的CTO,你的這些問題和bug,都會在你面前消失不見的。 

作者簡介:小姐姐味道 (xjjdog),一個不允許程序員走彎路的公眾號。聚焦基礎架構和Linux。十年架構,日百億流量,與你探討高并發世界,給你不一樣的味道。

 

責任編輯:武曉燕 來源: 小姐姐味道
相關推薦

2019-11-26 09:45:27

軟件設計設計模式

2019-06-14 08:48:46

Tomcat日志SpringBoot

2016-12-13 10:57:22

Bug程序員錯誤報告

2024-05-20 08:25:55

2009-07-27 14:11:22

硅谷動力

2021-10-15 11:12:43

GoJava語言

2014-05-27 09:13:07

2020-03-06 12:20:52

SpringGitHub項目

2021-01-29 08:09:32

Service接口表現層

2021-03-08 09:27:43

Linux 系統 數據

2014-07-30 09:40:30

Android

2011-12-30 22:12:35

iOS

2022-12-27 14:45:55

量子計算

2019-05-13 09:25:07

大數據數據分析隱私

2019-05-13 09:01:13

程序員職責產品經理

2022-08-08 20:33:12

VolatileJVM

2015-02-10 11:15:46

Android 5.1Google

2015-02-05 09:29:25

Android 5.1

2010-08-25 10:27:35

代碼

2010-08-25 11:29:07

代碼
點贊
收藏

51CTO技術棧公眾號

欧美**vk| 日韩伦理福利| 国产经典欧美精品| 午夜精品久久久久久久99黑人 | 午夜裸体女人视频网站在线观看| 久久久777精品电影网影网| 91色p视频在线| 依依成人综合网| 亚洲澳门在线| 亚洲欧美另类在线观看| 91香蕉视频在线观看视频| 欧美久久天堂| 亚洲欧美韩国综合色| 美乳视频一区二区| 国产99视频在线| 久久精品在线| 欧美精品久久久久| 国产三级aaa| 嫩草一区二区三区| 精品国产一区a| 91精品999| 欧美成人性网| 亚洲永久精品大片| 中文字幕在线亚洲精品| 天堂v视频永久在线播放| 国产一区福利在线| 国产精品毛片a∨一区二区三区|国| 国产网友自拍视频| 欧美成人有码| xxxxxxxxx欧美| 无码一区二区三区在线| 国产日韩三级| 日韩欧美中文字幕一区| 三上悠亚在线一区二区| 亚洲最新无码中文字幕久久| 亚洲一区二区三区影院| 裸体裸乳免费看| 婷婷免费在线视频| 国产亚洲欧美激情| 久久综合一区| 神马一区二区三区| 成人小视频在线观看| 成人性生交大片免费观看嘿嘿视频| 国产成人精品777777| 一级成人国产| 7777免费精品视频| 日韩三级小视频| 亚洲视频免费| 欧美黄色片在线观看| 国产日韩欧美在线观看视频| 久久一区二区三区电影| 这里只有精品视频| 国产不卡在线观看视频| 日韩国产一区二区| 在线亚洲欧美视频| 日韩亚洲欧美中文字幕| 久久免费大视频| 日韩亚洲欧美中文高清在线| 国产精品1区2区3区4区| 精品一区二区三区在线| 在线视频欧美日韩精品| 国产成人一区二区在线观看| 成人在线电影在线观看视频| 在线观看不卡av| 中文字幕第69页| 婷婷亚洲综合| 久久久久国产成人精品亚洲午夜 | 免费视频观看成人| 欧美日韩国产综合一区二区 | 国产成人午夜精品影院观看视频 | 97在线免费观看视频| 亚洲国产精品午夜在线观看| 宅男噜噜噜66一区二区| 国产精品劲爆视频| 91亚洲国产成人精品一区| 国产在线不卡视频| 国产欧美一区二区视频| 久久久久久久影视| 国产精品伦一区二区三级视频| 在线成人av电影| 超免费在线视频| 欧美日韩中文字幕在线| 亚洲 欧美 日韩系列| 成人免费91| 亚洲精品美女久久| 奇米网一区二区| 黄色一区二区三区四区| 欧美在线一区二区三区四| 中文字幕第2页| 国产精品乡下勾搭老头1| 国产一区精品视频| www在线播放| 亚洲综合成人在线| 国产真人无码作爱视频免费| 精品一区二区三区免费看| 亚洲精品乱码久久久久久按摩观| 337人体粉嫩噜噜噜| 综合激情在线| 国产成人一区二| 国产ts人妖调教重口男| 久久午夜电影网| 干日本少妇视频| 伊人网在线播放| 欧美一级免费观看| 日本精品在线观看视频| 亚洲视频碰碰| 91精品视频观看| 你懂的视频在线免费| 亚洲久草在线视频| 国产激情在线观看视频| 51亚洲精品| 久久久国产精品x99av| 手机看片久久久| 国产成人免费在线观看不卡| 午夜欧美性电影| a国产在线视频| 日韩一级片网站| 亚洲一二三四视频| 亚洲免费婷婷| 国产99在线免费| 日本美女高清在线观看免费| 欧美三级免费观看| 免费不卡的av| 午夜电影亚洲| 国产日韩欧美在线看| 黄色在线网站| 一本色道**综合亚洲精品蜜桃冫 | 日韩免费成人| 日韩在线中文字| 欧美高清69hd| 久久久久久久久久看片| 欧美日韩黄色一级片| 51社区在线成人免费视频| 久久天天躁夜夜躁狠狠躁2022| 色老头在线视频| 91色视频在线| 福利视频一二区| 99久久免费精品国产72精品九九| 久久综合免费视频影院| 国产精品久久久久久免费播放| 国产欧美日韩亚州综合| 国产亚洲天堂网| 欧美日日夜夜| 69精品小视频| 你懂的免费在线观看视频网站| 天天色天天操综合| 一区二区视频观看| 亚洲一区二区三区高清不卡| 好吊妞www.84com只有这里才有精品 | 伦av综合一区| 91女神在线视频| 日韩av资源在线| 精品在线观看入口| 国产精品黄视频| 午夜视频在线| 欧美一区二区成人| 久久精品女人毛片国产| 波多野洁衣一区| 黄色免费视频大全| 国产欧美日韩影院| 国产日韩精品电影| 91精选在线| 亚洲国产精品福利| 黄色在线观看国产| 中文一区二区在线观看| 欧美视频亚洲图片| 亚洲人妖在线| 日韩欧美在线一区二区| **日韩最新| 欧美夫妻性生活视频| 天天干天天操av| 在线中文字幕不卡| 小泽玛利亚一区二区免费| 高清视频一区二区| 国产一区二区视频免费在线观看 | 在线成人中文字幕| 国产精品久久久久久久免费| 亚洲第一在线综合网站| 法国伦理少妇愉情| 老司机精品视频在线| 男人的天堂avav| 日韩欧美黄色| 91免费的视频在线播放| 不卡一本毛片| 在线视频国产日韩| 国产高潮流白浆喷水视频| 欧美性猛交xxxx免费看| 午夜国产小视频| 9人人澡人人爽人人精品| 人妻丰满熟妇av无码区app| 最新国产精品| 欧美亚洲免费高清在线观看| 国产精品高清一区二区| 97在线视频观看| 免费黄色电影在线观看| 亚洲精品国产精品久久清纯直播 | 欧美不卡一区二区三区| 欧美性猛交bbbbb精品| 自拍偷拍亚洲激情| 中文字幕人妻一区二区| 国产成人av网站| 国产一区二区在线免费播放| 精品成人在线| 一级黄色录像免费看| 亚洲调教一区| 国产精品自拍首页| 国产精品成人3p一区二区三区| 欧美一性一乱一交一视频| 91中文在线| 最近2019中文字幕在线高清| 午夜激情小视频| 欧美电视剧在线看免费| 中文字幕一区二区三区免费看| 午夜伦理一区二区| 欧产日产国产v| 欧美国产成人精品| 欧美 日本 国产| 粉嫩绯色av一区二区在线观看 | 2019中文亚洲字幕| 国产成人精品久久久| heyzo在线| 欧美精品在线观看| 免费黄网在线观看| 少妇高潮久久久久久潘金莲| 欧美一区二区三区少妇| 精品国产乱码久久久久久1区2区 | 一区二区三区免费看| 伊人久久大香线蕉无限次| 国产精品一区二区三区精品| 中文字幕区一区二区三| 成人综合网网址| 欧美视频第一| 国产日韩欧美91| 91p九色成人| 国产精品久久久久久av福利软件| gay欧美网站| 奇米四色中文综合久久| 中文在线免费二区三区| 国产91成人在在线播放| 美女扒开腿让男人桶爽久久软| 97激碰免费视频| 91桃色在线| 5566成人精品视频免费| 三妻四妾的电影电视剧在线观看| 久久久久女教师免费一区| 欧美xxxxhdvideosex| 色综合久久天天综线观看| 在线免费观看污| 久久久久久久爱| 999av小视频在线| 91国内免费在线视频| 忘忧草在线影院两性视频| 2018国产精品视频| 二区三区不卡| 国产精品狼人色视频一区| 日韩第二十一页| 国产这里只有精品| 亚洲精品黑牛一区二区三区| 国产精品xxx在线观看www| 国产精品白丝av嫩草影院| 久久久久久久久一区| 国产乱码精品一区二区亚洲 | 色哟哟免费在线观看| 日韩在线高清视频| 新版中文在线官网| 欧美亚洲国产成人精品| 日韩成人影音| 91久久精品日日躁夜夜躁国产| 亚洲国产一区二区三区网站| 国产一区二区三区av在线| 国产中文字幕一区二区三区| 一区二区三区的久久的视频| 欧美精品国产一区| 精品欧美一区免费观看α√| 日本欧美韩国一区三区| 91大神免费观看| 91网站在线观看视频| 欧美a在线播放| 亚洲高清在线视频| 樱花视频在线免费观看| 欧美丰满少妇xxxbbb| 国精产品一品二品国精品69xx| 亚洲天堂网在线观看| 最新av在线播放| 琪琪第一精品导航| 免费看日产一区二区三区| 久久99导航| 国产精品麻豆久久| 国产资源在线视频| 九九**精品视频免费播放| 国产xxxx视频| 17c精品麻豆一区二区免费| 四虎永久在线精品| 欧美日韩国产小视频在线观看| 国产91绿帽单男绿奴| 在线亚洲国产精品网| 国产无遮挡裸体视频在线观看| 国产精品久久77777| 高清欧美性猛交xxxx黑人猛| 午夜老司机精品| 在线一区视频| 国内自拍偷拍视频| 国产精品蜜臀在线观看| 国产成人在线播放视频| 欧美福利一区二区| 韩国三级在线观看久| 韩剧1988免费观看全集| 999色成人| 日本在线播放一区| 国一区二区在线观看| 超碰成人在线播放| 国产欧美日韩另类视频免费观看| 日本中文字幕免费观看| 7777精品伊人久久久大香线蕉完整版| 男人天堂综合| 午夜精品福利视频| 1313精品午夜理伦电影| 黄色网络在线观看| 蜜桃av一区二区在线观看| 国产全是老熟女太爽了| 黄色一区二区三区| 韩国av在线免费观看| 欧美老少配视频| 电影91久久久| 中文字幕中文字幕在线中心一区| 日日夜夜精品免费视频| 亚洲AV无码国产成人久久| 狠狠躁天天躁日日躁欧美| 蜜臀久久99精品久久久| 欧美情侣性视频| 欧美久久亚洲| 国产免费xxx| 国内精品在线播放| 美国精品一区二区| 精品视频资源站| 91精品大全| 国产在线拍揄自揄视频不卡99 | www.av毛片| 豆国产96在线|亚洲| 青娱乐国产在线| 欧美成人在线直播| 超碰在线97国产| 国内精品国语自产拍在线观看| 黄色免费成人| 91精品啪在线观看国产| 亚洲电影在线免费观看| 五月天激情婷婷| 欧美主播福利视频| 国产一区二区三区不卡视频网站| 国产一区视频免费观看| 国产欧美日韩三区| ,亚洲人成毛片在线播放| 日韩最新av在线| 日韩国产在线不卡视频| 国内精品在线观看视频| 2020国产成人综合网| 无码人妻一区二区三区免费| 伊人精品在线观看| 在线成人免费| 国产欧美精品aaaaaa片| 99久久99久久综合| 一二三区免费视频| 日韩在线观看成人| 一区中文字幕电影| 日韩欧美一区三区| 国产校园另类小说区| 一卡二卡在线观看| 欧美国产视频一区二区| 美女一区二区在线观看| 国产又大又黄又粗的视频| 亚洲欧美在线aaa| 亚洲男人天堂久久| 国产99视频在线观看| 91tv精品福利国产在线观看| 91视频福利网| 日韩欧美中文在线| 欧美一区二区三区在线观看免费| 97超级碰碰| 久久成人亚洲| 永久免费看mv网站入口| 亚洲第一福利网站| 成人在线黄色| 久久久久久久9| 国产亚洲欧美激情| www黄色在线观看| 日韩美女主播视频| 欧美激情第10页| 中文字幕免费视频| 日韩欧美区一区二| 我爱我色成人网| 日韩亚洲欧美一区二区| 久久久久国产精品麻豆| 性生活视频软件| 国产精品美女999| 亚洲免费播放| 欧美国产日韩在线观看成人| 亚洲欧美在线免费| 99香蕉久久| 三区视频在线观看| 日韩欧美精品中文字幕|