国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

記一次老商家端應(yīng)用內(nèi)存突然飚高原因分析

這篇具有很好參考價值的文章主要介紹了記一次老商家端應(yīng)用內(nèi)存突然飚高原因分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、排查過程

問題發(fā)現(xiàn)是因為當(dāng)時接到了內(nèi)存UMP報警信息,如下:

通過查看PFinder發(fā)現(xiàn)內(nèi)存一直在增長,沒有停止跡象,觸發(fā)fullGC也并沒有下降趨勢:

當(dāng)機立斷,先立即去NP上摘除了此臺機器流量,然后繼續(xù)觀察,發(fā)現(xiàn)內(nèi)存依然在不斷增長。

隨即查看故障分析,并沒有得到有效信息:

因為流量已經(jīng)摘除,那么繼續(xù)觀察到底哪里的問題,約半小時后然后接到了機器的宕機告警如下:

由于在應(yīng)用啟動參數(shù)里配置了dump路徑,那么就馬上去把dump文件下載下來分析。

隨后找到對應(yīng)IP機器的目錄,下載了dump文件java_pid432.hprof核對時間沒有問題,隨即使用MAT工具開展分析,通過泄露分析結(jié)果直接就可以看出problem1與problem2都是一個同一個問題,2個線程分別占用1.8G、1.5G:

通過查看問題對應(yīng)的代碼類方法,發(fā)現(xiàn)該方法功能是"導(dǎo)出WMS保質(zhì)期商品數(shù)據(jù)",該方法會調(diào)用庫存分頁接口查詢保質(zhì)期商品,大致如下:

1、查詢無數(shù)據(jù)直接導(dǎo)出空表;

2、第一頁查詢總量小于1000的話直接把數(shù)據(jù)寫入第一個sheet并導(dǎo)出表格;

3、第一頁查詢總量大于1000則循環(huán)分頁查詢,每1000條數(shù)據(jù)生成一個sheet表格進(jìn)行導(dǎo)出。

可以看到,org.apache.poi.hssf.usermodel.HSSFWorkbook對象數(shù)量已經(jīng)達(dá)到702個了。

翻看具體代碼部分如下:

二、解決思路

經(jīng)過對該功能代碼分析,本著先解決問題的原則,先將循環(huán)調(diào)用功能進(jìn)行限制,通過ducc配置導(dǎo)出頁數(shù)大小限制,來避免一直循環(huán)調(diào)用。

至此,問題初步解決完畢,調(diào)整后沒有出現(xiàn)問題。

但是,這個功能的優(yōu)化并沒有結(jié)束,隨后將該問題及功能邏輯反饋給產(chǎn)品及庫存相關(guān)方,一起討論解決商家導(dǎo)出的問題,一方面我們要保障商家體驗,另一方面又要確保系統(tǒng)穩(wěn)定性。后續(xù)要從這2方面入手進(jìn)行功能的優(yōu)化,不斷為提升商家體驗而努力。

三、總結(jié)分析

回過頭來咱們再分析以下這個功能,通過系統(tǒng)日志及監(jiān)控,發(fā)現(xiàn)該功能商家日常使用較少,并且大部分商家的保質(zhì)期商品較少,極少數(shù)會存在有非常多保質(zhì)期商品數(shù)據(jù)的情況。但是一旦出現(xiàn)這樣的問題就會很致命,所以在導(dǎo)出功能設(shè)計之初我們就應(yīng)該考慮到將來任何可能出現(xiàn)的情況,并做好提前的預(yù)防。另外就是要做功能的限制,例如導(dǎo)出次數(shù)、導(dǎo)出數(shù)據(jù)量的限制功能來保障商家體驗及系統(tǒng)的安全穩(wěn)定。

另外再說一下,對導(dǎo)出功能的理解,對于商家而已,導(dǎo)出需求是正常的。但是過多大批量數(shù)據(jù)的一起導(dǎo)出無論對哪個系統(tǒng)來說都是非常危險的一個功能。以下列舉了一些個人總結(jié)的導(dǎo)出功能設(shè)計時的一些常見規(guī)則,希望大家一起參與討論分析,拙見如下:

  • 明確導(dǎo)出數(shù)據(jù)的價值分析
  • 明確導(dǎo)出數(shù)據(jù)的使用傾向
  • 明確導(dǎo)出數(shù)據(jù)的安全要求
  • 明確導(dǎo)出數(shù)據(jù)的權(quán)限控制
  • 明確需要導(dǎo)出的數(shù)據(jù)量級
  • 明確導(dǎo)出數(shù)據(jù)的方式方法
  • 明確到倉數(shù)據(jù)的頻率頻次
  • 明確導(dǎo)出數(shù)據(jù)的性能效率
  • 明確導(dǎo)出數(shù)據(jù)的限制方法
  • 明確導(dǎo)出功能的隔離及降級方案
  • 明確導(dǎo)出數(shù)據(jù)的格式樣式
  • 明確導(dǎo)出數(shù)據(jù)的下載方案
  • 明確導(dǎo)出數(shù)據(jù)的錯誤監(jiān)控

