摘要:順風車運營研發團隊黃桃問題現象某機器這段時間出現掉地的報警如圖原因分析查看當時的監控,等今天出現兩次突降,一次是點左右,一次是左右,查看整周也經常出現突降,如圖在分時突然升高也在時出現大量寫當時短暫出現降低,之后出現徒
順風車運營研發團隊 黃桃
問題現象
某機器這段時間出現cpu-idle掉地的報警 如圖:
原因分析
查看當時的監控(php-fpm-idle、cpu-idle,io-wait、io-write 等)
(1)php-fpm-idle今天出現兩次突降,一次是12點左右,一次是16:30左右,查看整周也經常出現突降,如圖
(2)io-wait在11:58分時 突然升高
(3)io-write也在11:58時出現大量寫:
(4)cpu-idle當時短暫出現降低,之后出現徒增,但是結合整周的曲線來看,一直維持在70-80之間,徒增原因待分析:
(5)原因推測:因為當時出現了大批量的寫日志,導致io-wait上升,php-fpm進程因為寫文件出現延時,造成整體響應過慢,從而導致了fpm掉地; 對同一個文件進行 write時,大批量并行會出現等待,阻塞
驗證推測
(1)查看當時的php-fpm的慢日志,看當時阻塞的地方,基本是在調用fwrite阻塞
(2)查看當時的程序日志trace.log的大小,日志文件越大的時間段,正好是fpm-idle下滑嚴重的階段:
(3)在通過 sar命令,驗證下當時的寫入磁盤情況,在出現掉地的時間段確實出現極大的寫入,wr_sec/s 從每秒幾百低峰的幾百增長到十幾萬:
問題原因及優化建議
寫入日志大可能兩方面原因:
(1)當時請求暴增
(2)請求未暴增,但是某些請求觸發了某些不合理的打日志
驗證原因1,出現問題時間段每秒的流量
32 [02/Jul/2018:12:01:12 18 [02/Jul/2018:12:01:13 18 [02/Jul/2018:12:01:14 42 [02/Jul/2018:12:01:15 30 [02/Jul/2018:12:01:16 35 [02/Jul/2018:12:01:17 26 [02/Jul/2018:12:01:18 30 [02/Jul/2018:12:01:19 1 [02/Jul/2018:12:01:22 108 [02/Jul/2018:12:01:24 17 [02/Jul/2018:12:01:25 1 [02/Jul/2018:12:01:27 1 [02/Jul/2018:12:01:29 1 [02/Jul/2018:12:01:30 9 [02/Jul/2018:12:01:33 1 [02/Jul/2018:12:01:31 1 [02/Jul/2018:12:01:32 146 [02/Jul/2018:12:01:33 62 [02/Jul/2018:12:01:34 44 [02/Jul/2018:12:01:35 1 [02/Jul/2018:12:01:37 1 [02/Jul/2018:12:01:38 1 [02/Jul/2018:12:01:41 2 [02/Jul/2018:12:01:44 2 [02/Jul/2018:12:01:50 1 [02/Jul/2018:12:01:45 12 [02/Jul/2018:12:01:50 2 [02/Jul/2018:12:01:45 7 [02/Jul/2018:12:01:50 1 [02/Jul/2018:12:01:46 1 [02/Jul/2018:12:01:50 1 [02/Jul/2018:12:01:46 15 [02/Jul/2018:12:01:50 7 [02/Jul/2018:12:01:48 2 [02/Jul/2018:12:01:50 1 [02/Jul/2018:12:01:48 342 [02/Jul/2018:12:01:50 65 [02/Jul/2018:12:01:51 46 [02/Jul/2018:12:01:52 54 [02/Jul/2018:12:01:53 1 [02/Jul/2018:12:01:55 1 [02/Jul/2018:12:01:56 1 [02/Jul/2018:12:01:57 1 [02/Jul/2018:12:01:59 16 [02/Jul/2018:12:02:03 1 [02/Jul/2018:12:02:01 1 [02/Jul/2018:12:02:02 42 [02/Jul/2018:12:02:03 1 [02/Jul/2018:12:02:02 187 [02/Jul/2018:12:02:03 39 [02/Jul/2018:12:02:04 40 [02/Jul/2018:12:02:05 25 [02/Jul/2018:12:02:06 44 [02/Jul/2018:12:02:07 29 [02/Jul/2018:12:02:08
正常情況是QPS是30左右,出問題時間段則非常不穩定,時高時低,相差非常大,例如在 12:01:50 時 342 qps,但是前十幾秒則基本都是個位數;原因?前幾十秒都阻塞了,響應不了,積累到了12:01:50才響應;整體流量并未出現暴增;
驗證原因2,查看當時traceId日志,查看寫進去的內容:
發現這段寫入非常巨大,一行就119kb ,總共寫了 33555 行,總大小占:33555 * 119KB = 3993045KB =3899M 基本可以斷定為這行出的問題了
優化建議:在底層打日志的類中對字符串長度做限制,避免這種大批量的寫入;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28968.html
摘要:周三晚加上了對阿波羅超時的監控,周四觀察上線期間阿波羅超時指標的變化,時間也吻合。月日下午又報了一次警與此同時的阿波羅超時監控這里同時列出機器指標的目的是為了說明,盡管沒有報警,但機器的指標變化和是統一的。 順風車運營研發團隊 熊浩含 問題現象 線上報警群里時而有php-fpm-idle的零星報警,持續時間很短(幾秒甚至一秒),見下圖 showImg(https://segmentf...
摘要:相信大家在學習的過程中都用到過這個模塊,但是可能只是用到了其中的一兩個方法,對于其更強大的功能沒有更深的認識。今天我就按照自己的方式向大家介紹一下這個模塊。 相信大家在學習python的過程中都用到過這個模塊,但是可能只是用到了其中的一兩個方法,對于其更強大的功能沒有更深的認識。今天我就按照自己的方式向大家介紹一下這個模塊。groupby:用于分組 rows=[ {name:j...
摘要:但執行后沒有任何信息輸出,這時候通過什么方法能知道程序錯在哪里這里可以將解決問題能力分為個等級,越到后面的表示能力越強。這個考驗全部通過,表明此程序員已經具備了專業程序員應該有的解決問題能力了。 這個話題老生長談了,在面試中必然考核的能力中,我個人認為解決問題能力是排第一位的,比學習能力優先級更高。解決問題的能力既能看出程序員的思維能力,應變能力,探索能力等,又可以看出他的經驗。如果解...
摘要:的一鍵安裝開發環境非侵入式監控平臺優化系統性能定位的神器之前在用做本地開發環境,因為沒有這些對程序性能追蹤及分析的工具,所以索性基于的編排了一套自己使用。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideways dnmp-plus = PHPer 的一...
摘要:會依據協議,將請求的數據等信息發送給解析器,接下來解析器會解析文件,初始化執行環境,然后處理請求,再以規定的格式返回處理后的結果,退出進程。它的特點是會在動態分配處理進程給請求,以達到提高效率的目的,大多數實現都會維護一個進程池。 PHP作為世界上最好的編程語音,被廣泛的運用到Web開發中。因為其語法和C類似,有著非常平緩的學習曲線,越來越多的人使用PHP進行Web產品的快速開發。PH...
閱讀 856·2021-10-11 10:59
閱讀 2792·2019-08-30 15:43
閱讀 2128·2019-08-30 11:08
閱讀 1647·2019-08-29 15:20
閱讀 1002·2019-08-29 13:53
閱讀 485·2019-08-26 13:24
閱讀 1632·2019-08-26 13:24
閱讀 2819·2019-08-26 12:08