欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置的制造方法

文檔序號(hào):10624694閱讀:190來(lái)源:國(guó)知局
Java型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置的制造方法
【專(zhuān)利摘要】本申請(qǐng)公開(kāi)了一種Java型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置,其根據(jù)web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值、預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)、采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)四個(gè)參數(shù),即可計(jì)算得到單次請(qǐng)求耗費(fèi)內(nèi)存,且四個(gè)參數(shù)獲取過(guò)程不需要對(duì)web容器及相關(guān)系統(tǒng)進(jìn)行特殊配置,既不影響系統(tǒng)的正常運(yùn)行,也使得計(jì)算結(jié)果更精確、更具有代表性。
【專(zhuān)利說(shuō)明】
Java型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置
技術(shù)領(lǐng)域
[0001]本申請(qǐng)涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種Java型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置。
【背景技術(shù)】
[0002]web容器是一種應(yīng)用于服務(wù)器端的接口,其通過(guò)Java等程序設(shè)計(jì)語(yǔ)言構(gòu)建而成。用于處理來(lái)自客戶(hù)端的請(qǐng)求信息,生成并向客戶(hù)端發(fā)送響應(yīng)信息。其中,web容器處理一次請(qǐng)求信息所需的內(nèi)存,即單次請(qǐng)求耗費(fèi)內(nèi)存,可以作為分析服務(wù)器性能及優(yōu)化效果的一項(xiàng)重要指標(biāo),單次請(qǐng)求耗費(fèi)內(nèi)存越少,服務(wù)器的性能越好。
[0003]相關(guān)技術(shù)中,對(duì)于基于Java語(yǔ)言的web容器(以下簡(jiǎn)稱(chēng)Java型web容器),檢測(cè)其單次請(qǐng)求耗費(fèi)內(nèi)存的一種常用方法為:通過(guò)修改服務(wù)器系統(tǒng)的源碼邏輯,以分別獲取被檢測(cè)的Java型web容器處理請(qǐng)求前的內(nèi)存耗費(fèi)總量和處理請(qǐng)求后的內(nèi)存耗費(fèi)總量,進(jìn)而計(jì)算二者的差值即得到單次請(qǐng)求耗費(fèi)內(nèi)存。另一種常用檢測(cè)方法為:在保證服務(wù)器系統(tǒng)穩(wěn)定運(yùn)行的狀態(tài)下,分別獲取被檢測(cè)的Java型web容器處理單次請(qǐng)求前后的內(nèi)存快照,將兩次內(nèi)存快照進(jìn)行對(duì)比即可得到內(nèi)存變化量,即單次請(qǐng)求耗費(fèi)內(nèi)存。
[0004]但是,上述兩種常用檢測(cè)方法的實(shí)施,都需要服務(wù)器系統(tǒng)的配合,如修改源碼邏輯、保證系統(tǒng)穩(wěn)定運(yùn)行、Java型web容器處理單次請(qǐng)求等檢查前提,不僅會(huì)對(duì)服務(wù)器系統(tǒng)的正常運(yùn)行產(chǎn)生一定的影響,還使檢測(cè)到的數(shù)據(jù)具有特殊性,難以代表一般狀態(tài)下的單次請(qǐng)求耗費(fèi)內(nèi)存。

【發(fā)明內(nèi)容】

