亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于減少服務(wù)器/數(shù)據(jù)庫系統(tǒng)中鎖定發(fā)生的方法和系統(tǒng)與流程

文檔序號(hào):11965347閱讀:220來源:國知局
用于減少服務(wù)器/數(shù)據(jù)庫系統(tǒng)中鎖定發(fā)生的方法和系統(tǒng)與流程
本發(fā)明一般地涉及數(shù)據(jù)庫系統(tǒng)的領(lǐng)域,特別涉及服務(wù)器訪問數(shù)據(jù)庫的數(shù)據(jù)庫系統(tǒng)。更具體地,本發(fā)明涉及用于限制數(shù)據(jù)庫系統(tǒng)中并發(fā)請(qǐng)求的數(shù)目并且因此減少服務(wù)器/數(shù)據(jù)庫系統(tǒng)中鎖定發(fā)生的方法和系統(tǒng)。

背景技術(shù):
在傳統(tǒng)客戶端-服務(wù)器架構(gòu)中,一個(gè)或多個(gè)節(jié)點(diǎn)經(jīng)由允許客戶端和服務(wù)器之間的雙向通信的網(wǎng)絡(luò)連接到一個(gè)或多個(gè)服務(wù)器。典型地,服務(wù)器接收來自多個(gè)源的請(qǐng)求,并且根據(jù)規(guī)定的處理方案處理它們。更通常地,使用先進(jìn)先出(FIFO)方法,允許首先接收的請(qǐng)求由服務(wù)器首先處理,第二接收的請(qǐng)求第二處理,以此類推。在數(shù)據(jù)庫系統(tǒng)中,使用隊(duì)列處理客戶端的進(jìn)入請(qǐng)求,以便組織請(qǐng)求的順序排列?;诎l(fā)送到服務(wù)器的請(qǐng)求和請(qǐng)求客戶端從服務(wù)器接收響應(yīng)的時(shí)間之間的延遲,建立給定客戶端-服務(wù)器架構(gòu)中的服務(wù)質(zhì)量。服務(wù)器上的負(fù)荷越高,接收響應(yīng)的延遲更可能增加。在許多情況下,客戶端具有內(nèi)建機(jī)制,其使用“超時(shí)”設(shè)施,以避免對(duì)于要回答的請(qǐng)求等待長時(shí)間段。在這樣的情況下,中止請(qǐng)求,并且即使結(jié)果從服務(wù)器指向請(qǐng)求客戶端,請(qǐng)求客戶端也忽視結(jié)果,或者不能接收它們,由于連接已經(jīng)由客戶端終止。在一些應(yīng)用中,客戶端生成另一請(qǐng)求,期待該請(qǐng)求將在分配的時(shí)間幀內(nèi)被回答。該方案可能導(dǎo)致服務(wù)器隊(duì)列的額外負(fù)荷,從而導(dǎo)致服務(wù)器的響應(yīng)時(shí)間的額外延遲。在大的數(shù)據(jù)庫環(huán)境中,其中許多客戶端連接到服務(wù)器發(fā)送要處理并推送到數(shù)據(jù)庫的請(qǐng)求,數(shù)據(jù)庫操作可能變?yōu)槠款i,并且影響整體系統(tǒng)性能。當(dāng)系統(tǒng)性能降低時(shí),客戶端不能連接到服務(wù)器。典型地,它們?cè)噲D稍后獲得連接,即,服務(wù)器連接的數(shù)目增加。這導(dǎo)致螺旋式下跌,因?yàn)榉?wù)器具有許多進(jìn)入連接,使得由消耗資源的鎖定處理降低數(shù)據(jù)庫性能。不良的數(shù)據(jù)庫性能導(dǎo)致請(qǐng)求處理延遲,其轉(zhuǎn)而增加要處理的并發(fā)請(qǐng)求的數(shù)目。此外,因?yàn)橛|發(fā)了超時(shí),所以服務(wù)器上長時(shí)間等待的請(qǐng)求可能被視為失敗,即使它最終被服務(wù)器處理。因此,有利的是具有用于處理客戶端-服務(wù)器環(huán)境中的過載情況的機(jī)制。更具體地,有利的是具有主動(dòng)避免超時(shí)情況并且允許系統(tǒng)實(shí)現(xiàn)最大吞吐量的機(jī)制。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的是提供改進(jìn)的計(jì)算機(jī)實(shí)施的方法、計(jì)算機(jī)可讀介質(zhì)和計(jì)算機(jī)系統(tǒng),用于限制數(shù)據(jù)庫系統(tǒng)中并發(fā)請(qǐng)求的數(shù)目。通過獨(dú)立權(quán)利要求的特征解決該目的。在從屬權(quán)利要求中給出優(yōu)選實(shí)施例。如果沒有另外明確指示,本發(fā)明的實(shí)施例可以相互自由組合。在一個(gè)方面中,本發(fā)明涉及一種用于限制數(shù)據(jù)庫系統(tǒng)中并發(fā)請(qǐng)求的數(shù)目的計(jì)算機(jī)實(shí)施的方法,所述方法包括以下步驟:-在至少一個(gè)隊(duì)列中排列要由所述數(shù)據(jù)庫系統(tǒng)處理的請(qǐng)求;-限定對(duì)應(yīng)于所述至少一個(gè)隊(duì)列的并發(fā)請(qǐng)求的最大值;-監(jiān)視對(duì)應(yīng)于所述至少一個(gè)隊(duì)列的至少一個(gè)隊(duì)列利用參數(shù),并且基于所述至少一個(gè)隊(duì)列利用參數(shù)計(jì)算性能值;-基于所述性能值,動(dòng)態(tài)調(diào)整所述至少一個(gè)隊(duì)列的并發(fā)請(qǐng)求的最大值,以便改進(jìn)系統(tǒng)性能,以及-基于動(dòng)態(tài)調(diào)整的最大值,動(dòng)態(tài)限制所述至少一個(gè)隊(duì)列的并發(fā)請(qǐng)求的數(shù)目。例如,至少一個(gè)隊(duì)列利用參數(shù)是請(qǐng)求的平均處理時(shí)間、服務(wù)的請(qǐng)求的數(shù)目、被拒絕請(qǐng)求的數(shù)目、在特定時(shí)間段中相對(duì)于請(qǐng)求的總數(shù)目的被拒絕請(qǐng)求的比率或者基于組合至少兩個(gè)上述參數(shù)的計(jì)算的參數(shù)等。此外,可以從關(guān)于處理請(qǐng)求所需要時(shí)間的統(tǒng)計(jì)分布的信息(例如,最小處理時(shí)間、最大處理時(shí)間、處理時(shí)間的范圍、處理時(shí)間的偏差、處理時(shí)間的變化等)得到至少一個(gè)隊(duì)列利用參數(shù)。所述特征可能是有利的,由于可能取決于數(shù)據(jù)庫服務(wù)器的負(fù)荷,以其峰值性能運(yùn)行數(shù)據(jù)庫系統(tǒng)。如果僅僅存在臨街負(fù)荷,即,性能因子低,那么動(dòng)態(tài)地增加并發(fā)的排隊(duì)請(qǐng)求的數(shù)目。相反地,如果系統(tǒng)性能劣化,那么減少并發(fā)的排隊(duì)請(qǐng)求的數(shù)目,以便使得系統(tǒng)能夠處理請(qǐng)求而沒有請(qǐng)求的超時(shí)。根據(jù)優(yōu)選實(shí)施例,將請(qǐng)求分組在至少兩個(gè)分組中,其中每個(gè)分組與專用隊(duì)列和并發(fā)請(qǐng)求的隊(duì)列特定最大值相關(guān)聯(lián)。特別在具有大數(shù)目的進(jìn)入的請(qǐng)求的環(huán)境中,由鎖定處理消耗數(shù)據(jù)庫性能。優(yōu)選地,根據(jù)相互鎖定的可能性在分組中排列請(qǐng)求。更可能相互鎖定的請(qǐng)求將分配到相同分組。相反地,具有低的相互鎖定的可能性的請(qǐng)求將分配到不同分組。例如,還可以根據(jù)觸發(fā)請(qǐng)求的服務(wù)的服務(wù)ID,根據(jù)分析異常堆棧以識(shí)別干擾服務(wù)的學(xué)習(xí)機(jī)制等進(jìn)行分組。根據(jù)優(yōu)選實(shí)施例,通過在插入隊(duì)列之前拒絕進(jìn)入的請(qǐng)求和/或通過將請(qǐng)求移出隊(duì)列,限制并發(fā)請(qǐng)求的數(shù)目。優(yōu)選地,僅以小的步伐改變并發(fā)請(qǐng)求的數(shù)目,以便以平滑的方式調(diào)整當(dāng)前系統(tǒng)性能。通過在插入隊(duì)列之前拒絕進(jìn)入的請(qǐng)求進(jìn)行。如果鎖定超時(shí)事件出現(xiàn),那么系統(tǒng)性能將迅速上升。因此,減少已經(jīng)排隊(duì)的并發(fā)請(qǐng)求的數(shù)目,根據(jù)優(yōu)選實(shí)施例,以便允許系統(tǒng)迅速上升。根據(jù)優(yōu)選實(shí)施例,對(duì)于第一時(shí)間段計(jì)算所述性能值,其中所述第一時(shí)間段的所述性能值用于調(diào)整在第二時(shí)間段中的并發(fā)請(qǐng)求的最大值,所述第二時(shí)間段緊接在所述第一時(shí)間段之后。優(yōu)選地,第一時(shí)間段的性能值與第二時(shí)間段的性能值相比較,以確定性能值的變化。為了動(dòng)態(tài)地改進(jìn)系統(tǒng)性能,性能值的變化用于調(diào)整并發(fā)請(qǐng)求的數(shù)目。根據(jù)優(yōu)選實(shí)施例,通過計(jì)數(shù)信號(hào)量處理并發(fā)請(qǐng)求的最大值。使用計(jì)數(shù)信號(hào)量的有點(diǎn)在于可以同時(shí)處理各個(gè)隊(duì)列的狀態(tài)(開/關(guān))以及并發(fā)請(qǐng)求的數(shù)目。從而可能確定分配到分組的進(jìn)入的請(qǐng)求是否可以插入隊(duì)列或者必須被拒絕(開/關(guān))。此外,可以從信號(hào)量讀取并發(fā)請(qǐng)求的最大值。根據(jù)優(yōu)選實(shí)施例,選擇并發(fā)請(qǐng)求的最大值,以便最大化并發(fā)請(qǐng)求的數(shù)目與請(qǐng)求的平均處理時(shí)間的乘積。相對(duì)于并發(fā)請(qǐng)求的數(shù)目繪制并發(fā)請(qǐng)求的數(shù)目與請(qǐng)求的平均處理時(shí)間的乘積示出峰值。在該峰值處,實(shí)現(xiàn)最佳系統(tǒng)性能。因此,根據(jù)該峰值選擇并發(fā)請(qǐng)求的最大值。根據(jù)優(yōu)選實(shí)施例,基于并發(fā)請(qǐng)求的最大值和請(qǐng)求的平均處理時(shí)間,動(dòng)態(tài)調(diào)整至少一個(gè)隊(duì)列的最大長度。從而,不但改變插入隊(duì)列的請(qǐng)求的數(shù)目,而且改變隊(duì)列的總長度,以便對(duì)于當(dāng)前系統(tǒng)性能調(diào)整隊(duì)列專用參數(shù)。根據(jù)優(yōu)選實(shí)施例,在接收數(shù)據(jù)庫的鎖定超時(shí)之后,減小并發(fā)請(qǐng)求的最大值和至少一個(gè)隊(duì)列的最大長度,以便避免進(jìn)一步的鎖定超時(shí)。通常,使用根據(jù)本發(fā)明的方法,相當(dāng)不可能出現(xiàn)鎖定超時(shí)。然而,在鎖定超時(shí)事件出現(xiàn)之后,減小并發(fā)請(qǐng)求的數(shù)目和至少一個(gè)隊(duì)列的長度,使得系統(tǒng)能夠迅速上升,因此避免進(jìn)一步的鎖定超時(shí)。在進(jìn)一步的方面中,本發(fā)明涉及包括用其體現(xiàn)的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀介質(zhì),當(dāng)由處理器執(zhí)行所述計(jì)算機(jī)可讀程序代碼時(shí),使得處理器執(zhí)行根據(jù)上述實(shí)施例的任一的方法。在進(jìn)一步的方面中,本發(fā)明涉及一種基于計(jì)算機(jī)的數(shù)據(jù)庫系統(tǒng),包括用作數(shù)據(jù)庫客戶端的至少一個(gè)服務(wù)器,包括:-調(diào)度器單元,適于在至少一個(gè)隊(duì)列中排列要由數(shù)據(jù)庫處理的請(qǐng)求;-監(jiān)視單元,適于●限定要并發(fā)處理的對(duì)應(yīng)于所述至少一個(gè)隊(duì)列的請(qǐng)求的最大值,●監(jiān)視對(duì)應(yīng)于所述至少一個(gè)隊(duì)列的至少一個(gè)隊(duì)列利用參數(shù),并且基于所述至少一個(gè)隊(duì)列利用參數(shù)計(jì)算性能值,●基于所述性能值,動(dòng)態(tài)調(diào)整所述至少一個(gè)隊(duì)列的并發(fā)請(qǐng)求的最大值,以便改進(jìn)系統(tǒng)性能,以及-限制單元,適于基于動(dòng)態(tài)調(diào)整的最大值,動(dòng)態(tài)限制所述至少一個(gè)隊(duì)列的并發(fā)請(qǐng)求的數(shù)目。根據(jù)優(yōu)選實(shí)施例,所述調(diào)度器單元適于將請(qǐng)求分組在至少兩個(gè)分組中,其中每個(gè)分組與專用隊(duì)列和并發(fā)請(qǐng)求的隊(duì)列特定最大值相關(guān)聯(lián)。根據(jù)優(yōu)選實(shí)施例,所述調(diào)度器單元適于基于請(qǐng)求與分組中包含的其他請(qǐng)求鎖定的可能性、基于請(qǐng)求的起源或基于請(qǐng)求的服務(wù)類型,將請(qǐng)求分配到分組。根據(jù)優(yōu)選實(shí)施例,所述系統(tǒng)適于通過在插入隊(duì)列之前拒絕進(jìn)入的請(qǐng)求和/或通過將請(qǐng)求移出隊(duì)列,限制并發(fā)請(qǐng)求的數(shù)目。附圖說明以下,通過參照附圖,僅以示例的方式更詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。圖1示出基于客戶端-服務(wù)器環(huán)境的數(shù)據(jù)庫系統(tǒng)。圖2示出具有要由服務(wù)器處理的插入請(qǐng)求的隊(duì)列的示例。圖3示出根據(jù)本發(fā)明的服務(wù)器的示意圖。圖4示出用于取決于當(dāng)前系統(tǒng)性能動(dòng)態(tài)限制請(qǐng)求的并發(fā)的流程圖。圖5示出用于基于系統(tǒng)性能動(dòng)態(tài)調(diào)整(adapt)隊(duì)列屬性的流程圖。具體實(shí)施方式如本領(lǐng)域的技術(shù)人員將理解的,本發(fā)明的各方面可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼??梢圆捎靡粋€(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。參照?qǐng)D1,圖示了用于發(fā)送請(qǐng)求到數(shù)據(jù)庫5的客戶端-服務(wù)器環(huán)境1的傳統(tǒng)架構(gòu)。多個(gè)客戶端2a-2e連接到網(wǎng)絡(luò)3。此外,服務(wù)器4也連接到網(wǎng)絡(luò)3??梢杂扇舾勺泳W(wǎng)絡(luò)構(gòu)成的網(wǎng)絡(luò)3使得客戶端2a到2e和服務(wù)器4相互通信。例如,客戶端2a通過網(wǎng)絡(luò)3發(fā)送請(qǐng)求到服務(wù)器4,用于訪問數(shù)據(jù)庫5。服務(wù)器4可以從多個(gè)客戶端接收多個(gè)請(qǐng)求,并且典型地以接收的順序處理它們,或者在其他情況下,根據(jù)預(yù)定的優(yōu)先級(jí)策略處理它們。在服務(wù)器4中排隊(duì)的請(qǐng)求等待它們轉(zhuǎn)為由服務(wù)器4處理。一旦由服務(wù)器4處理,對(duì)于請(qǐng)求的響應(yīng)就發(fā)送到客戶端2a-2e。參照?qǐng)D2,示出了由服務(wù)器4處理的典型隊(duì)列10。隊(duì)列可以具有“QS”存儲(chǔ)單元(location)的深度,其中每個(gè)存儲(chǔ)單元能夠存儲(chǔ)由服務(wù)器4在其排程處理之前的一個(gè)客戶端的請(qǐng)求。新的客戶端請(qǐng)求放置在隊(duì)列10中的第一可用位置(slot)。這意味著如果位置“1”到“3”由之前請(qǐng)求占據(jù),那么新的客戶端請(qǐng)求將放置在位置“4”。類似地,如果填充隊(duì)列10直到并且包括位置“i-1”,那么下一個(gè)要填充的位置是位置“i”。優(yōu)選地,客戶端請(qǐng)求總是從隊(duì)列10中的第一位置(即,位置“1”)起占據(jù)用于處理。當(dāng)隊(duì)列10充滿時(shí),即,位置“QS”被占據(jù)時(shí),服務(wù)器4將拒絕從客戶端接收新的請(qǐng)求。為了避免因?yàn)橄馁Y源的鎖定處理和請(qǐng)求的超時(shí)和/或因?yàn)槌^觸發(fā)請(qǐng)求從隊(duì)列移除的默認(rèn)時(shí)間值的等待時(shí)間,系統(tǒng)性能的崩潰,依靠圖3到圖5說明調(diào)整并發(fā)請(qǐng)求的最大數(shù)目和至少一個(gè)隊(duì)列的最大長度的精細(xì)方式。圖3示出服務(wù)器4的示意圖。服務(wù)器4包括至少一個(gè)通信層41和數(shù)據(jù)訪問層42。由與通信層41相關(guān)聯(lián)的調(diào)度器43處理進(jìn)入的請(qǐng)求20。為了避免不同請(qǐng)求之間的鎖定,進(jìn)入的請(qǐng)求優(yōu)選地分配到不同分組。調(diào)度器43執(zhí)行進(jìn)入的請(qǐng)求的分類以及到特定分組的分配。每個(gè)分組包括其自身的隊(duì)列,其中插入請(qǐng)求。存在用于分組進(jìn)入的請(qǐng)求20的不同方式。最簡(jiǎn)單的一個(gè)是僅存在一個(gè)分組,因?yàn)榧俣總€(gè)請(qǐng)求可能與任何其他請(qǐng)求鎖定。第二種方式是根據(jù)導(dǎo)致請(qǐng)求的服務(wù)分組請(qǐng)求。假定從特定服務(wù)進(jìn)入的請(qǐng)求容易與來自相同服務(wù)的另一請(qǐng)求鎖定,并且當(dāng)然不太可能與由另一服務(wù)導(dǎo)致的請(qǐng)求鎖定。遵循第二種方式,在通信服務(wù)ID和請(qǐng)求所分配到的分組之間存在關(guān)系。根據(jù)第三種更加先進(jìn)的方式,在調(diào)度器43內(nèi)實(shí)施學(xué)習(xí)機(jī)制。學(xué)習(xí)機(jī)制將分析異常堆棧,以發(fā)現(xiàn)為何出現(xiàn)特定異常。如果異常是因?yàn)檎?qǐng)求的鎖定導(dǎo)致的,那么可以確定相互干擾的服務(wù)。目標(biāo)是基于請(qǐng)求的起源和服務(wù)ID等,調(diào)查請(qǐng)求的鎖定的可能性。鎖定分組管理器44分配到請(qǐng)求的每個(gè)分組,即,分配到每個(gè)隊(duì)列。鎖定分組管理器44包括優(yōu)選地連續(xù)測(cè)量分組的處理性能的測(cè)量單元。此外,并發(fā)請(qǐng)求的最大值SS分別與每個(gè)隊(duì)列或分組相關(guān)聯(lián)。優(yōu)選地,使用計(jì)數(shù)信號(hào)量處理并發(fā)請(qǐng)求的最大值SS??梢詫?duì)于其狀態(tài)(例如,開或關(guān))以及對(duì)于其值(例如,并發(fā)請(qǐng)求的最大數(shù)目SS)測(cè)試信號(hào)量。從而可能確定分配到分組的進(jìn)入的請(qǐng)求是否可以插入隊(duì)列(開或關(guān)),或者不得不被拒絕,并且額外地檢索并發(fā)請(qǐng)求的最大值SS。測(cè)量單元連續(xù)監(jiān)視分配到各個(gè)分組的進(jìn)入的請(qǐng)求的數(shù)目、至少一個(gè)隊(duì)列利用參數(shù)、隊(duì)列的長度以及被拒絕請(qǐng)求NoRR的數(shù)目。如上所述,至少一個(gè)隊(duì)列利用參數(shù)可以是請(qǐng)求的平均處理時(shí)間APT、服務(wù)的請(qǐng)求的數(shù)目、被拒絕請(qǐng)求的數(shù)目、在特定時(shí)間段中相對(duì)于請(qǐng)求的總數(shù)目的被拒絕請(qǐng)求的比率或者基于組合至少兩個(gè)上述參數(shù)的計(jì)算的參數(shù)等。此外,可以關(guān)于處理請(qǐng)求所需要時(shí)間的統(tǒng)計(jì)分布的信息(例如,最小處理時(shí)間、最大處理時(shí)間、處理時(shí)間的范圍、處理時(shí)間的偏差、處理時(shí)間的變化等)得到至少一個(gè)隊(duì)列利用參數(shù)。在本發(fā)明的以下實(shí)施例中,平均處理時(shí)間APT用作隊(duì)列利用參數(shù)?;谠撝皶r(shí)間段(下文中也稱為測(cè)量時(shí)段MP)的估計(jì)特性,確定導(dǎo)致平均處理時(shí)間APT和并發(fā)請(qǐng)求的數(shù)目SS的乘積(APT*SS)的最大值的并發(fā)請(qǐng)求的數(shù)目。數(shù)據(jù)庫系統(tǒng)領(lǐng)域的技術(shù)人員認(rèn)識(shí)到存在平均處理時(shí)間APT和并發(fā)請(qǐng)求的數(shù)目SS的乘積的最適宜條件(optimum)。參數(shù)兩者相互影響。以小的并發(fā)請(qǐng)求的數(shù)目SS開始,當(dāng)并發(fā)請(qǐng)求的數(shù)目SS上升時(shí),平均處理時(shí)間APT僅受少量影響,但是在更大的并發(fā)請(qǐng)求的數(shù)目SS處,平均處理時(shí)間APT迅速減少。所以可以發(fā)現(xiàn)最適宜條件,在該最適宜條件并發(fā)請(qǐng)求的數(shù)目SS和平均處理時(shí)間APT的乘積具有其最大值。并發(fā)請(qǐng)求的最大值SS用于使得請(qǐng)求能夠被插入與分組相關(guān)聯(lián)的隊(duì)列中,其中請(qǐng)求由調(diào)度器43分配到分組。如果各個(gè)隊(duì)列中包含的請(qǐng)求的數(shù)目小于并發(fā)請(qǐng)求的最大值SS,那么請(qǐng)求將排隊(duì)或立即被處理。否則,請(qǐng)求將被拒絕。此外,測(cè)量單元使用之前測(cè)量時(shí)段的估計(jì)特性MP(act)-ΔMP,推斷當(dāng)前測(cè)量時(shí)段MP(act)的隊(duì)列大小QS的最大值。隊(duì)列大小QS的最大值限定可以包含在各個(gè)隊(duì)列中并且將在預(yù)定時(shí)段內(nèi)得到處理的請(qǐng)求的最大數(shù)目。參照?qǐng)D4,示出了用于調(diào)整影響各個(gè)分組的性能的隊(duì)列屬性的流程圖。通常使用初始值開始調(diào)整隊(duì)列屬性的處理30。那些初始值可以是預(yù)定參數(shù)值或之前運(yùn)行的處理的推斷值。在測(cè)量時(shí)段MP中量化各個(gè)分組的處理時(shí)間,在測(cè)量時(shí)段MP期間收集關(guān)于分組性能的統(tǒng)計(jì)數(shù)據(jù)。測(cè)量時(shí)段MP持續(xù)時(shí)間ΔMP的時(shí)段。為了獲得可靠的統(tǒng)計(jì)數(shù)據(jù),測(cè)量時(shí)段MP必須超過特定時(shí)間段。測(cè)量時(shí)段MP可以大于請(qǐng)求的平均處理時(shí)間APT,優(yōu)選地大于并發(fā)請(qǐng)求的最大值SS與平均處理時(shí)間APT的乘積(SS*APT)。在以初始值開始30之后,在第一測(cè)量時(shí)段MP(act)期間收集關(guān)于分組處理性能的統(tǒng)計(jì)數(shù)據(jù)(步驟31)。從而,通過測(cè)量單元監(jiān)視分配到各個(gè)分組的進(jìn)入的請(qǐng)求的數(shù)目、平均處理時(shí)間APT、隊(duì)列的長度和被拒絕的連接的數(shù)目。此后,基于第一測(cè)量時(shí)段MP(act)的收集的統(tǒng)計(jì)數(shù)據(jù),確定最佳的隊(duì)列值32。在進(jìn)一步的處理步驟中,根據(jù)在步驟32中確定的最佳的隊(duì)列值,調(diào)整各個(gè)隊(duì)列的屬性(步驟33)。優(yōu)選地,調(diào)整并發(fā)請(qǐng)求的最大值SS和隊(duì)列大小QS的最大值。此外,可以基于收集的統(tǒng)計(jì)數(shù)據(jù),動(dòng)態(tài)地調(diào)整測(cè)量時(shí)段MP的持續(xù)時(shí)間或進(jìn)一步的處理參數(shù)。使用在第一測(cè)量時(shí)段MP期間確定的隊(duì)列具體屬性,在第二測(cè)量時(shí)段MP(MP(act)=MP(act)+ΔMP)中,在步驟31繼續(xù)調(diào)整隊(duì)列屬性的處理。圖5詳細(xì)示出基于在之前測(cè)量時(shí)段MP期間收集的統(tǒng)計(jì)數(shù)據(jù),調(diào)整隊(duì)列屬性的例程。首先,檢查在當(dāng)前測(cè)量時(shí)段MP(act)中被拒絕的請(qǐng)求NoRR的數(shù)目。如果不存在被拒絕的請(qǐng)求,則NoRR=0,即迅速地處理所有請(qǐng)求。如果在當(dāng)前測(cè)量時(shí)段MP(act)期間拒絕請(qǐng)求,則之前測(cè)量時(shí)段MP(act-ΔMP)的性能因子PF與當(dāng)前測(cè)量時(shí)段MP(act)的性能因子PF比較。性能因子PF是分組的當(dāng)前處理性能的指示符。性能因子PF主要基于并發(fā)請(qǐng)求的最大值SS和平均處理時(shí)間APT計(jì)算。例如,可以由以下公式計(jì)算性能值:性能值還可以以更精細(xì)方式計(jì)算。為了示例的清楚起見,實(shí)施例僅監(jiān)視請(qǐng)求的平均處理時(shí)間,但是在實(shí)際系統(tǒng)中,可能有利的是收集關(guān)于處理請(qǐng)求所需的統(tǒng)計(jì)數(shù)據(jù)分布的更多信息,例如最小值、最大值、范圍、偏差、變化等。那些值可以用于計(jì)算性能值的更精細(xì)方法。如果PF(MP(act-ΔMP))>PF(MP(act)),即分組性能相對(duì)于之前測(cè)量時(shí)段MP(act-ΔMP)降低,那么并發(fā)請(qǐng)求的最大值SS可以減少(SS=SS-1),以降低服務(wù)器的負(fù)荷。減少并發(fā)請(qǐng)求的最大值SS不立即減少各個(gè)隊(duì)列中的請(qǐng)求的數(shù)目。優(yōu)選地,通過處理隊(duì)列中已經(jīng)包含的請(qǐng)求而不插入進(jìn)一步的請(qǐng)求直到隊(duì)列中包含的請(qǐng)求的數(shù)目小于并發(fā)請(qǐng)求的減小的最大值SS,緩慢減少請(qǐng)求的數(shù)目。如果PF(MP(act-ΔMP))<PF(MP(act)),即分組性能相對(duì)于之前測(cè)量時(shí)段MP(act-ΔMP)提升,那么增加(SS=SS+1)并發(fā)請(qǐng)求的最大值SS,以提升服務(wù)器的負(fù)荷,并且因此最優(yōu)化系統(tǒng)性能。換句話說,進(jìn)一步試圖增加要在基準(zhǔn)時(shí)段內(nèi)處理的請(qǐng)求的數(shù)目。在進(jìn)一步的處理中,檢查是否其中QS是隊(duì)列的最大長度,在該長度處隊(duì)列的所有請(qǐng)求得到處理,而不導(dǎo)致超時(shí),并且tdefault是其后導(dǎo)致超時(shí)的默認(rèn)時(shí)間段。如果不等式為真,那么減小隊(duì)列的最大長度QS以避免超時(shí)。如果則增加隊(duì)列的最大長度QS,以使得更多請(qǐng)求能夠插入隊(duì)列。通過重復(fù)根據(jù)圖5的例程,最優(yōu)化并發(fā)請(qǐng)求的最大數(shù)目SS和隊(duì)列的最大長度QS,以實(shí)現(xiàn)最大的系統(tǒng)性能。為了對(duì)于由超過處理請(qǐng)求的時(shí)限導(dǎo)致的鎖定超時(shí)事件盡可能快地響應(yīng),使用鎖定超時(shí)檢測(cè)器45。鎖定超時(shí)檢測(cè)器45是緊急機(jī)制,其位于數(shù)據(jù)庫訪問層。鎖定超時(shí)檢測(cè)器45捕獲和分析鎖定超時(shí)事件(例如,SQL-Exception),并且確定取消哪個(gè)請(qǐng)求。隨后,提示處理請(qǐng)求的鎖定超時(shí)檢測(cè)器45調(diào)整各個(gè)隊(duì)列參數(shù),以便避免進(jìn)一步的超時(shí)。例如,隊(duì)列的最大長度QS和并發(fā)請(qǐng)求的最大數(shù)目SS顯著減少以抵消性能劣化。優(yōu)選地,隊(duì)列的最大長度QS設(shè)為QS=0,并且并發(fā)請(qǐng)求的最大值SS設(shè)為SS=1。使得系統(tǒng)能夠處理小數(shù)目的請(qǐng)求,而不遭受鎖定超時(shí)。隨著系統(tǒng)性能提升,并發(fā)請(qǐng)求的數(shù)目也提升以實(shí)現(xiàn)最優(yōu)化的系統(tǒng)性能,即,在連續(xù)的測(cè)量時(shí)段MP期間,參數(shù)將緩慢增加。盡管前述已經(jīng)參照本發(fā)明的特定實(shí)施例,本領(lǐng)域的技術(shù)人員將理解,在這些實(shí)施例中可以進(jìn)行改變而不背離本發(fā)明的原理和精神,本發(fā)明的范圍由權(quán)利要求所限定。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1