1. gzyueqian
      13352868059

      Java應(yīng)用程序延遲減少和缺陷

      更新時間: 2024-06-28 10:15:29來源: 粵嵌教育瀏覽量:1374

      減少延遲對java開發(fā)人員來說是一個新的挑戰(zhàn),所以我需要最佳的工具來解決它。有許多可用的工具,既有開源的也有付費的。

       

      在本文中,介紹與大型生產(chǎn)應(yīng)用程序的內(nèi)存分析相關(guān)的挑戰(zhàn),以及如何克服這些挑戰(zhàn)。

       

      挑戰(zhàn)

      1.大型應(yīng)用程序的JVM堆內(nèi)存占用相當(dāng)大,分析如此大的堆轉(zhuǎn)儲需要大量內(nèi)存來運行分析器工具,并且在普通的筆記本電腦上通常很慢。

      2.大型堆轉(zhuǎn)儲消耗等量的磁盤空間。如果沒有足夠的磁盤,堆轉(zhuǎn)儲命令將失敗,或者在最壞的情況下,填滿根分區(qū)并使運行它的主機崩潰。

      3.堆轉(zhuǎn)儲是一個世界末日事件。進行堆轉(zhuǎn)儲會暫停應(yīng)用程序中的所有活動,這可能導(dǎo)致服務(wù)的運行狀況檢查失敗,并可能導(dǎo)致服務(wù)被終止,從而難以獲取堆轉(zhuǎn)儲文件。

       

      解決辦法

      1.在大型堆轉(zhuǎn)儲的情況下,最好使用像AWS EC2這樣的具有足夠內(nèi)存和磁盤空間的基于云的資源。

      2.為了解決磁盤空間問題,如果應(yīng)用程序運行在一些云資源上,那么它通常有單獨的存儲附加到它。在進行堆轉(zhuǎn)儲之前,可以增加單獨的存儲。

      3.檢查是否使用定期運行狀況檢查來監(jiān)控應(yīng)用程序,例如,它是否是負(fù)載平衡器的一部分。在這種情況下,需要將它從服務(wù)機隊中取出,以避免在堆轉(zhuǎn)儲命令啟動后被終止。

      4.以一定的時間間隔獲取多個堆轉(zhuǎn)儲,以捕獲服務(wù)狀態(tài)的變化。

       

      改進

      1.最大的元兇之一是內(nèi)存中的緩存,這導(dǎo)致了過多的保留堆,從而導(dǎo)致頻繁的垃圾收集和延遲影響。

      2.內(nèi)存分析給出了一個主要的線索,關(guān)于用于數(shù)據(jù)檢索的數(shù)據(jù)索引是如何被使用的。結(jié)果是,完整的索引被裝載在JVM堆中,也存儲在tmpfs上,因此使用了兩倍的所需內(nèi)存,這是不必要的,還會導(dǎo)致頻繁的垃圾收集。

       

      結(jié)論

      分析任何大規(guī)模生產(chǎn)應(yīng)用程序的內(nèi)存都是至關(guān)重要的。在應(yīng)用程序中緩存數(shù)據(jù)可能是有用的,但是應(yīng)該密切監(jiān)視,以監(jiān)視隨著時間的推移是否有任何降級。

      堆轉(zhuǎn)儲分析是一個強大的工具。如果使用正確的機器和工具,它會變得很痛苦。注意生產(chǎn)應(yīng)用程序的運行狀況檢查例程,同時采用堆轉(zhuǎn)儲來成功收集這些例程。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 在线播放中文有码国产 | 亚洲伊人久久综合精品 | 亚洲国产第一视频不卡 | 色依依国产精品中文字幕 | 亚洲一级在线中文字幕 | 一本精品日本在线视频精品 |