溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何測試Java groovy內(nèi)存回收

發(fā)布時(shí)間:2020-07-28 12:03:01 來源:億速云 閱讀:129 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了如何測試Java groovy內(nèi)存回收,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來看看吧。

問題

在使用我們的開發(fā)平臺(tái)時(shí),客戶懷疑我們的動(dòng)態(tài)執(zhí)行腳本會(huì)導(dǎo)致系統(tǒng)內(nèi)存回收的問題,導(dǎo)致系統(tǒng)不響應(yīng),為此我專門針對這個(gè)問題,做一下詳細(xì)的測試,看看是不是到底有什么影響。

測試步驟

1.使用編寫一個(gè)控制器方法,這個(gè)控制器方法只做一個(gè)解析java腳本的代碼。

2.配置tomcat的內(nèi)存。

set JAVA_OPTS=-Xms1g -Xmx1g

3.使用APPACHE 的ab命令進(jìn)行壓測。

ab -c5 -t3600 http://192.168.1.200:8080/jsaas/testGroovyEngine.do

使用ab命令并發(fā)5次,壓測1個(gè)小時(shí)。

這個(gè)時(shí)候壓測,發(fā)現(xiàn)metadata的數(shù)據(jù)會(huì)增加,但是到達(dá)300多m的時(shí)候,這個(gè)數(shù)據(jù)會(huì)進(jìn)行回收,但是這個(gè)時(shí)候訪問會(huì)變慢。

重新調(diào)整jvm參數(shù)

set JAVA_OPTS=-Xms1g -Xmx1g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m

將metadata 數(shù)據(jù)的大小固定為256m

在進(jìn)行測試發(fā)現(xiàn):

如何測試Java groovy內(nèi)存回收

在進(jìn)行壓測的時(shí)候,裝入的類會(huì)增加,但是當(dāng)metadata 數(shù)據(jù)到達(dá)256m的時(shí)候,jvm 會(huì)進(jìn)行有規(guī)律的回收,訪問這個(gè)url性能也沒有變差。

得出的結(jié)論是:

1.使用groovy 確實(shí)會(huì)導(dǎo)致臨時(shí)裝載類增加。

2.我們需要設(shè)置metadata的數(shù)據(jù),當(dāng)metadata到達(dá)這個(gè)數(shù)值時(shí)就回收,這樣不至于占用太多的堆內(nèi)存,導(dǎo)致系統(tǒng)性能下降。

以上就是關(guān)于如何測試Java groovy內(nèi)存回收的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI