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

過(guò)載保護(hù)方法、裝置及服務(wù)器的制造方法_2

文檔序號(hào):9711340閱讀:來(lái)源:國(guó)知局
。
[0033] 步驟S12,根據(jù)所述CPU資源消耗數(shù)據(jù),計(jì)算在所述預(yù)定采樣周期內(nèi),用于處理客 戶端請(qǐng)求的進(jìn)程的CPU占用率。
[0034] 服務(wù)器的操作系統(tǒng)可以同時(shí)啟動(dòng)多個(gè)進(jìn)程,操作系統(tǒng)將客戶端應(yīng)用程序放入到一 個(gè)進(jìn)程中,即由該進(jìn)程運(yùn)行該客戶端應(yīng)用程序并處理對(duì)應(yīng)的客戶端請(qǐng)求。操作系統(tǒng)根據(jù)客 戶端應(yīng)用程序與進(jìn)程的對(duì)應(yīng)關(guān)系,可以獲得CPU用于處理客戶端請(qǐng)求的進(jìn)程的實(shí)際消耗的 資源數(shù)據(jù),然后根據(jù)計(jì)算實(shí)際消耗的資源數(shù)據(jù)/CPU資源消耗數(shù)據(jù)的值,獲得用于處理客戶 端請(qǐng)求的進(jìn)程的CPU占用率。
[0035] 步驟S13,若所述CPU占用率超過(guò)預(yù)定閾值,則拒絕所述進(jìn)程處理來(lái)自所述客戶端 的請(qǐng)求,若所述CPU占用率未超過(guò)預(yù)定閾值,所述進(jìn)程在下一個(gè)預(yù)定采樣周期繼續(xù)處理來(lái) 自所述客戶端的請(qǐng)求。
[0036] 本發(fā)明實(shí)施例提供的過(guò)載保護(hù)方法,通過(guò)獲取用于處理客戶端請(qǐng)求的進(jìn)程的CPU 占用率來(lái)衡量該進(jìn)程的負(fù)載,相對(duì)于現(xiàn)有技術(shù)中根據(jù)請(qǐng)求數(shù)來(lái)控制服務(wù)器負(fù)載的方法,精 確度更高,而且無(wú)需針對(duì)不同的服務(wù)器進(jìn)行配置,針對(duì)各種服務(wù)器都可以實(shí)現(xiàn)自動(dòng)化管理, 無(wú)需進(jìn)行手動(dòng)干預(yù)。
[0037] 第二實(shí)施例
[0038] 圖4為本發(fā)明第二實(shí)施例提供的業(yè)務(wù)請(qǐng)求的處理方法的流程圖。結(jié)合圖1,本實(shí)施 例描述的是服務(wù)器的處理流程,本實(shí)施例提供的業(yè)務(wù)請(qǐng)求的處理方法包括以下步驟:
[0039] 步驟S21,獲取預(yù)定采樣周期內(nèi)的CPU資源消耗數(shù)據(jù)以及服務(wù)器中的CPU核心數(shù)。
[0040] 目前大多數(shù)的CPU都采用的是多核心CPU,多核心CPU可以將大規(guī)模并行處理器中 的對(duì)稱多處理器集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的進(jìn)程。
[0041] 所獲取的CPU資源消耗數(shù)據(jù)中包括了每個(gè)核心的各自的CPU資源消耗數(shù)據(jù)以及總 的CPU資源消耗數(shù)據(jù)。
[0042] 步驟S22,根據(jù)所述CPU核心數(shù)以及所述CPU資源消耗數(shù)據(jù),計(jì)算在所述預(yù)定采樣 周期內(nèi),用于處理客戶端請(qǐng)求的進(jìn)程在每個(gè)核心的CPU占用率。
[0043] 一個(gè)進(jìn)程一般是對(duì)應(yīng)于一個(gè)可執(zhí)行文件(如.exe文件),一個(gè)進(jìn)程可以包括多個(gè) 線程(多線程程序),每個(gè)線程運(yùn)行在一個(gè)CPU核心中,因此,對(duì)于多線程的進(jìn)程,會(huì)與多個(gè) 核心對(duì)應(yīng),就是單線程的進(jìn)程,也可以由系統(tǒng)指定采用哪個(gè)核心來(lái)運(yùn)行。例如,在本發(fā)明的 實(shí)施例中,用于處理客戶端請(qǐng)求的進(jìn)程被指定與CPU中的4個(gè)核心相對(duì)應(yīng)。
[0044] 請(qǐng)參照?qǐng)D5,步驟S22進(jìn)一步可以包括:
[0045] 步驟S221,根據(jù)CPU資源消耗數(shù)據(jù),獲取用于處理客戶端請(qǐng)求的進(jìn)程在每個(gè)核心 的資源消耗數(shù)據(jù);
[0046] 步驟S222,根據(jù)每個(gè)核心的資源消耗數(shù)據(jù)以及系統(tǒng)配置的空閑時(shí)間消耗數(shù)據(jù),獲 取每個(gè)核心的實(shí)際消耗的資源數(shù)據(jù);
[0047] 步驟S223,計(jì)算每個(gè)核心的實(shí)際消耗的資源數(shù)據(jù)與每個(gè)核心的資源消耗數(shù)據(jù)的比 值,得到用于處理客戶端請(qǐng)求的進(jìn)程在每個(gè)核心的CPU占用率。
[0048] 步驟S23,判斷每個(gè)核心的CPU占用率是否超過(guò)所述預(yù)定閾值。
[0049] 步驟S24,如果有核心的CPU占用率超過(guò)預(yù)定閾值,則拒絕與該核心對(duì)應(yīng)的進(jìn)程處 理來(lái)自所述客戶端的請(qǐng)求,其他進(jìn)程繼續(xù)處理來(lái)自所述客戶端的請(qǐng)求,如果每個(gè)核心的CPU 占用率均未超過(guò)所述預(yù)定閾值,所有用于處理客戶端請(qǐng)求的進(jìn)程繼續(xù)處理來(lái)自所述客戶端 的請(qǐng)求。
[0050] 具體的,可以在設(shè)立一個(gè)定時(shí)器,定時(shí)計(jì)算用于處理客戶端請(qǐng)求的進(jìn)程在每個(gè)核 心的CPU占用率。進(jìn)一步的,還可以建立一張進(jìn)程狀態(tài)表,將每次計(jì)算的CPU占用率狀態(tài) 記錄下來(lái)。若檢查到某個(gè)進(jìn)程的CPU占用率超過(guò)或到達(dá)一個(gè)極限值(也就升級(jí)預(yù)定閾值) 時(shí),例如:90%、95%或100%等,則將進(jìn)程狀態(tài)表中該進(jìn)程的狀態(tài)修改為異常,并拒絕該進(jìn) 程處理來(lái)自客戶端的請(qǐng)求。由于定時(shí)器時(shí)間間隔是固定的,對(duì)于某個(gè)在進(jìn)程狀態(tài)表中已標(biāo) 記為異常的進(jìn)程,若檢查到其CPU占用率低于規(guī)定的極限值時(shí),則可以將進(jìn)程狀態(tài)表中該 進(jìn)程的狀態(tài)修改為正常,使得該進(jìn)程可以繼續(xù)處理來(lái)自所述客戶端的請(qǐng)求。
[0051] 本發(fā)明實(shí)施例提供的過(guò)載保護(hù)方法,通過(guò)獲取用于處理客戶端請(qǐng)求的進(jìn)程的在每 個(gè)核心上的CPU占用率來(lái)衡量該進(jìn)程的負(fù)載,相對(duì)于現(xiàn)有技術(shù)中根據(jù)請(qǐng)求數(shù)來(lái)控制服務(wù)器 負(fù)載的方法,精確度更高,而且無(wú)需針對(duì)不同的服務(wù)器進(jìn)行配置,針對(duì)各種服務(wù)器都可以實(shí) 現(xiàn)自動(dòng)化管理,無(wú)需進(jìn)行手動(dòng)干預(yù)。
[0052] 第三實(shí)施例
[0053] 圖6為本發(fā)明第三實(shí)施例提供的業(yè)務(wù)請(qǐng)求的處理方法的流程圖。結(jié)合圖1,本實(shí)施 例描述的是服務(wù)器的處理流程,本實(shí)施例提供的業(yè)務(wù)請(qǐng)求的處理方法包括以下步驟:
[0054] 步驟S300,獲取服務(wù)器中的CPU核心數(shù)。
[0055] 步驟S301,獲取當(dāng)前時(shí)刻的各核心的CPU資源消耗數(shù)據(jù)totall。
[0056] 步驟S302,獲取經(jīng)過(guò)所述預(yù)定采樣周期時(shí)的各核心的CPU資源消耗數(shù)據(jù)total2。
[0057] 步驟S303,根據(jù)資源消耗數(shù)據(jù)totall以及系統(tǒng)配置的空閑時(shí)間消耗數(shù)據(jù),計(jì)算在 所述當(dāng)前時(shí)刻,用于處理客戶端請(qǐng)求的進(jìn)程在各核心實(shí)際消耗的資源數(shù)據(jù)usedl。
[0058] 步驟S304,根據(jù)資源消耗數(shù)據(jù)total2以及系統(tǒng)配置的空閑時(shí)間消耗數(shù)據(jù),計(jì)算在 經(jīng)過(guò)所述預(yù)定采樣周期時(shí),用于處理客戶端請(qǐng)求的進(jìn)程,在各核心的實(shí)際消耗的資源數(shù)據(jù) used2〇
[0059] 步驟 S305,利用公式 P = (used2_usedl) / (total2_totall) *100%,計(jì)算用于處理 客戶端請(qǐng)求的進(jìn)程在各核心的CPU占用率P。
[0060] 步驟S306,判斷每個(gè)核心的CPU占用率是否超過(guò)所述預(yù)定閾值。
[0061] 步驟S307,如果有核心的CPU占用率超過(guò)預(yù)定閾值,則拒絕與該核心對(duì)應(yīng)的進(jìn)程 處理來(lái)自所述客戶端的請(qǐng)求,其他進(jìn)程繼續(xù)處理來(lái)自所述客戶端的請(qǐng)求,如果每個(gè)核心的 CPU占用率均未超過(guò)所述預(yù)定閾值,所有用于處理客戶端請(qǐng)求的進(jìn)程繼續(xù)處理來(lái)自所述客 戶端的請(qǐng)求。
[0062] 下面將以Linux操作系統(tǒng)為例,對(duì)本實(shí)施例中的過(guò)載保護(hù)方法進(jìn)行更詳細(xì)的說(shuō) 明。需要說(shuō)明的是,雖然本實(shí)施例中以Linux操作系統(tǒng)為例進(jìn)行說(shuō)明,但本發(fā)明的實(shí)施方式 并不以具體的操作系統(tǒng)為限,本發(fā)明各實(shí)施例中的技術(shù)方案同樣適用于其他操作系統(tǒng)。
[0063] 首先,讀取服務(wù)器CPU的核心數(shù),例如,通過(guò)讀取/proc/cpuinfo文件夾下的 processor字段,或者cpu cores字段來(lái)確定CPU的核心數(shù)。其中,processor字段用于表 明CPU的最大核心編號(hào),由于CPU的核心是由0開(kāi)始編號(hào),因此,如果讀取到的processor 字段為3,那么可得到CPU的核心編號(hào)為0, 1,2, 3,也就是說(shuō)CPU的核心數(shù)為4。另外,cpu cores字段用于表明CPU的核心數(shù),如果讀取到cpu cores字段為4,那么可直接得到CPU 的核心數(shù)為4。
[0064] 假設(shè)得到CPU的核心數(shù)為4,分別用CPU0、CPUl、CPU2、CPU3來(lái)表示CPU的4個(gè)核 心。
[0065] 讀取當(dāng)前時(shí)刻的CPU資源消耗數(shù)據(jù)totall,具體的,可以通過(guò)讀取/proc/stat文 件中的數(shù)據(jù)來(lái)獲取當(dāng)前時(shí)刻的CPU資源消耗數(shù)據(jù)。在Linux系統(tǒng)下,CPU占用率分為用戶 態(tài),系統(tǒng)態(tài)和空閑態(tài),分別表示CPU處于用戶態(tài)執(zhí)行的時(shí)間,系統(tǒng)內(nèi)核執(zhí)行的時(shí)間,和空閑 系統(tǒng)進(jìn)程執(zhí)行的時(shí)間。CPU占用率是指:CPU執(zhí)行非系統(tǒng)空閑進(jìn)程的時(shí)間/CPU總的執(zhí)行時(shí) 間。
[0066] 在Linux的內(nèi)核中,有一個(gè)全局變量:Jiffies。Jiffies代表時(shí)間。它的單位隨硬 件平臺(tái)的不同而不同。系統(tǒng)里定義了一個(gè)常數(shù)HZ,代表每秒種最小時(shí)間間隔的數(shù)目。這樣 jiffies的單位就是1/HZ。Intel平臺(tái)jiffies的單位是1/100秒,這就是系統(tǒng)所能分辨的 最小時(shí)間間隔了。每個(gè)CPU時(shí)間片,Jiffies都要加1。CPU的占用率就是用執(zhí)行用戶態(tài)+ 系統(tǒng)態(tài)的Jiffies除以總的Jifffies來(lái)表示。
[0067] 假設(shè)讀取/
當(dāng)前第2頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临颍县| 雷波县| 丘北县| 涟源市| 临泽县| 沾益县| 泗阳县| 兴山县| 招远市| 灵武市| 铜川市| 岑巩县| 慈利县| 宽城| 河池市| 北票市| 夹江县| 靖宇县| 依兰县| 靖西县| 邢台市| 武威市| 青海省| 洞口县| 武义县| 满洲里市| 抚宁县| 绵阳市| 巫溪县| 东莞市| 通许县| 吴桥县| 泸溪县| 两当县| 平邑县| 乌鲁木齐县| 嘉荫县| 察隅县| 平山县| 土默特右旗| 同德县|