麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

信息系統、負載控制方法、負載控制程序和記錄媒體的制作方法

文檔序號:7608766閱讀:280來源:國知局
專利名稱:信息系統、負載控制方法、負載控制程序和記錄媒體的制作方法
技術領域
本發明涉及信息系統、負載控制方法、負載控制程序和記錄媒體。具體而言,本發明涉及用于執行負載控制且包括數據庫服務器和多個應用服務器的信息系統、以及負載控制方法、負載控制程序和相應的記錄媒體。
背景技術
當前,已經提供了使服務器能夠協調應用的執行和網頁的顯示的多種基本技術,并且現在,通過使用提供適用于用戶的用戶界面的Web功能來構造信息系統已經成為主流方式。
作為一種用于控制被施加在這樣的信息系統上的負載的技術,在日本專利早期公開No.2001-160040中公開了這樣一種技術,其中服務器程序是由一個計算機執行的,當該計算機的CPU的服務器程序的使用率變高時,服務器程序的多重性(multiplicity)增加。
此外,在日本專利早期公開No.2000-268012中已經公開了一種技術,對于包括通過LAN相連接的多個服務器計算機和負載分發裝置的客戶服務器系統,當施加在服務器計算機上的負載超過閾值時,負載分發裝置暫停接受來自終端的事務。
專利文件1日本專利早期公開No.2001-160040專利文件2日本專利早期公開No.2000-268012發明內容發明要解決的問題大規模信息系統是由多個應用服務器和一個或多元數據庫服務器構成的。當用戶訪問網頁時,應用服務器執行用于該網頁的相應應用,并且隨后向終端發送用于該網頁的數據,同時包括執行結果。數據庫服務器在接收到來自應用服務器的數據庫訪問請求之后訪問數據庫。對于這樣的信息系統,重要的是,關于接收自用戶終端的事務的響應時間應當被保持在可容許的時間范圍內,并且在用戶的操作中應當防止長的延遲。然而,對于上述的技術來說,被施加到服務器程序和服務器計算機上的負載被維持在恒定水平或更低,并且不能基于關于事務的響應時間來執行控制處理。此外,不能執行適用于應用服務器和數據服務器兩者的負載控制處理。
因此,本發明的一個目的是提供一種可以解決上述問題的信息系統、負載控制方法、負載控制程序和記錄媒體。通過利用本發明獨立權利要求中描述的特征的組合,同時使用從屬權利要求來限定本發明附加的有益實施例,可以實現該目的。
解決上述問題的手段根據本發明的第一方面,提供了一種包括多個應用服務器和數據庫服務器的信息系統,其中每個應用服務器可以執行用于處理來自終端的事務的至少一個應用程序,并且數據庫服務器用于基于從所述多個應用服務器中的任何一個接收的請求而訪問數據庫,該信息系統包括處理時間監視單元,用于監視應用程序處理所述應用服務器接收到的事務所需的處理時間段;瓶頸標識單元,用于基于處理時間段的監視結果,在所述處理時間段不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸;以及負載控制器,用于減少被標識為具有瓶頸的應用服務器上的應用程序的多重性。并且,提供了與所述信息系統有關的負載控制方法、負載控制程序和記錄媒體。
應當注意,本發明的綜述沒有列舉本發明所需的所有特征,并且這些特征的次級組合也可以構成本發明。
發明的優點根據本發明,對于包括多個應用服務器和數據庫服務器的信息系統,可以執行與每個應用服務器上的事務所需的處理時間相一致的適當負載控制處理。