[0005]為克服相關(guān)技術(shù)中存在的問(wèn)題,本申請(qǐng)?zhí)峁┮环NJava型web容器內(nèi)存使用量檢測(cè)方法及相關(guān)裝置。
[0006]本申請(qǐng)第一方面提供一種Java型web容器的內(nèi)存使用量檢測(cè)方法;該方法包括:
[0007]獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值;
[0008]獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù);
[0009]獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù);
[0010]根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0011]結(jié)合第一方面,在第一方面的第一種可行的實(shí)施方式中,獲取所述第一回收次數(shù)和第二回收次數(shù)的步驟包括:
[0012]周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù);
[0013]讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù);
[0014]讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。
[0015]結(jié)合第一方面,或者第一方面的第一種可行的實(shí)施方式,在第一方面的第二種可行的實(shí)施方式中,獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù),包括:
[0016]通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
[0017]本申請(qǐng)第二方面提供一種Java型web容器的內(nèi)存使用量檢測(cè)裝置;該裝置包括:
[0018]總內(nèi)存值獲取單元,用于獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值;
[0019]總請(qǐng)求數(shù)獲取單元,用于獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù);
[0020]回收次數(shù)獲取單元,用于獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù);
[0021]計(jì)算單元,用于根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0022]結(jié)合第二方面,在第二方面的第一種可行的實(shí)施方式中,所述回收次數(shù)獲取單元包括:
[0023]計(jì)數(shù)模塊,用于周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù);
[0024]讀取模塊,用于讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù),并讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。
[0025]結(jié)合第二方面,或者第二方面的第一種可行的實(shí)施方式,在第二方面的第二種可行的實(shí)施方式中,所述總請(qǐng)求數(shù)獲取單元包括:
[0026]文本處理模塊,用于通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
[0027]本申請(qǐng)第三方面提供一種服務(wù)器,該服務(wù)器設(shè)置有Java型web容器;該服務(wù)器包括:
[0028]處理器;以及,用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0029]其中,所述處理器被配置為:
[0030]獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值;
[0031]獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù);
[0032]獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù);
[0033]根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0034]結(jié)合第三方面,在第三方面的第一種可行的實(shí)施方式中,為獲取所述第一回收次數(shù)和第二回收次數(shù),所述處理器被配置為:
[0035]周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù);
[0036]讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù);
[0037]讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。
[0038]結(jié)合第三方面,或者第三方面的第一種可行的實(shí)施方式,在第三方面的第二種可行的實(shí)施方式中,為獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù),所述處理器被配置為:
[0039]通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
[0040]由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例根據(jù)web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值、預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)、采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)四個(gè)參數(shù),即可計(jì)算得到單次請(qǐng)求耗費(fèi)內(nèi)存,且四個(gè)參數(shù)獲取過(guò)程不需要對(duì)web容器及相關(guān)系統(tǒng)進(jìn)行特殊配置,既不影響系統(tǒng)的正常運(yùn)行,也使得計(jì)算結(jié)果更精確、更具有代表性。
[0041]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請(qǐng)。
【附圖說(shuō)明】
[0042]此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。
[0043]圖1是本申請(qǐng)實(shí)施例提供的一種Java型web容器的內(nèi)存使用量檢測(cè)方法的流程圖。
[0044]圖2是本申請(qǐng)實(shí)施例提供的一種Java型web容器的內(nèi)存使用量檢測(cè)裝置的框圖。
[0045]圖3是本申請(qǐng)實(shí)施例提供的另一種Java型web容器的內(nèi)存使用量檢測(cè)裝置的框圖。
[0046]圖4是本申請(qǐng)實(shí)施例提供的一種服務(wù)器的框圖。
【具體實(shí)施方式】
[0047]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0048]圖1為本申請(qǐng)實(shí)施例提供的一種內(nèi)存使用量檢測(cè)方法的流程圖,該檢測(cè)方法應(yīng)用于Java型web容器。如圖1所示,該方法包括以下步驟。
[0049]SI 1、獲取Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值。
[0050]S12、獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)。
[0051]S13、獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)。
[0052]S14、根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0053]其中,上述S11、S12和S13三個(gè)步驟的執(zhí)行順序不受步驟標(biāo)號(hào)的限制,可以同時(shí)執(zhí)行,也可以依照任一種先后順序執(zhí)行。
[0054]本申請(qǐng)利用Java型web容器的內(nèi)存結(jié)構(gòu)特性實(shí)現(xiàn)上述方法,原理簡(jiǎn)述如下。Java型web容器的內(nèi)存結(jié)構(gòu)包括Survivor區(qū)域和用于存放新生對(duì)象的Eden區(qū)域,該Eden區(qū)域即為上述目標(biāo)內(nèi)存區(qū);web容器為新生對(duì)象申請(qǐng)存儲(chǔ)空間時(shí),首先判斷Eden區(qū)域的未占用空間是否足夠,如果足夠,則直接將新生對(duì)象存入Eden中,如果不夠,即Eden區(qū)域被占用完,貝1J對(duì)Eden區(qū)域執(zhí)行一次垃圾回收(Garbage Col lect1n,GC),即將Eden區(qū)域中存儲(chǔ)的活躍對(duì)象拷貝至Survivor區(qū)域,Eden區(qū)域清空;GC后,再次在Eden區(qū)域中為新生對(duì)象申請(qǐng)存儲(chǔ)空間。即,Eden區(qū)域被占用完一次則GC—次。假設(shè)上述總請(qǐng)求數(shù)為N,第一回收次數(shù)為M1,第二回收次數(shù)為M2,則占用完所述目標(biāo)內(nèi)存區(qū)所需要的請(qǐng)求次數(shù),即同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值N。的計(jì)算公式為N。= Nzi(M2-M1);進(jìn)一步的,假設(shè)總內(nèi)存值為B,則單次請(qǐng)求耗費(fèi)內(nèi)存B。的計(jì)算公式為:B。= B/N。= B/[Nzi(M2-M1)I
[0055]另外,上述預(yù)設(shè)采樣時(shí)段可以根據(jù)實(shí)際應(yīng)用情境確定,包括采樣開(kāi)始時(shí)刻及采樣結(jié)束時(shí)刻;優(yōu)選的,預(yù)設(shè)采樣時(shí)段設(shè)置在web容器處理請(qǐng)求的高峰期,且采樣結(jié)束時(shí)刻與采用開(kāi)始時(shí)刻之間的間隔時(shí)長(zhǎng),即采樣時(shí)長(zhǎng)應(yīng)盡量長(zhǎng),使得采樣時(shí)段內(nèi)web容器的主要性能均耗費(fèi)在處理請(qǐng)求上;其中,采樣時(shí)長(zhǎng)越長(zhǎng),web容器接收到的請(qǐng)求越規(guī)律,服務(wù)器壓力越均衡,計(jì)算結(jié)果越精確。
[0056]由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例根據(jù)Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值、預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)、采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)四個(gè)參數(shù),即可計(jì)算得到單次請(qǐng)求耗費(fèi)內(nèi)存,且四個(gè)參數(shù)獲取過(guò)程不需要對(duì)Java型web容器及相關(guān)系統(tǒng)進(jìn)行特殊配置,既不影響系統(tǒng)的正常運(yùn)行,也使得計(jì)算結(jié)果更精確、更具有代表性。
[0057]在本申請(qǐng)一個(gè)可行的實(shí)施例中,對(duì)于Java型web容器,可以直接調(diào)用Java語(yǔ)言的開(kāi)發(fā)工具包(Java Development Kit,JDK)中提供Java虛擬機(jī)的內(nèi)存池管理接口 java.lang.management.MemoryPooIMXBean來(lái)查詢(xún)得到目標(biāo)內(nèi)存區(qū)(即Eden區(qū)域)的總內(nèi)存值。
[0058]在本申請(qǐng)另一個(gè)可行的實(shí)施例中,對(duì)于Java型web容器,可以調(diào)用JDK中提供的監(jiān)控指令jstat-gc pid實(shí)現(xiàn)對(duì)web容器的Eden區(qū)域垃圾回收狀況的實(shí)時(shí)監(jiān)控,即每隔預(yù)設(shè)時(shí)間統(tǒng)計(jì)一次GC次數(shù),也即周期性記錄目標(biāo)內(nèi)存區(qū)的回收次數(shù);例如指令“jstat-gc web容器進(jìn)程Pid 5000 10000”表示每5000毫秒對(duì)web容器進(jìn)程的gc次數(shù)統(tǒng)計(jì)一次,共統(tǒng)計(jì)10000次?;谠摫O(jiān)控指令,進(jìn)一步從該監(jiān)控指令的輸出數(shù)據(jù)中讀取采樣開(kāi)始時(shí)刻統(tǒng)計(jì)得到的GC次數(shù),即所述第一回收次數(shù),以及開(kāi)始結(jié)束時(shí)刻統(tǒng)計(jì)得到的GC次數(shù),即所述第二回收次數(shù)。
[0059]在本申請(qǐng)又一個(gè)可行的實(shí)施例中,可以調(diào)用文本處理工具awk對(duì)Java型web容器響應(yīng)請(qǐng)求時(shí)記錄的日志,從而統(tǒng)計(jì)得到預(yù)設(shè)采樣時(shí)段內(nèi)web容器處理的總請(qǐng)求數(shù)。其中,awk中包括beginHour、beginMin、endHour和endMin四個(gè)時(shí)間參數(shù),依次表示采樣開(kāi)始時(shí)刻的小時(shí)、分鐘和采樣結(jié)束時(shí)刻的小時(shí)、分鐘,根據(jù)預(yù)設(shè)采樣時(shí)段對(duì)上述四個(gè)時(shí)間參數(shù)賦值,可以實(shí)現(xiàn)將采樣時(shí)段精確至分鐘;另外,還可以設(shè)置beginSec和endSec,表示采樣開(kāi)始時(shí)刻的秒數(shù)和采樣結(jié)束時(shí)刻的秒數(shù),實(shí)現(xiàn)將采樣時(shí)段精確至秒。
[0060]需要說(shuō)明的是,上述實(shí)施例闡述的獲取總內(nèi)存值、總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)的方法,僅僅為本申請(qǐng)的一種可行的【具體實(shí)施方式】,本申請(qǐng)不局限于此。
[0061]圖2為本申請(qǐng)實(shí)施例提供的一種應(yīng)用于Java型web容器的內(nèi)存使用量檢測(cè)裝置的結(jié)構(gòu)框圖。參照?qǐng)D2,該裝置包括:總內(nèi)存值獲取單元110、總請(qǐng)求數(shù)獲取單元120、回收次數(shù)獲取單元130和計(jì)算單元140。
[0062]該總內(nèi)存值獲取單元110被配置為,獲取Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值。
[0063]該總請(qǐng)求數(shù)獲取單元120被配置為,獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)。
[0064]該回收次數(shù)獲取單元130被配置為,獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)。
[0065]該計(jì)算單元140被配置為,根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0066]由以上技術(shù)方案可知,根據(jù)Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值、預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)、采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)四個(gè)參數(shù),即可計(jì)算得到單次請(qǐng)求耗費(fèi)內(nèi)存,且四個(gè)參數(shù)獲取過(guò)程不需要對(duì)Java型web容器及相關(guān)系統(tǒng)進(jìn)行特殊配置,既不影響系統(tǒng)的正常運(yùn)行,也使得計(jì)算結(jié)果更精確、更具有代表性。
[0067]參照?qǐng)D3,在本申請(qǐng)一個(gè)可行的實(shí)施例中,回收次數(shù)獲取單元130可以包括:計(jì)數(shù)模塊131和讀取模塊132。
[0068]計(jì)數(shù)模塊131,用于周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù);
[0069]讀取模塊132,用于讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù),并讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。
[0070]另外,總請(qǐng)求數(shù)獲取單元具體可以包括:文本處理模塊;該文本處理模塊被配置為通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
[0071 ] 關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
[0072]另外,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),例如可以是R0M、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤(pán)和光數(shù)據(jù)存儲(chǔ)設(shè)備等;該計(jì)算機(jī)存儲(chǔ)介質(zhì)中存儲(chǔ)有程序,當(dāng)所述存儲(chǔ)介質(zhì)中的程序由服務(wù)器的處理器執(zhí)行時(shí),使得服務(wù)器能夠執(zhí)行上述方法實(shí)施例中記載的應(yīng)用于Java型web容器的內(nèi)存使用量檢測(cè)方法的部分或全部步驟。
[0073]圖4是根據(jù)一示例性實(shí)施例示出的一種服務(wù)器的框圖。參照?qǐng)D4,服務(wù)器400包括處理組件422,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器432所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件422的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器432中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,服務(wù)器400還設(shè)置有Java型web容器,處理組件422被配置為執(zhí)行指令,以執(zhí)行上述內(nèi)存使用量檢測(cè)方法,得到該Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0074]裝置400還可以包括一個(gè)電源組件426被配置為執(zhí)行裝置400的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口 450被配置為將裝置400連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口458。裝置400可以操作基于存儲(chǔ)在存儲(chǔ)器432的操作系統(tǒng),例如Windows ServerTM, MacOS XTM,UnixTM, LinuxTM,F(xiàn)reeBSDTM 或類(lèi)似。
[0075]其中,本實(shí)施例中,處理組件422通過(guò)執(zhí)行存儲(chǔ)器432中的指令,可以完成如下步驟:
[0076]獲取Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值;
[0077]獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù);
[0078]獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù);
[0079]根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。
[0080]在本申請(qǐng)一個(gè)可行的實(shí)施例中,為獲取所述第一回收次數(shù)和第二回收次數(shù),,處理組件422可以執(zhí)行如下步驟:
[0081]周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù);
[0082]讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù);
[0083]讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。
[0084]在本申請(qǐng)另一個(gè)可行的實(shí)施例中,為獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù),所述處理器被配置為:
[0085]通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
[0086]由以上技術(shù)方案可知,本申請(qǐng)實(shí)施例提供的服務(wù)器可以根據(jù)其Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值、預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù)、采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù)四個(gè)參數(shù),即可計(jì)算得到單次請(qǐng)求耗費(fèi)內(nèi)存,且四個(gè)參數(shù)獲取過(guò)程不需要對(duì)該Java型web容器及相關(guān)系統(tǒng)進(jìn)行特殊配置,既不影響系統(tǒng)的正常運(yùn)行,也使得計(jì)算結(jié)果更精確、更具有代表性。
[0087]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本申請(qǐng)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0088]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1.一種Java型web容器的內(nèi)存使用量檢測(cè)方法,其特征在于,包括: 獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值; 獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù); 獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù); 根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。2.根據(jù)權(quán)利要求1所述的檢測(cè)方法,其特征在于,獲取所述第一回收次數(shù)和第二回收次數(shù)的步驟包括: 周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù); 讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù); 讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。3.根據(jù)權(quán)利要求1或2所述的檢測(cè)方法,其特征在于,獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù),包括: 通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。4.一種Java型web容器的內(nèi)存使用量檢測(cè)裝置,其特征在于,包括: 總內(nèi)存值獲取單元,用于獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值; 總請(qǐng)求數(shù)獲取單元,用于獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù); 回收次數(shù)獲取單元,用于獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù); 計(jì)算單元,用于根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。5.根據(jù)權(quán)利要求4所述的檢測(cè)裝置,其特征在于,所述回收次數(shù)獲取單元包括: 計(jì)數(shù)模塊,用于周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù); 讀取模塊,用于讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù),并讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。6.根據(jù)權(quán)利要求4或5所述的檢測(cè)裝置,其特征在于,所述總請(qǐng)求數(shù)獲取單元包括: 文本處理模塊,用于通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。7.一種服務(wù)器,其特征在于,所述服務(wù)器設(shè)置有Java型web容器;所述服務(wù)器包括: 處理器;以及,用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 獲取所述Java型web容器中用于處理請(qǐng)求的目標(biāo)內(nèi)存區(qū)的總內(nèi)存值; 獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù); 獲取采樣開(kāi)始時(shí)所述目標(biāo)內(nèi)存區(qū)的第一回收次數(shù)以及采樣結(jié)束時(shí)所述目標(biāo)內(nèi)存區(qū)的第二回收次數(shù); 根據(jù)所述總請(qǐng)求數(shù)、第一回收次數(shù)和第二回收次數(shù)計(jì)算同時(shí)占用所述目標(biāo)內(nèi)存區(qū)的請(qǐng)求數(shù)的最大值,并計(jì)算所述總內(nèi)存值與所述最大值的比值,得到所述Java型web容器的單次請(qǐng)求耗費(fèi)內(nèi)存。8.根據(jù)權(quán)利要求7所述的服務(wù)器,其特征在于,為獲取所述第一回收次數(shù)和第二回收次數(shù),所述處理器被配置為: 周期性記錄所述目標(biāo)存儲(chǔ)區(qū)的回收次數(shù); 讀取采樣開(kāi)始時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第一回收次數(shù); 讀取采樣結(jié)束時(shí)刻所在周期對(duì)應(yīng)的回收次數(shù),得到所述第二回收次數(shù)。9.根據(jù)權(quán)利要求7或8所述的服務(wù)器,其特征在于,為獲取預(yù)設(shè)采樣時(shí)段內(nèi)所述目標(biāo)內(nèi)存區(qū)處理的總請(qǐng)求數(shù),所述處理器被配置為: 通過(guò)文本處理工具awk掃描所述預(yù)設(shè)采樣時(shí)段內(nèi)所述Java型web容器的運(yùn)行日志,得到所述總請(qǐng)求數(shù)。
【文檔編號(hào)】G06F11/34GK105988919SQ201510093016
【公開(kāi)日】2016年10月5日
【申請(qǐng)日】2015年3月2日
【發(fā)明人】劉飛
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临沭县| 连江县| 湖口县| 德钦县| 余姚市| 云南省| 昂仁县| 花莲市| 密山市| 铜梁县| 兰州市| 旬邑县| 工布江达县| 宜宾县| 山阴县| 凉山| 昭通市| 兖州市| 霸州市| 伽师县| 稻城县| 汉沽区| 安仁县| 贡山| 海盐县| 资溪县| 鹰潭市| 霍林郭勒市| 宁夏| 潍坊市| 中江县| 桐柏县| 南昌县| 灵寿县| 宣威市| 南郑县| 永福县| 疏附县| 新兴县| 澄迈县| 绍兴县|