以上是個人想到的一些導(dǎo)出設(shè)計的簡單規(guī)則,需要產(chǎn)研測一起溝通明確,還希望大家多提提意見,一起完善導(dǎo)出規(guī)則。

另外我們再從商家角度來考慮一下導(dǎo)出的目的,個人從詢問業(yè)務(wù)及相關(guān)人員,發(fā)現(xiàn)商家導(dǎo)出數(shù)據(jù)有以下一些目的:

  • 存儲歸檔方便查歷史資料
  • 利用系統(tǒng)業(yè)務(wù)數(shù)據(jù)進(jìn)行數(shù)據(jù)分析已指導(dǎo)商家業(yè)務(wù)工作或給領(lǐng)導(dǎo)匯報工作
  • 導(dǎo)出來使用表格工具等其他商家熟悉的工具進(jìn)行查看,更便捷便利
  • 對導(dǎo)出的數(shù)據(jù)進(jìn)行加工,并用于其他非京東系統(tǒng)的數(shù)據(jù)輸入
  • 無意識的導(dǎo)出并無其他作用

以上是個人總結(jié)的一些商家導(dǎo)出的需求目的,其實針對商家導(dǎo)出來說可能還有很多其他目的,我們不能全部都能了解。但是可以積極與商家溝通理解商家的真實目的。

另外,我們需要去分析商家的訴求,挖掘商家需求背后的目的。假如有個服裝行業(yè)的商家需要做服務(wù)訂單業(yè)務(wù)數(shù)據(jù)、庫存數(shù)據(jù)分析,是否我們可以利用數(shù)智側(cè)的系統(tǒng)能力,為商家打造通用的數(shù)據(jù)分析能力呢,這樣既可以避免導(dǎo)出數(shù)據(jù)手動分析的雞肋,同時也提升了商家對京東物流的系統(tǒng)使用體驗。

以上僅僅代表個人觀點,一點愚見,還請大家批評指正!

歡迎大家一起探討!

作者:京東物流 劉鄧忠

來源:京東云開發(fā)者社區(qū) 自猿其說Tech 轉(zhuǎn)載請注明來源文章來源地址http://www.zghlxwxcb.cn/news/detail-729324.html