圖1示出了根據本發明一種實施方式的信息系統10的配置。
圖2示出了根據本發明實施方式的信息系統10所執行的瓶頸標識過程。
圖3示出了根據本發明實施方式的信息系統10所采用的高負載確定方法。
圖4示出了根據本發明實施方式在負載控制信息存儲單元177中存儲的示例性負載控制信息。
圖5示出了根據本發明實施方式的計算機900的示例性硬件配置。
具體實施例方式
下面將參考本發明的一種實施方式來描述本發明。然而,根據權利要求的本發明不限于下述實施方式,并且本發明的解決方案并不需要在該實施方式中所解釋的特征的全部組合。
圖1中示出了根據該實施方式的信息系統10的配置。根據該實施方式的信息系統10監視多個應用服務器120處理事務以及處理被施加到多個應用服務器120和數據庫服務器150上的負載所需的時間段,并且使用監視結果來執行適當的負載控制以解決應用服務器120或數據庫服務器150的瓶頸。此外,當對應于多種事務的多種類型的應用程序被合并和執行時,該實施方式的信息系統10可以適當地執行負載控制,使得對應用程序的性能劣化起作用的因素不會對另一應用程序的處理性能產生不利影響。
信息系統10是經由網絡110(例如因特網或內聯網)連接到使用信息系統10的用戶所使用的多個終端100的計算機系統。信息系統10包括多個應用服務器(WASWeb應用服務器)120、數據庫服務器(DBS)150和負載控制服務器160。
多個WAS 120中的每個是執行用于處理從終端100接收的事務(例如HTTP請求)的至少一個應用程序的服務器計算機,其中至少一個應用程序包括Java(注冊商標)小服務程序或JSP(Java服務器頁)。WAS 120接著還向終端100發送包括執行結果的網頁。在應用程序的執行期間,WAS120基于應用程序發出的指令,請求DBS 150訪問數據庫(DB)152。
DBS 150是這樣的服務器計算機,其基于從多個WAS 120中的任何一個接收的請求來訪問DB 152,并且作為應答,將訪問結果發送到作為請求源的WAS 120。負載控制服務器160監視多個WAS 120處理事務和被施加到多個WAS 120和DBS 150上的處理負載所需的時間段,并且基于監視結果提供用于信息系統的負載控制。
現在將描述WAS 120、DBS 150和負載控制服務器160的布置。多個WAS 120中的每個包括HTTP服務器125、Web應用服務器130、處理時間獲取單元140、處理負載獲取單元142和服務器負載控制器144。HTTP服務器125接收來自終端100的事務,并且作為應答,向終端100發送與該事務相對應的網頁。在該布置中,HTTP服務器125可以由作為物理上單獨單元的服務器來運行。
Web應用服務器130根據接收自終端100的事務,執行至少一個應用程序134。在該實施方式中,對于多個WAS 120的每個所提供的Web應用服務器130執行應用程序134,應用程序134是從多種類型的應用程序134中選擇的,并且與接收自終端100的事務的類型相一致。在該情形中,為多種類型的應用程序134指定在WAS 120上執行的優先級。更具體地說,多種類型的應用程序134根據優先級被分類成多個組,并且以被指定用于各個應用程序134所屬的組的優先級而被執行。
Web應用服務器130包括多重性控制器132、DB訪問控制器136和DB連接池138。多重性控制器132控制多個應用程序134應當被并發執行的多重性。在該情形中,應用程序134的多重性指示與在同一時間接收到的相同類型的多個事務相一致的、要被并發執行的應用程序的最大數目。
DB訪問控制器136一起處理由多種類型的應用程序134發出的對DB152的訪問請求。然后,DB訪問控制器136為每個應用程序134分配的DB連接139,使得可以在DBS 150側標識多個應用程序134的優先級。更具體地說,DB訪問控制器136通過使用對于每個優先級來說不同的用戶ID而被連接到DBS 150,使得可以在DBS 150側標識訪問請求的優先級。
DB連接池138包括多個DB連接139。每個DB連接139用作DBS 150的連接點,用于發出訪問DB 152的請求。
上面描述的多重性控制器132和DB訪問控制器136可以以下述方式獲得,即,使得WAS 120執行例如提供下述框架的一組類功能,其中單個WAS 120利用所述框架合并并高效運行多種類型的應用程序134。
處理時間獲取單元140從多重性控制器132和DB訪問控制器136獲得個體事務處理時間,并且獲得例如用于每個應用程序134的處理時間和用于數據庫處理時間的統計信息。此時,應用程序134處理接收自終端100的事務的處理時間也被稱為事務響應時間。當一個應用程序134所需要的處理時間不在可容許的范圍內時,處理時間獲取單元140向負載控制服務器160通知服務級別劣化事件,該服務級別劣化事件指示對于相關的應用程序134,服務級別已被降低。在該情形中,處理時間獲取單元140可以在服務級別劣化事件中包括諸如數據庫處理時間的信息,以用來通知負載控制服務器160。
處理負載獲取單元142通過使用性能監視功能(例如,WAS 120運行的操作系統),獲得一個或多個應用服務器資源的消耗量(該應用服務器資源由WAS 120擁有,并且是要被應用程序134使用的資源),并且獲得用于應用服務器資源的消耗量的統計信息。然后,當應用服務器資源的消耗量沒有落入可容許的范圍內的時候,處理負載獲取單元142將系統資源高負載事件通知給負載控制服務器160,該系統資源高負載事件指示用于應用服務器資源的處理負載很可能過載。在上述處理期間,處理負載獲取單元142可以獲得每個應用程序134所消耗的應用服務器資源總量,并且當應用程序134消耗的資源量沒有落入可容許的范圍內時,可以向負載控制服務器160提供系統資源高負載事件的通知。或者與此不同,處理負載獲取單元142可以獲得所有應用程序134所消耗的應用服務器資源量,并且當消耗量沒有在可容許的范圍內時,可以向負載控制服務器160提供系統資源高負載事件的通知。
服務器負載控制器144根據負載控制服務器160執行的負載控制處理,執行被施加到WAS 120的負載控制。在本實施方式中,作為用于WAS 120的負載控制,服務器負載控制器144改變應用程序134的多重性。DBS 150包括DB 152、DB處理請求I/F 153、DB引擎154、處理負載獲取單元156和服務器負載控制器158。要被個體應用程序134訪問的數據被存儲在DB 152中。多個DB處理請求I/F 153被布置為與DB連接139相一致,并且用作WAS 120發出對DB 152的訪問請求的連接點。在該實施方式中,WAS 120連接到與用戶ID相一致的DB處理請求I/F 153,其中用戶ID根據多個應用程序134中每個的優先級而不同。因此,基于用戶ID,DBS 150可以標識曾發出訪問請求的應用程序134的優先級。
DB引擎154基于訪問請求(例如SQL命令)而訪問DB 152,其中訪問請求是由多個WAS 120中的每個基于用于多個應用程序134中每個的指令而已被發出的。處理負載獲取單元15通過使用由DBS 150運行的操作系統的性能監視功能,來獲得例如一個或多個數據庫服務器資源的消耗量(所述數據庫服務器資源由DBS 150所擁有,并且被應用程序134用來訪問DB 152),并且獲得用于數據庫服務器資源的消耗量的統計信息。然后,當一個數據庫服務器資源的消耗量不在可容許的范圍內時,處理負載獲取單元156向負載控制服務器160通知已經發生了系統資源高負載事件,該系統資源高負載事件指示用于數據庫服務器資源的處理器負載很高。在上面的處理中,處理負載獲取單元156可以獲得被提供用于每個DB處理請求I/F 153的數據庫服務器資源的消耗量,并且當相應應用程序134所消耗的量不在可容許的范圍內時,可以向負載控制服務器160提供系統資源高負載事件的通知。或者與此不同,處理負載獲取單元156可以獲得被所有DB處理請求I/F 153所消耗的總的數據庫服務器資源量,并且當消耗量不在可容許的范圍內時,可以向負載控制服務器160提供系統資源高負載事件的通知。
服務器負載控制器158根據負載控制服務器160執行的負載控制處理,控制被施加到DBS 150上的負載。作為服務器負載控制器158的負載控制,該實施方式中的服務器負載控制器158改變用于訪問DB 152的DB處理請求I/F 153的優先級。
負載控制器160包括處理時間監視單元165、瓶頸標識單元170、處理負載監視單元190和負載控制器175。處理時間監視單元165為每個WAS120監視每個應用程序134處理事務所需的處理時間。處理時間監視單元165使用接收自每個WAS 120的服務級別劣化事件來檢測事務處理時間是否超過可容許的范圍。
瓶頸標識單元170使用所獲得的用于多個WAS 120上的事務處理時間的監視結果,來在至少一個WAS 120中或DBS 150中標識瓶頸。處理負載監視單元190為每個WAS 120監視一個或多個應用服務器資源消耗的量以及一個或多個數據庫服務器資源消耗的量。在該實施方式中,基于從WAS 120和DBS 150接收的系統資源高負載事件,處理負載監視單元190檢測由系統資源高負載事件標識的應用服務器資源或數據庫服務器資源的消耗量是否超過可容許的范圍。
當在WAS 120或DBS 150中的至少一個之中標識了瓶頸時,負載控制器175執行負載控制處理以從已經標識出瓶頸的服務器中去除瓶頸。
負載控制器175包括負載控制信息存儲單元177、負載控制信息獲取單元179和負載控制處理器181。在負載控制信息存儲單元177中,存儲了與已被標識為具有瓶頸的服務器和已被檢測為相關服務器的高負載的資源相關聯的用于指定要被負載控制器175的負載控制處理器181執行的負載控制處理的負載控制信息。此外,負載控制信息存儲單元177存儲多組應用程序134、所述多個組的優先級、以及指示可被指定用于應用程序134的多重性的多重性信息。負載控制信息獲取單元179從負載控制信息存儲單元177獲得與被瓶頸標識單元170標識為具有瓶頸的服務器有關的負載控制信息,并且該負載控制信息與被處理負載監視單元190確定為高負載的資源相一致。之后,負載控制信息獲取單元179將負載控制信息輸出到負載控制處理器181。負載控制處理器181隨后執行負載控制信息中指定的負載控制處理,以便去除如此標識的服務器的瓶頸。在負載控制處理期間,負載控制處理器181向作為負載控制目標的WAS 120中的服務器負載控制器144或DBS 150中的服務器負載控制器158發送服務器負載控制指令。
根據上面描述的信息系統10,每個應用服務器120所需的事務處理時間和被施加到每個應用服務器120和數據庫150上的處理負載被監視,并且基于監視結果,用于去除瓶頸的負載控制處理可以被適當地選擇并被執行。
圖2中示出了本實施方式中的信息系統10所執行的瓶頸標識處理。
首先,處理時間監視單元165從一個或多個WAS 120接收被提供用于一個或多個服務級別劣化事件的通知,并且檢測事務處理時間是否超過可容許的范圍。瓶頸標識單元170基于所獲得的用于多個WAS 120的處理時間的監視結果,標識瓶頸的位置。更具體地說,瓶頸標識單元170基于所獲得的用于每個WAS 120的個體應用程序134的處理時間的監視結果,標識瓶頸的位置。
首先,在從大于或等于一個WAS 120到小于或等于閾值數目的WAS120的范圍內處理時間超過可容許范圍的條件下(步驟S200是),在處理時間未在可容許范圍內的WAS 120中標識出瓶頸(S220)。此時,對于大于或等于一個WAS 120到小于或等于閾值數目的WAS 120,在處理時間沒有落入可容許范圍內的情形中(S200是),并且在對于處理時間未在可容許范圍內的WAS 120來說由另一應用程序134所需的處理時間也未在可容許范圍內的條件下(S210是),瓶頸標識單元170可以將相關的WAS 120標識(S220)為具有瓶頸。或者當另一應用程序134所需要的處理時間在可容許范圍內時(S210否),與用于該應用程序134的事務的具體入口(entry)有關的資源可以被標識為瓶頸(S230)。WAS 120數目的閾值小于WAS 120的數目,并且可以例如由信息系統10的管理員預先指定。
當多于閾值數目的WAS 120的處理時間不在可容許范圍內的時候(S200否,S240是),DBS 150被標識為具有瓶頸,其是整個信息系統10的公共資源。此時,在多于閾值數目的WAS 20不在可容許范圍內的情形中(S200否,S240是),并且在對于同一WAS 120來說另一事務所需的處理時間也不在可容許范圍內的條件下(S250是),瓶頸標識單元170可以將DBS 150標識(S260)為具有瓶頸。或者當其它類型事務所需要的處理時間在可容許范圍內時(S250否),與和相關應用程序134相一致的事務有關的資源可以被標識為瓶頸(S270)。
本實施方式中的瓶頸標識單元170執行用于每個應用程序134或每組應用程序134的上述處理。即,在一個應用程序134或屬于組中的應用程序134之一所需要的處理時間不在可容許范圍內的條件下,瓶頸標識單元170在用于相關應用程序134的WAS 120中或者在屬于相關組的應用程序134之一當中標識瓶頸。具體地說,當對于小于或等于閾值數目的WAS 120來說一個應用程序134或屬于一個組的應用程序所需的處理時間沒有落在可容許范圍內時,瓶頸標識單元170在這些WAS 120中標識瓶頸。對于多于閾值數目的WAS 120,當一個應用程序134或屬于一個組的應用程序所需的處理時間超過預定的可容許范圍時,DBS 150被標識為具有瓶頸。
根據上述的瓶頸標識單元170,處理時間沒有落入預定的可容許范圍內的WAS 120可以被標識為具有瓶頸。更具體地說,在處理時間沒有落入可容許范圍內的WAS 120的數目小于或等于閾值的條件下,瓶頸標識單元170將WAS 120標識為具有瓶頸。當處理時間沒有落入可容許范圍內的WAS 120的數目超過閾值時,DBS 150可以被標識為具有瓶頸。即,當閾值例如是1時,并且當處理時間沒有落入可容許范圍內的WAS 120的數目是1時,瓶頸標識單元170將該WAS 120標識為具有瓶頸。當WAS 120的數目是2或者更多時,DBS 150可以被標識為具有瓶頸。此外,當閾值例如是(WAS 120的數目-1)時,并且當所有WAS 120的處理時間沒有落在可容許范圍內時,DBS 150被標識為具有瓶頸。并且,當處理時間沒有落在可容許范圍內的WAS 120的數目是1或者小于WAS的數目時,這些WAS 120可以被標識為具有瓶頸。
結果,信息系統10可以確定具體WAS 120的服務級別是否已被降低,或者整個信息系統10公用的DBS 150是否已經變成可引起多個WAS 120的服務級別劣化的瓶頸,并且可以適當地標識瓶頸的位置。此時,瓶頸標識單元170可以使用不同于S210或S250等的條件來指定更詳細的瓶頸位置。
在上述處理期間,處理時間的可容許范圍可以基于例如下面預定的基準來確定。具體地說,當在預定的時段(例如60秒)期間預定的數目或更多的事務被某個應用程序134處理時,并且當該應用程序134處理預定比率(例如50%)的事務所需要的處理時間超過可容許的處理時間時,處理時間監視單元165確定,應用程序134所需的處理時間超過可容許范圍。在該情形中,可容許的處理時間是通過向在一時段(例如過去的一個月)期間在峰值負載期間每個事務的平均處理時間添加偏移時間而定義的,其中偏移時間是基于標準偏差確定的。
圖3中示出了本實施方式中的信息系統10所使用的高負載確定方法。當建立與要被監視的多個資源相對應的“檢測條件”所指定的條件時,處理負載獲取單元142和處理負載獲取單元156檢測在這些資源上施加的高負載。并且,當對被施加到相關資源上的高負載的檢測被執行并且“確定條件”所指定的條件(例如次數)被滿足時,所消耗的資源量超過可容許的范圍,并且高負載狀態被確定。然后,用于相關資源的系統資源高負載事件被發送到處理負載監視單元190。此外,當資源高負載通知已被發送后,并且當對被施加到資源的高負載的檢測未被執行并且“取消條件”所指定的條件(例如次數)被滿足時,系統資源高負載取消事件被發送到處理負載監視單元190,該系統資源高負載取消事件指示高負載不再被施加到相關的資源之上。在接收到該事件之后,處理負載監視單元190確定高負載不再被施加到系統資源之上。
處理負載獲取單元156使用“檢測條件”、“確定條件”和“取消條件”來確定高負載是否被施加到多個數據庫服務器資源中的每個之上,多個數據庫服務器資源中的每個被描述為“瓶頸位置類型”欄中的“公用資源(DBS)。在該情形中,本實施方式中的處理負載獲取單元156使用這些條件來確定高負載是否被施加到多個數據庫服務器資源(包括處理器、盤、存儲器和數據庫緩沖)中的每個之上。
對于處理器,存在存儲數據庫的盤、存儲DB 152的訪問日志的盤、以及存儲除了數據庫和訪問日志之外的文件的盤,并且當數據庫資源的使用率是“平均來說,在n秒內大于或等于x%”時,處理負載獲取單元156檢測出高負載。當在監視時段期間該高負載狀態被重復檢測到m次時,處理負載獲取單元156確定高負載已被施加到數據庫資源之上,并且向處理負載監視單元190發送系統資源高負載事件。此外,當在系統資源高負載事件已被發送到處理負載監視單元190之后高負載狀態沒有被重復檢測到f次時,處理負載獲取單元156向處理負載監視單元190發送系統資源高負載取消事件。
此外,當對DBS 150中安裝的實際存儲器的分頁(paging)已經發生了“平均來說,在n秒內大于或等于x次”時,假定大量存儲器空間已被消耗并且頻繁發生交換,并且檢測到高負載。此外,當DB引擎154使用的數據庫緩沖的緩沖錯失率(miss ratio)為“平均來說,在n秒內大于或等于x%”時,假定緩沖大小不足,并且檢測到高負載。處理負載獲取單元156隨后執行對用于這些數據庫服務器資源的系統資源高負載事件和系統資源高負載取消事件的通知,執行的方式與用于處理器的系統資源高負載事件和系統資源高負載取消事件等相同。
每個WAS 120上的處理負載獲取單元142使用“檢測條件”、“確定條件”和“取消條件”來確定高負載是否已被施加到多個應用服務器資源中的每個之上,其中使用“瓶頸位置類型”欄中的“WAS”來描述多個應用服務器資源。此時,本實施方式中的處理負載獲取單元142使用“檢測條件”、“確定條件”和“取消條件”來確定高負載是否已被施加到每個數據庫服務器資源(例如處理器、盤、存儲器、和JVM(Java虛擬機)存儲器)以及多個應用服務器中的每個并且包括DB連接之上。
處理負載獲取單元142和處理負載獲取單元156執行對于處理器、盤和存儲器的高負載的檢測和事件的發送。此外,當執行構成Web應用服務器130的多種程序或模塊的JVM執行“在n秒內,大于或等于x次的垃圾收集”時,處理負載獲取單元142假定分配給JVM的存儲器太小,并且檢測到高負載。并且,處理負載獲取單元142發送用于JVM存儲器的系統資源高負載事件和系統資源高負載取消事件的通知,發送的方式與用于處理器的系統資源高負載事件和系統資源高負載取消事件的通知等相同。
此外,當使用DB連接139的多重性已達到上限時,處理負載獲取單元142假定DB連接不足并且檢測到高負載。當處理負載獲取單元142檢測到高負載已被施加到DB連接之上時,處理負載獲取單元142向處理負載監視單元190發送系統資源高負載事件,并且直到相關的WAS 120被暫停,才向處理負載監視單元190發送指示不再施加高負載的通知。
此外,處理負載獲取單元142使用“檢測條件”、“確定條件”和“取消條件”來確定是否由于應用程序134的處理的影響,高負載已被施加到每個資源(例如WAS 120的處理器、DBS 150的處理器和DBS 150的盤)之上,這些資源被描述為“瓶頸位置類型”欄中的“與事務有關的資源”。
當DBS 150訪問DB 152所需的處理時間的比率等于或低于WAS 120的處理器執行與事務相一致的應用程序134的整個處理時間的x%時,處理負載獲取單元142假定WAS 120的處理器所需的處理時間的比率為高,并且檢測到高負載。并且,當檢測到高負載時,處理負載獲取單元142向處理負載監視單元190發送系統資源高負載事件。當檢測條件指示的狀態在n秒內沒有發生時,系統資源高負載取消事件被發送給處理負載監視單元190。
而且,當DBS 150訪問DB 152所需的處理時間的比率等于或高于DBS150的處理器執行與事務相一致的應用程序134的整個處理時間的x%時,處理負載獲取單元142假定DBS 150的處理器所需的處理時間的比率為高,并且檢測到高負載。當檢測到高負載時,處理負載獲取單元142向處理負載監視單元190發送系統資源高負載事件。并且,當在n秒內沒有發生檢測到高負載時,系統資源高負載取消事件被發送給處理負載監視單元190。當系統資源高負載事件被接收時,并且當DBS 150在n秒內標識出DBS 150的處理器是瓶頸的時候,處理負載監視單元190確定高負載已被施加到與事務相一致的DBS 150的處理器上。此外,與用于DBS 150的處理器的方式相同,處理負載獲取單元142確定高負載已被施加到與事務相一致的DBS 150的盤上。
處理負載監視單元190使用上述的系統資源高負載事件和系統資源高負載取消事件作為示例,來確定高負載是否已被施加到由WAS 120和DBS150中的每個所擁有的多個資源中的每個之上。此時,處理負載監視單元190可以將與每個資源相對應的“檢測條件”、“確定條件”和“取消條件”保持為文件,所述文件例如被存儲在負載控制服務器160的存儲設備中,并且這些條件可以基于由信息系統10的管理員輸入的指令等而被改變。
而且,當系統資源高負載事件被處理負載獲取單元142發送用于每個應用程序134時,并且當系統資源高負載事件被處理負載獲取單元156發送用于每個DB處理請求I/F 153時,瓶頸標識單元可以更準確地標識引起瓶頸的應用程序134。
圖4中示出了根據本實施方式的負載控制信息存儲單元177中存儲的負載控制信息的示例。與用于每個WAS 120的多個應用服務器資源和用于DBS 150的多個數據庫服務器資源中的每個相關聯,負載控制信息存儲單元177存儲下述負載控制信息,所述負載控制信息用于指定當在擁有相關資源的服務器中標識出瓶頸的時候并且當資源消耗量不在預定的可容許范圍內的時候,應當由負載控制器175執行的負載控制處理。在該情形中,負載控制信息存儲單元177可以存儲負載控制信息、用于指定多個負載控制處理的信息和負載控制處理的優先級排名的至少一個集合。
當標識出瓶頸的服務器所擁有的資源的消耗量不在預定的可容許范圍內的時候,負載控制信息獲取單元179將相關的資源標識為瓶頸。當資源被標識為瓶頸的時候,負載控制信息獲取單元179獲得存儲在負載控制信息存儲單元177中的與該資源相關聯的負載控制信息。更具體地說,當在WAS 120中標識出瓶頸的時候,負載控制信息獲取單元179獲得存儲在負載控制信息存儲單元177中的與WAS 120擁有的多個應用服務器資源之一相關聯的負載控制信息,并且已經被消耗的量被處理負載監視單元190確定為不在可容許的范圍內。此外,當在DBS 150中標識出瓶頸的時候,負載控制信息獲取單元179獲得存儲在負載控制信息存儲單元177中的與多個數據庫服務器資源之一相關聯的負載控制信息,已經被消耗的數據庫服務器資源量被處理負載監視單元190確定為不在可容許的范圍內。
并且,為了去除已被瓶頸標識單元170標識出瓶頸的服務器中的瓶頸,負載控制處理器181執行由負載控制信息獲取單元179獲得的負載控制信息所指定的負載控制處理。在該情形中,當由具體負載控制信息指定的具體負載控制處理已被執行后,并且當檢測出已被標識出瓶頸的服務器處的瓶頸在預定的時間段期間仍未被解決時,負載控制處理器181執行具有比負載控制信息指定的具體負載控制處理更低的優先級排名的另一負載控制處理。以此方式,當使用一種類型的負載控制處理沒有解決瓶頸時,負載控制處理器181可以執行另一負載控制處理,從而瓶頸可以被更有效率地去除。
本實施方式中的負載控制處理器181執行下面的負載控制處理。
(1)負載控制處理1負載控制處理器181減小下述組中的應用程序134的多重性,所述組具有比已被確定為處理時間不在可容許范圍內的應用程序134更低的優先級。更具體地說,負載控制處理器181經由負載控制獲取單元179從瓶頸標識單元170獲得用于具有比下述應用程序134更低優先級的組的多個組標識符,其中所述應用程序134被確定為處理時間不在可容許的范圍內。然后,負載控制處理器181指定所獲得的組標識符,并且向服務器負載控制器144發送指令以減少具有比該應用程序134更低優先級的其它應用程序134的多重性。在接收到該指令后,服務器負載控制器144減少用于指示多重性控制器132并發運行的應用程序134的數目的最大值,從而其它應用程序134的多重性可以被減少。
在已經在DBS 150中標識出瓶頸的情形中,負載控制處理器181為信息系統10中包括的每個WAS 120執行上述的負載控制處理1。因此,負載控制處理器181可以減少多重性(其中所有WAS 120根據該多重性來接受事務),并且可以相應地減少由信息系統10處理的總的事務量,從而可以減少DB 152的訪問次數。
(2)負載控制處理2負載控制處理器181執行對基于接收自下述組中的應用程序134的請求來訪問DB 152的處理的優先級的更大減少,其中所述組具有比處理時間被確定為不在可容許范圍內的應用程序134更低的優先級。更具體地說,負載控制處理器181經由負載控制信息獲取單元179從瓶頸標識單元170獲得用于具有比下述應用程序134更低優先級的組的多個組標識符,其中所述應用程序134的處理時間已被確定為不在可容許的范圍內。然后,負載控制處理器181指定所獲得的組標識符,并且向服務器負載控制器158發送指令,以減少基于來自具有比第一應用程序134更低優先級的其它應用程序134的請求而訪問DB 152的優先級。在接收到該指令之后,服務器負載控制器158減少相應DB處理請求I/F 153的處理執行優先級。
(3)負載控制處理3當瓶頸標識單元通過使用系統資源高負載事件已經標識出引起高負載被施加到下述資源上的應用程序134時,其中所述資源是存在瓶頸的服務器中的瓶頸,負載控制處理器181減少應用程序134所屬的組的多重性。更具體地說,負載控制處理器181經由負載控制信息獲取單元179從瓶頸標識單元170獲得用于引起瓶頸的應用程序134的組的組標識符。然后,負載控制處理器181指定所獲得的組標識符,并且向服務器負載控制器144發送指令以減少相關應用程序134的多重性。在接收到該指令之后,服務器負載控制器144減少用于指示多重性控制器132并發運行的應用程序134的數目的最大值,從而其它應用程序134的多重性被減少。
在DBS 150中標識出瓶頸的情形中,負載控制處理器181為信息系統10中包括的多個WAS 120中的每個執行上述的負載控制處理3。結果,負載控制處理器181可以減少接受事務的所有WAS 120的多重性,并且相應地,可以減少由信息系統10處理的總的事務量,從而可以減少DB 152的訪問次數。
(4)負載控制處理4當瓶頸標識單元170通過使用系統資源高負載事件已經標識出引起高負載被施加到下述資源上的應用程序134時,其中所述資源是存在瓶頸的服務器中的瓶頸,負載控制處理器181減少基于由執行相關應用程序134的組的應用程序134發出的請求而訪問DB 152的處理的優先級。更具體地說,負載控制處理器181經由負載控制信息獲取單元179從瓶頸標識單元170獲得已經引起瓶頸的應用程序134的組標識符。然后,負載控制處理器181指定所獲得的組標識符,并且向服務器負載控制器158發送指令,以減少基于來自相關應用程序134所屬的組中的應用程序134的請求而訪問DB 152的處理的優先級。在接收到該指令之后,服務器負載控制器158減少相應DB處理請求I/F的處理執行優先級。
(5)負載控制處理5負載控制處理器181減少處理時間已被確定為不在可容許范圍內的應用程序134的多重性。更具體地說,負載控制處理器181經由負載控制信息獲取單元179從瓶頸標識單元170獲得處理時間已被確定為不在可容許范圍內的應用程序134的組標識符。然后,負載控制處理器181指定應用程序134的組標識符,并且向服務器負載控制器144發送指令以減少相關應用程序134的多重性。在接收到該指令后,服務器負載控制器144遞減用于指示多重性控制器132并發運行的應用程序134的數目的最大值,從而應用程序134的執行的多重性可以被減少。
在DBS 150中標識出瓶頸的情形中,負載控制處理器181以和負載控制處理1相同的方式為信息系統10中包括的多個WAS 120中的每個執行上述的控制處理3。
(6)負載控制處理6負載控制處理器181減少基于接收自處理時間已被確定為不在可容許范圍內的應用程序134的請求而訪問DB 152的處理的優先級。更具體地說,負載控制處理器181經由負載控制信息獲取單元179從瓶頸標識單元170獲得處理時間已被確定為不在可容許范圍內的應用程序134的組標識符。然后,負載控制處理器181指定相關應用程序134的組標識符,并且向服務器負載控制器158發送指令,以減少基于由應用程序134接收到的請求來訪問DB 152的處理的優先級。在接收到該指令之后,服務器負載控制器158減少相應DB處理請求I/F 153的處理執行優先級。
在該實施方式中,對于DBS 150中的瓶頸,根據數據庫服務器資源之一的消耗量是否超過了可容許的范圍,圖4中示出的負載控制信息被存儲在負載控制信息存儲單元177中。
更具體地說,與處理器資源的消耗量超過可容許范圍的時候相關聯,負載控制信息存儲單元177存儲指示負載控制處理3、1、4、2、5和6將要以該優先級順序被執行的負載控制信息。此外,與存儲了數據庫的盤的消耗量超過可容許范圍的時候相關聯,負載控制信息存儲單元177存儲指示負載控制處理2、1、6和5將要以該優先級順序被執行的負載控制信息。此外,當存儲了訪問日志的盤的消耗量超過可容許的范圍時,負載控制信息存儲單元177存儲指示負載控制處理1、2、5和6將要以該優先級順序被執行的負載控制信息。此外,與存儲了除數據庫和訪問日志之外的其它項目的盤、存儲器或數據庫緩沖的消耗量超過可容許范圍的時候相關聯,負載控制信息存儲單元177存儲指示負載控制處理1和5將要以該優先級順序被執行的負載控制信息。
例如,當在DBS 150中標識出瓶頸的時候,并且當處理器資源的消耗量超過可容許范圍且處理器被標識為瓶頸,并且可以標識出DBS 150的處理器資源的消耗量不在可容許范圍內的應用程序134的時候,負載控制器175通過使用負載控制信息執行負載控制處理3。然后,負載控制器175減少WAS 120執行相關應用程序134和與該應用程序134屬于相同組的應用程序134的多重性。當DBS 150中的瓶頸并未通過該負載控制處理而被解決時,負載控制器175執行負載控制處理1,從而可以減少WAS 120執行屬于下述其它組的其它應用程序134的多重性,其中所述組具有比相關應用程序134更低的優先級。首先,通過這些處理,負載控制器175減少了極大消耗處理器資源的應用程序134所執行的處理量,以試圖減少被施加到DBS 150上的負載。當瓶頸仍未被解決時,具有比相關應用程序134更低優先級的應用程序134所執行的處理量被減少,從而被施加到DBS150上的負載可以被逐漸降低。
當還未通過使用這些負載控制處理去除瓶頸時,負載控制器175依次執行負載控制處理4和2,從而其減少在DBS 150上處理請求的另一處理的不利影響,并且它嘗試增加服務級別。只要這對于處理時間被最初確定為不在可容許范圍內的應用程序134來說不是問題,或者對于具有較高優先級的應用程序134來說不是問題,則假定可以通過使用上面提到的負載控制來去除瓶頸。然而,當響應時間仍未改進時,可以執行負載控制處理5,以減少WAS 120執行服務級別被降低的應用程序134的多重性,從而被施加到DBS 150上的負載可以被進一步減少。當通過使用負載控制處理5仍未改進響應時,負載控制器175執行負載控制處理6,并且減少基于接收自應用程序134的請求來訪問DB 152的處理的優先級。結果,由DBS 150處理的請求對另一處理的不利影響可以被減少。
對于另一示例,當在DBS 150中標識出瓶頸且存儲了數據庫的盤被標識為瓶頸時,并且當DBS 150的盤資源的消耗量不在可容許范圍內的應用程序134被標識出的時候,負載控制器175執行負載控制處理2。然后,負載控制器175減少基于屬于下述組的應用程序134的請求而訪問DB 152的處理的優先級,其中所述組具有比相關應用程序134更低的優先級。此時,當存在存儲了數據庫的多個盤時,優選地在負載控制處理2中,負載控制器175減少基于下述應用程序134的請求而訪問DB 152的處理的優先級,其中所述應用程序134屬于具有比相關應用程序134更低優先級的組,并且使用存儲了由相關應用程序134所使用的數據庫的盤。當通過使用負載控制處理2沒有解決DBS 150中的瓶頸的時候,負載控制器175依次執行負載控制處理1、6和5,直到DBS 150中的瓶頸已被解決。
此外,在這個實施方式中,對于WAS 120中的瓶頸,根據多個應用服務器資源之一的消耗量是否超過了可容許的范圍,圖4中示出的負載控制信息被存儲在負載控制信息存儲單元177中。
更具體地說,與處理器資源的消耗量超過可容許范圍的時候相關聯,負載控制信息存儲單元177存儲指示負載控制處理3、1和5將要以該優先級順序被執行的負載控制信息。此外,與存儲器、盤、JVM存儲器和DB連接超過可容許范圍的時候相關聯,負載控制信息存儲單元177存儲指示負載控制處理1和5將要被執行的負載控制信息。
例如,當在WAS 120中標識出瓶頸的時候,并且當處理器資源的消耗量超過可容許范圍且處理器被標識為瓶頸,并且可以標識出WAS 120的處理器資源的消耗量不在可容許范圍內的應用程序134的時候,負載控制器175通過使用負載控制信息執行負載控制處理3。然后,負載控制器175減少WAS 120執行相關應用程序134和與該應用程序134屬于相同組的應用程序134的多重性。當WAS 120中的瓶頸并未通過使用該負載控制處理而被解決時,負載控制器175執行負載控制處理1,從而可以減少WAS 120執行屬于下述組的其它應用程序134的多重性,其中所述組具有比相關應用程序134更低的優先級。
只要這對于處理時間被最初確定為不在可容許范圍內的應用程序134來說不是問題,或者對于具有較高優先級的應用程序134來說不是問題,則假定可以通過使用上面提到的負載控制來去除瓶頸。然而,當響應時間仍未改進時,負載控制器175可以執行負載控制處理5,以減少WAS 120執行服務級別被降低的應用程序134的多重性,從而被施加到DBS 150上的負載可以被進一步減少。
此外,對于涉及與事務的處理內容或應用程序134的處理內容有關的資源的瓶頸,本實施方式中的負載控制信息存儲單元177存儲下述負載控制信息,該負載控制信息指示出當WAS 120的處理器資源的消耗量超過可容許范圍時應當執行負載控制處理5。而且,對于涉及與事務的內容或應用程序134的處理內容有關的資源的瓶頸,負載控制信息存儲單元177存儲下述負載控制信息,該負載控制信息指示出當DBS 150的盤或處理器資源的消耗量超過可容許范圍時負載控制處理5和6應當以該優先級順序被執行。
圖5是示出了根據本發明實施方式的計算機900的示例性硬件配置的示圖。例如,根據本實施方式的計算機900通過執行負載控制程序用作負載控制服務器160。計算機900包括CPU外圍部件、包括通過主機控制器1082互連的CPU 1000、RAM 1020、圖形控制器1075和顯示設備1080;輸入/輸出部件,包括通過輸入/輸出控制器1084連接到主機控制器1082的通信接口1030、存儲設備1040和CD-ROM驅動器1060;以及傳統的輸入/輸出部件,包括連接到輸入/輸出控制器1084的ROM 1010、軟盤驅動器1050和輸入/輸出芯片1070。
主機控制器1082將RAM 1020連接到CPU 1000和圖形控制器1075,其中CPU 1000以高傳輸速率訪問RAM 1020。CPU 1000基于存儲在ROM1010和RAM 1020中的程序而運行,并且控制各個部件。圖形控制器1075獲得CPU 1000在RAM 1020中的幀緩沖中生成的圖像數據,并且作為圖像數據顯示在顯示設備1080上。與此不同,圖形控制器1075可以在內部包括用于存儲例如由CPU 100生成的圖像數據的幀緩沖。
輸入/輸出控制器1084將主機控制器1082連接到通信接口1030(其是相對快速的輸入/輸出設備)、存儲設備1040和CD-ROM驅動器1060。通信接口1030經由網絡與外部設備通信。存儲設備1040存儲計算機900所使用的程序和數據。CD-ROM驅動器1060從CD-ROM 1095讀取程序或數據,并且將程序或數據提供給存儲設備1040。
此外,ROM 1010和相對低速的輸入/輸出設備(例如軟盤驅動器1050和輸入/輸出芯片1070)被連接到輸入/輸出控制器1084。ROM 1010例如包括在計算機900被啟動時執行的啟動程序以及依賴于計算機900的硬件的程序。軟盤驅動器1050從軟盤1090讀取程序或數據,并且將程序或數據經由RAM 1020提供給存儲設備1040。輸入/輸出芯片1070例如經由并行端口、串行端口、鍵盤端口和鼠標端口來連接軟盤驅動器1050或各種類型的輸入/輸出設備。
經由RAM 1020被提供給計算機900的程序被記錄在軟盤1090上、CD-ROM 1095中或者別的記錄媒體上(例如IC卡),并且將由用戶使用。允許WAS 120用作HTTP服務器125、Web應用服務器130、處理時間獲取單元140、處理負載獲取單元142和服務器負載控制器144的程序被從記錄媒體讀取,經由通信接口1030被安裝到WAS 120中,并且由用作WAS 120的服務器計算機執行。此外,允許DBS 150用作DB 152、DB處理請求I/F 153、處理負載獲取單元156和服務器負載控制器158的程序被從記錄媒體中讀取,可以經由通信接口1030和負載控制服務器160被安裝到DBS 150中,并且由用作DBS 150的服務器計算機所執行。此外,允許計算機900用作負載控制服務器160的負載控制程序被從記錄媒體中讀取,并且被安裝在計算機900的存儲設備1040中,并且由CPU 1000執行。
安裝在WAS 120中的程序包括HTTP服務器程序;包括多重性控制模塊和DB訪問控制模塊的Web應用服務器程序;處理時間獲取模塊;處理負載獲取模塊;以及服務器負載控制模塊。這些程序和模塊允許個體WAS 120用作HTTP服務器125、包括多重性控制器132和DB訪問控制器136的Web應用服務器130、處理時間獲取單元140、處理負載獲取單元142和服務器負載控制器144。
安裝在DBS 150中的程序包括DB引擎程序、處理負載獲取模塊和服務器負載控制模塊。這些程序和模塊允許DBS 150用作DB引擎154、處理負載獲取單元156和服務器負載控制器158。
被安裝在計算機900中并且允許計算機900用作負載控制服務器160的負載控制程序包括處理時間監視模塊、瓶頸標識模塊、處理負載監視模塊、以及包括負載控制信息獲取模塊和負載控制處理模塊的負載控制模塊。該程序和這些模塊允許計算機900用作處理時間監視單元165、瓶頸標識單元170、處理負載監視單元190、以及包括負載控制信息獲取單元179和負載控制處理器181的負載控制器175。
上述的程序和模塊可以被存儲在外部的存儲媒體中。該存儲媒體不僅可以是軟盤1090或CD-ROM 1095,還可以是光記錄媒體(例如DVD或PD)、磁光記錄媒體(例如MD)、磁帶媒體或半導體存儲器(例如IC卡)。此外,被提供給連接到特殊通信網絡或因特網的服務器系統的存儲設備例如硬盤或RAM)可以被用作記錄媒體。并且,程序可以經由網絡被提供給計算機900,然后從計算機900經由負載控制服務器160被發送到WAS120或Web應用服務器130。
根據上述的信息系統10,負載控制信息存儲單元177可以存儲與被標識為具有高負載的資源和瓶頸的位置相關聯的適當負載控制處理。并且,基于負載控制信息存儲單元177中存儲的負載控制信息,負載控制器175可以適當地執行負載控制處理,例如可以改變將由WAS 120執行的應用程序134的多重性,或者可以改變用于訪問DB 152的處理的優先級。
此外,根據信息系統10,可以根據多個應用程序134中的每個所需要的處理時間,適當地改變每個應用程序134要被執行的多重性以及DBS150的訪問優先級。因此,在信息系統10并發運行多種類型的應用系統的情形中,可以自動檢測由于另一應用程序134對系統資源的異常消耗引起的特定應用程序134所提供的服務級別的劣化,并且服務級別可以在短時間段內自動轉到正常狀態。因此,所提供的信息系統10具有與由單獨的信息系統10執行多種類型的應用程序134時相同的健壯性。
已經通過使用實施方式描述了本發明。但是,本發明的技術范圍不限于該實施方式,并且對本領域技術人員來說很明顯,可以對該實施方式做出多種修改和改進。如從本發明的權利要求所見,這樣的修改或改進也可以包括在本發明的技術范圍之內。
權利要求
1.一種包括多個應用服務器和數據庫服務器的信息系統,其中每個應用服務器可以執行用于處理從終端接收的事務的至少一個應用程序,并且所述數據庫服務器用于基于從所述多個應用服務器中的任何一個接收的請求來訪問數據庫,該信息系統包括處理時間監視單元,用于監視所述應用程序處理由應用服務器接收到的事務所需的處理時間;瓶頸標識單元,用于基于處理時間的監視結果,在所述處理時間不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸;以及負載控制器,用于減少被標識為具有瓶頸的應用服務器上的應用程序的多重性。
2.如權利要求1所述的信息系統,其中所述瓶頸標識單元包括用于在對于數目小于或等于閾值的應用服務器來說所述處理時間不在預定范圍內的條件下,基于處理時間的監視結果,在所述處理時間不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸的裝置,其中所述閾值小于應用服務器計數,用于在對于數目超過閾值的應用服務器來說所述處理時間不在預定可容許范圍內的條件下,在所述數據庫服務器中標識瓶頸的裝置;其中,如果在應用服務器中標識了瓶頸,則所述負載控制器減少應用服務器上的應用程序的多重性;以及其中,如果在數據庫服務器中標識了瓶頸,則所述負載控制減少應用服務器上的應用程序的多重性。
3.如權利要求1所述的信息系統,其中,在指定了優先級并且將由應用服務器執行的多種類型的應用程序當中,所述多個應用服務器中的每個執行與從終端接收的事務類型相一致的應用程序;其中,對于所述多個應用服務器中的每個,所述處理時間監視單元監視每個應用程序進行的事務的處理時間;其中,在應用程序中之一的處理時間不在預定的可容許范圍內的條件下,所述瓶頸標識單元基于每個應用服務器的每個應用程序的處理時間的監視結果,在應用服務器中標識瓶頸;以及其中所述負載控制器減少了標識出瓶頸的應用服務器執行具有比所述那個應用程序更低優先級的應用程序的多重性。
4.如權利要求1所述的信息系統,其中,在指定了優先級并且將由應用服務器執行的多種類型的應用程序當中,所述多個應用服務器中的每個執行與從終端接收的事務類型相一致的應用程序;其中,對于所述多個應用服務器中的每個,所述處理時間監視單元監視每個應用程序進行的事務的處理時間;其中,對于數目超過預定閾值的應用服務器,如果用于應用程序之一的處理時間不在預定的可容許范圍內,則所述瓶頸標識單元基于所述多個應用服務器中每個的每個應用程序的處理時間的監視結果,在所述數據庫服務器中標識瓶頸;以及其中對于被標識為瓶頸的數據庫服務器,所述負載控制器減少其中基于由具有比所述那個應用程序更低的優先級的應用程序做出的請求而訪問數據庫的處理的優先級。
5.如權利要求1所述的信息系統,其中,在指定了優先級并且將由應用服務器執行的多種類型的應用程序當中,所述多個應用服務器中的每個執行與從終端接收的事務類型相一致的應用程序;其中,對于所述多個應用服務器中的每個,所述處理時間監視單元監視每個應用程序進行的事務的處理時間;其中,對于數目超過預定閾值的應用服務器,如果用于應用程序之一的處理時間不在預定的可容許范圍內,則所述瓶頸標識單元基于所述多個應用服務器中每個的每個應用程序的處理時間的監視結果,在所述數據庫服務器中標識瓶頸;以及其中對于被標識為瓶頸的數據庫服務器,所述負載控制器減少基于由所述那個應用程序做出的請求而訪問數據庫的處理的優先級。
6.如權利要求1所述的信息系統,還包括處理負載監視單元,用于對于每個應用服務器,監視作為應用服務器擁有的資源并由應用程序使用的應用服務器資源的消耗量;其中,如果對于數目小于或等于閾值的應用服務器來說處理時間不在預定范圍內,則所述瓶頸標識單元使用所述多個應用服務器所需要的處理時間的監視結果,以在應用服務器中標識瓶頸,其中所述閾值小于應用服務器計數,其中,對于被標識為瓶頸的應用服務器,在應用服務器資源的消耗量不在預定的可容許范圍內的條件下,所述負載控制器減少被標識為瓶頸的應用服務器執行應用程序的多重性。
7.如權利要求6所述的信息系統,其中所述處理負載監視單元還監視作為數據庫服務器擁有的資源并且在應用程序訪問數據庫的情況下將被使用的數據庫服務器資源的消耗量;其中在對于數目超過閾值的應用服務器來說所述處理時間不在預定范圍內的條件下,所述瓶頸標識單元基于所述多個應用服務器中的每個所需要的處理時間的監視結果,在數據庫服務器中標識瓶頸;以及其中,對于被標識為瓶頸的數據庫服務器,如果數據庫服務器資源的消耗量不在預定的可容許范圍內,則所述負載控制器減少所述多個應用服務器執行應用程序的多重性。
8.如權利要求1所述的信息系統,還包括處理負載監視單元,用于對于所述多個應用服務器中的每個,監視作為應用服務器擁有的資源并將由應用程序使用的多個應用服務器資源的消耗量、以及作為數據庫服務器擁有的資源并在應用程序訪問數據庫的情況下將被使用的多個數據庫服務器資源的消耗量,其中所述瓶頸標識單元使用所述多個應用服務器中每個的處理時間的監視結果,以在所述多個應用服務器的至少一個之中或數據庫服務器之中標識瓶頸,并且其中所述負載控制器包括負載控制信息存儲單元,用于存儲與應用服務器的多個應用服務器資源以及數據庫服務器的多個數據庫服務器資源相關聯的負載控制信息,所述負載控制信息指定,在包括相關資源的服務器中標識出瓶頸的情況下以及在相關資源的消耗量不在預定的可容許范圍內的情況下所述負載控制器應當執行的負載控制處理,負載控制信息獲取單元,用于在標識出瓶頸的服務器所擁有的資源的消耗量不在預定的可容許范圍的情況下,將資源標識為瓶頸,或者用于在應用服務器資源被標識為瓶頸的情況下,獲得與所述資源相關聯的被存儲在負載控制信息存儲單元中的負載控制信息,或者在數據庫服務器資源被標識為瓶頸的情況下,獲得與所述資源相關聯的被存儲在負載控制信息存儲單元中的負載控制信息,以及負載控制處理器,用于執行負載控制信息指定的負載控制處理,以便解決標識出瓶頸的服務器的瓶頸。
9.如權利要求8所述的信息系統,其中,在多種類型的應用程序當中,所述多個應用服務器中的每個執行與從終端接收的事務類型相一致的應用程序;其中,對于所述多個應用服務器中的每個,所述處理時間監視單元監視每個應用程序進行的事務的處理時間;其中,對于數據庫服務器,所述處理負載監視單元監視存儲了數據庫的盤和處理器的消耗量,所述盤和處理器都是數據庫服務器所擁有的數據庫服務器資源;其中,基于所述多個應用服務器中的每個進行的每個應用程序所需的處理時間的監視結果,在對于數目超過閾值的應用服務器來說所述那個應用程序所需的處理時間不在預定范圍的條件下,所述瓶頸標識單元在數據庫服務器中標識瓶頸;其中所述負載控制信息存儲單元存儲第一負載控制信息和第二負載控制信息,第一負載控制信息與作為數據庫服務器的應用資源的處理器相關聯,并且第二負載控制信息與存儲了數據庫的盤相關聯;其中所述負載控制信息獲取單元在標識出瓶頸的數據庫服務器所擁有的處理器的消耗量超過預定消耗量的情況下,獲得第一負載控制信息,或者在存儲了標識出瓶頸的數據庫服務器所擁有的數據庫的盤的消耗量超過了預定消耗量的情況下,獲得第二負載控制信息;其中,如果第一負載控制信息被從所述負載控制信息獲取單元接收,則所述負載控制處理器減少所述多個應用服務器執行所述那個應用程序的多重性;其中,如果第二負載控制信息被從所述負載控制信息獲取單元接收,則所述負載控制處理器降低下述處理的優先級,在所述處理中,基于下述組中的應用程序發出的請求而將訪問數據庫,其中所述組使用用于數據庫服務器的控制信息所指定的盤,并且具有比所述那個應用程序更低的優先級。
10.如權利要求8所述的信息系統,其中存儲在負載控制信息存儲單元中的負載控制信息的一個集合是用于指定多個負載控制處理和負載控制處理的多個優先級排名的信息;其中所述負載控制處理器執行由負載控制信息的一個集合指定的負載控制處理之一,并且如果所述負載控制處理器檢測出標識了瓶頸的服務器處的瓶頸在預定的設置時間段期間仍未被解決,則所述負載控制處理器執行位于比所述負載控制信息的一個集合所指定的負載控制處理更低的優先級排名的另一負載控制處理。
11.如權利要求8所述的信息系統,其中,對于多種類型的應用程序,所述多個應用服務器中的每個執行與從終端接收的事務類型相一致的應用程序;其中,如果對于數目小于或等于閾值的應用服務器來說一個應用程序的處理時間不在預定范圍內,則對于每個應用程序,所述瓶頸標識單元使用所述多個應用服務器所需的處理時間的監視結果,以在應用服務器中標識瓶頸,其中所述閾值小于應用服務器計數;其中所述負載控制器減少標識出瓶頸的應用服務器執行優先級被設置為低于所述那個應用程序的多重性;以及其中,如果檢測到應用服務器中的瓶頸在設置時段期間仍未被解決,則所述負載控制器進一步減少應用服務器執行所述那個應用程序的多重性。
12.一種負載控制方法,用于使用計算機來控制包括多個應用服務器和數據庫服務器的信息系統,其中每個應用服務器可以執行用于處理從終端接收的事務的至少一個應用程序,并且數據庫服務器用于基于從所述多個應用服務器中的任何一個接收的請求來訪問數據庫,所述方法包括下述步驟允許所述計算機監視所述應用程序處理由應用服務器接收到的事務所需的處理時間;允許所述計算機基于處理時間的監視結果,在所述處理時間不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸;以及允許所述計算機減少被標識為具有瓶頸的應用服務器上的應用程序的多重性。
13.一種負載控制程序,用于使用計算機來控制包括多個應用服務器和數據庫服務器的信息系統,其中每個應用服務器可以執行用于處理從終端接收的事務的至少一個應用程序,并且數據庫服務器用于基于從所述多個應用服務器中的任何一個接收的請求來訪問數據庫,所述負載控制程序允許所述計算機用作處理時間監視單元,用于監視所述應用程序處理由應用服務器接收到的事務所需的處理時間;瓶頸標識單元,用于基于處理時間的監視結果,在所述處理時間不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸;以及負載控制器,用于減少被標識為具有瓶頸的應用服務器上的應用程序的多重性。
14.一種記錄媒體,其上記錄了如權利要求13所述的負載控制程序。
全文摘要
本發明的一個目的是在信息系統中在各個應用服務器上根據事務所需的處理時間提供適當負載控制,其中信息系統包括多個應用服務器和數據庫服務器。本發明提供了一種信息系統,包括處理時間監視單元,用于監視應用程序處理應用服務器接收到的事務所需的處理時間;瓶頸標識單元,用于基于處理時間的監視結果,在所述處理時間不在預定的可容許范圍內的情況下,在所述多個應用服務器的至少一個中標識瓶頸;以及負載控制器,用于減少被標識為具有瓶頸的應用服務器上的應用程序的多重性。
文檔編號H04L12/24GK1875348SQ200480032109
公開日2006年12月6日 申請日期2004年10月27日 優先權日2003年10月29日
發明者井上正志 申請人:國際商業機器公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 永登县| 巧家县| 卓尼县| 兰坪| 乐昌市| 土默特左旗| 汕头市| 镇沅| 峡江县| 福建省| 平乐县| 阿尔山市| 佛山市| 喜德县| 宁蒗| 金湖县| 祁阳县| 祥云县| 四平市| 宁德市| 永城市| 丹寨县| 大荔县| 股票| 唐山市| 稷山县| 昌图县| 滨海县| 东阳市| 都昌县| 敖汉旗| 秦皇岛市| 东明县| 武夷山市| 东宁县| 吉林市| 张家川| 大新县| 商城县| 准格尔旗| 松桃|