1. gzyueqian
      13352868059

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

      更新時(shí)間: 2024-06-28 10:15:29來源: 粵嵌教育瀏覽量:1356

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

       

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

       

      挑戰(zhàn)

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

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

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

       

      解決辦法

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

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

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

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

       

      改進(jìn)

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

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

       

      結(jié)論

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

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

      免費(fèi)預(yù)約試聽課

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

      
      

      1. 亚洲国产精品久久久久 | 日韩欧美亚洲综合一区 | 午夜欧美精品久久 | 亚洲中文字幕乱碼在线观看 | 亚洲精品色在线网站 | 在线看片免费人成视频播 |