到了這里,關(guān)于記一次老商家端應(yīng)用內(nèi)存突然飚高原因分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 記一次內(nèi)存泄漏排查

    記一次內(nèi)存泄漏排查

    最近某項目的服務(wù)突然告警,cpu超85%,隨后就是服務(wù)宕機。交付重啟服務(wù)后恢復(fù)正常但是隨后不久又開始告警,特別是白天,嚴(yán)重影響客戶業(yè)務(wù)進(jìn)行。 1、分析日志 查看日志的過程中發(fā)現(xiàn)存在內(nèi)存溢出(OOM),思考要么存在內(nèi)存泄漏要么業(yè)務(wù)上觸發(fā)了某個接口存在大對象,結(jié)

    2023年04月16日
    瀏覽(33)
  • 記一次 Windows10 內(nèi)存壓縮模塊 崩潰分析

    記一次 Windows10 內(nèi)存壓縮模塊 崩潰分析

    在給各位朋友免費分析 .NET程序 各種故障的同時,往往也會收到各種其他類型的dump,比如:Windows 崩潰,C++ 崩潰,Mono 崩潰,真的是啥都有,由于基礎(chǔ)知識的相對缺乏,分析起來并不是那么的順利,今天就聊一個 Windows 崩潰的內(nèi)核dump 吧,這個 dump 是前幾天有位朋友給到我的

    2023年04月26日
    瀏覽(28)
  • 記一次 .NET 某電力系統(tǒng) 內(nèi)存暴漲分析

    記一次 .NET 某電力系統(tǒng) 內(nèi)存暴漲分析

    前些天有位朋友找到我,說他生產(chǎn)上的程序有內(nèi)存暴漲情況,讓我?guī)兔聪略趺椿厥?,最簡單粗暴的方法就是讓朋友在?nèi)存暴漲的時候抓一個dump下來,看一看大概就知道咋回事了。 這個問題說的再多也不為過,一定要看清楚這個程序是如何個性化發(fā)展的,可以使用 !address

    2024年02月08日
    瀏覽(19)
  • 記一次 .NET 某外貿(mào)ERP 內(nèi)存暴漲分析

    記一次 .NET 某外貿(mào)ERP 內(nèi)存暴漲分析

    上周有位朋友找到我,說他的 API 被多次調(diào)用后出現(xiàn)了內(nèi)存暴漲,讓我?guī)兔聪率窃趺椿厥??看樣子是有些?dān)心,但也不是特別擔(dān)心,那既然找到我,就給他分析一下吧。 這也是我一直在訓(xùn)練營灌輸?shù)睦砟?,一定要知道是哪一邊的暴漲,否則很可能就南轅北轍了,使用 !addr

    2023年04月23日
    瀏覽(27)
  • 記一次 .NET 某餐飲小程序 內(nèi)存暴漲分析

    記一次 .NET 某餐飲小程序 內(nèi)存暴漲分析

    前些天有位朋友找到我,說他的程序內(nèi)存異常高,用 vs診斷工具 加載時間又太久,讓我?guī)兔匆幌碌降渍厥?,截圖如下: 確實,如果dump文件超過 10G 之后,市面上那些可視化工具分析起來會讓你崩潰的,除了時間久之外這些工具大多也不是用懶加載的方式,比如 dotmemory

    2024年02月08日
    瀏覽(16)
  • 記一次 .NET 某游戲服務(wù)后端 內(nèi)存暴漲分析

    記一次 .NET 某游戲服務(wù)后端 內(nèi)存暴漲分析

    前幾天有位朋友找到我,說他們公司的后端服務(wù)內(nèi)存暴漲,而且CPU的一個核也被打滿,讓我?guī)兔聪略趺椿厥拢话銇碚f內(nèi)存暴漲的問題都比較好解決,就讓朋友抓一個 dump 丟過來,接下來我們用 WinDbg 一探究竟。 拿到 dump 之后,首先要判斷是托管還是非托管問題,這決定了

    2024年02月15日
    瀏覽(27)
  • 記一次 .NET某道閘收費系統(tǒng) 內(nèi)存溢出分析

    記一次 .NET某道閘收費系統(tǒng) 內(nèi)存溢出分析

    前些天有位朋友找到我,說他的程序幾天內(nèi)存就要爆一次,不知道咋回事,找不出原因,讓我?guī)兔匆幌?,這種問題分析dump是最簡單粗暴了,拿到dump后接下來就是一頓分析。 程序既然會爆,可能是虛擬地址受限,也可能是系統(tǒng)內(nèi)存不足,可以用 !address -summary 觀察下。 從卦

    2024年01月18日
    瀏覽(20)
  • 記一次 .NET某培訓(xùn)學(xué)校系統(tǒng) 內(nèi)存碎片化分析

    記一次 .NET某培訓(xùn)學(xué)校系統(tǒng) 內(nèi)存碎片化分析

    前些天有位朋友微信上找到我,說他們學(xué)校的Web系統(tǒng)內(nèi)存一直下不去,讓我看下到底是怎么回事,老規(guī)矩讓朋友生成一個dump文件丟給我,看一下便知。 要想看托管還是非托管,可以用 !address -summary 觀察下內(nèi)存段。 從卦中信息的 MEM_COMMIT 和 Heap 來看,應(yīng)該就是托管內(nèi)存的問題

    2024年02月14日
    瀏覽(18)
  • 得物-Golang-記一次線上服務(wù)的內(nèi)存泄露排查

    得物-Golang-記一次線上服務(wù)的內(nèi)存泄露排查

    在風(fēng)和日麗的一天,本人正看著需求、敲著代碼,展望美好的未來。突然收到一條內(nèi)存使用率過高的告警。 告警的這個項目,老代碼是python的,最近一直在go化。隨著go化率不斷上升,發(fā)現(xiàn)內(nèi)存的RSS使用率越飆越高。最終達(dá)到容器內(nèi)存限制后,進(jìn)程會自動重啟。RSS如下圖所示

    2024年02月04日
    瀏覽(20)
  • 記一次 .NET某管理局檢測系統(tǒng) 內(nèi)存暴漲分析

    記一次 .NET某管理局檢測系統(tǒng) 內(nèi)存暴漲分析

    前些天有位朋友微信找到我,說他們的WPF程序有內(nèi)存泄漏的情況,讓我?guī)兔聪略趺椿厥拢坎⑶襠ump也抓到了,網(wǎng)上關(guān)于程序內(nèi)存泄漏,內(nèi)存暴漲的文章不計其數(shù),看樣子這個dump不是很好分析,不管怎么說,上 windbg 說話。 在 .NET調(diào)試訓(xùn)練營 中我一直強調(diào)要相信數(shù)據(jù),不要相

    2024年04月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包