溫馨提示×

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

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

db2進(jìn)程模型的示例分析

發(fā)布時(shí)間:2021-11-30 11:23:29 來(lái)源:億速云 閱讀:220 作者:柒染 欄目:數(shù)據(jù)庫(kù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)db2進(jìn)程模型的示例分析,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

DB2 進(jìn)程技術(shù)模型

所有 DB2 數(shù)據(jù)庫(kù)服務(wù)器使用的進(jìn)程技術(shù)模型都旨在簡(jiǎn)化數(shù)據(jù)庫(kù)服務(wù)器與客戶機(jī)之間的通信。它還確保數(shù)據(jù)庫(kù)應(yīng)用程序獨(dú)立于數(shù)據(jù)庫(kù)控制塊和關(guān)鍵數(shù)據(jù)庫(kù)文件之類(lèi)的資源。

DB2 數(shù)據(jù)庫(kù)服務(wù)器必須執(zhí)行各種不同的任務(wù),例如處理數(shù)據(jù)庫(kù)應(yīng)用程序請(qǐng)求或確保將日志記錄寫(xiě)入磁盤(pán)。通常,每項(xiàng)任務(wù)都由一個(gè)獨(dú)立的引擎可分派單元 (EDU) 執(zhí)行。

采用多線程體系結(jié)構(gòu)對(duì)于 DB2 數(shù)據(jù)庫(kù)服務(wù)器而言有很多優(yōu)點(diǎn)。由于同一進(jìn)程內(nèi)的所有線程可以共享一些操作系統(tǒng)資源,因此,新線程需要的內(nèi)存和操作系統(tǒng)資源比進(jìn)程要少。此外,在某些平臺(tái)上,線程的上下文切換時(shí)間比進(jìn)程短,這有助于提高性能。在所有平臺(tái)上使用線程模型使得 DB2 數(shù)據(jù)庫(kù)服務(wù)器更易于配置,因?yàn)檫@樣更容易根據(jù)需要分配更多 EDU,并且可以動(dòng)態(tài)分配必須由多個(gè) EDU 共享的內(nèi)存。

對(duì)于所訪問(wèn)的每個(gè)數(shù)據(jù)庫(kù),將啟動(dòng)不同的 EDU 以處理各種數(shù)據(jù)庫(kù)任務(wù),例如預(yù)取、通信和日志記錄。數(shù)據(jù)庫(kù)代理程序是一類(lèi)特殊的 EDU,創(chuàng)建它們是為了處理應(yīng)用程序?qū)?shù)據(jù)庫(kù)的請(qǐng)求。

通常,您可以依靠 DB2 數(shù)據(jù)庫(kù)服務(wù)器來(lái)管理 EDU 集合。但是,也可以通過(guò)一些 DB2 工具來(lái)管理 EDU。例如,可以使用帶有 -edus 選項(xiàng)的 db2pd 命令來(lái)列示所有活動(dòng)的 EDU 線程。

每個(gè)客戶機(jī)應(yīng)用程序連接都有一個(gè)對(duì)數(shù)據(jù)庫(kù)執(zhí)行操作的協(xié)調(diào)代理程序。協(xié)調(diào)代理程序代表應(yīng)用程序工作,并根據(jù)需要使用專(zhuān)用內(nèi)存、進(jìn)程間通信 (IPC) 或遠(yuǎn)程通信協(xié)議與其他代理程序進(jìn)行通信。

客戶機(jī)程序

客戶機(jī)程序可以是遠(yuǎn)程程序,也可以是在數(shù)據(jù)庫(kù)服務(wù)器所在機(jī)器上運(yùn)行的本地程序??蛻魴C(jī)程序首先通過(guò)通信偵聽(tīng)器與數(shù)據(jù)庫(kù)聯(lián)系。

偵聽(tīng)器

通信偵聽(tīng)器在 DB2 數(shù)據(jù)庫(kù)服務(wù)器啟動(dòng)時(shí)啟動(dòng)。每種已配置的通信協(xié)議都有一個(gè)偵聽(tīng)器,本地客戶機(jī)程序使用進(jìn)程間通信 (IPC) 偵聽(tīng)器 (db2ipccm)。偵聽(tīng)器包括:

  • db2ipccm,用于本地客戶機(jī)連接

  • db2tcpcm,用于 TCP/IP 連接

  • db2tcpdm,用于 TCP/IP 發(fā)現(xiàn)工具請(qǐng)求

代理程序

將為所有來(lái)自本地或遠(yuǎn)程客戶機(jī)程序(應(yīng)用程序)的連接請(qǐng)求分配相應(yīng)的協(xié)調(diào)代理程序 (db2agent)。創(chuàng)建協(xié)調(diào)代理程序之后,它將代表該應(yīng)用程序執(zhí)行所有數(shù)據(jù)庫(kù)請(qǐng)求。

在分區(qū)數(shù)據(jù)庫(kù)環(huán)境或者已啟用查詢(xún)內(nèi)并行性的系統(tǒng)中,協(xié)調(diào)代理程序會(huì)將數(shù)據(jù)庫(kù)請(qǐng)求分發(fā)給子代理程序(db2agntp 和 db2agnts)。與應(yīng)用程序相關(guān)聯(lián)但當(dāng)前處于空閑狀態(tài)的子代理程序名為 db2agnta。

協(xié)調(diào)代理程序可能:

  • 已通過(guò)別名連接到數(shù)據(jù)庫(kù);例如,db2agent (DATA1) 將連接到數(shù)據(jù)庫(kù)別名 DATA1。

  • 已連接到實(shí)例;例如 db2agent (user1) 將連接到實(shí)例 user1。

DB2 數(shù)據(jù)庫(kù)服務(wù)器還會(huì)將其他類(lèi)型的代理程序(例如獨(dú)立的協(xié)調(diào)代理程序或子協(xié)調(diào)代理程序)實(shí)例化,以便執(zhí)行特定的操作。例如,獨(dú)立的協(xié)調(diào)代理程序 db2agnti 用于運(yùn)行事件監(jiān)視器,而子協(xié)調(diào)代理程序 db2agnsc 用于在異常關(guān)閉后以并行方式執(zhí)行數(shù)據(jù)庫(kù)重新啟動(dòng)操作。

網(wǎng)關(guān)代理程序 (db2agentg) 是一個(gè)與遠(yuǎn)程數(shù)據(jù)庫(kù)相關(guān)聯(lián)的代理程序。它提供用于允許客戶機(jī)訪問(wèn)主機(jī)數(shù)據(jù)庫(kù)的間接連接。

空閑代理程序駐留在代理程序池中。這些代理程序可用于處理來(lái)自代表客戶機(jī)程序運(yùn)行的協(xié)調(diào)代理程序或來(lái)自代表現(xiàn)有協(xié)調(diào)代理程序運(yùn)行的子代理程序的請(qǐng)求。當(dāng)存在大量應(yīng)用程序工作負(fù)載時(shí),配備大小適當(dāng)?shù)目臻e代理程序池有助于提高性能。在這種情況下,可以根據(jù)需要立即使用空閑代理程序,而不需要為每個(gè)應(yīng)用程序連接分配新的代理程序,后一種情況涉及創(chuàng)建線程以及分配并初始化內(nèi)存和其他資源。DB2 數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)管理空閑代理池的大小。

可將合用代理程序關(guān)聯(lián)到遠(yuǎn)程數(shù)據(jù)庫(kù)或本地?cái)?shù)據(jù)庫(kù)。 在遠(yuǎn)程數(shù)據(jù)庫(kù)上合用的代理程序稱(chēng)為合用網(wǎng)關(guān)代理程序 (db2agntgp)。在本地?cái)?shù)據(jù)庫(kù)上合用的代理程序稱(chēng)為合用數(shù)據(jù)庫(kù)代理程序 (db2agentdp)。

db2fmp

受保護(hù)方式進(jìn)程負(fù)責(zé)在防火墻外執(zhí)行受防護(hù)的存儲(chǔ)過(guò)程和用戶定義的函數(shù)。db2fmp 進(jìn)程始終是獨(dú)立的進(jìn)程,但可能是多線程進(jìn)程,這取決于它執(zhí)行的例程的類(lèi)型。

db2vend

db2vend 進(jìn)程代表 EDU 執(zhí)行供應(yīng)商代碼;例如,執(zhí)行用戶出口程序以進(jìn)行日志歸檔(僅適用于 UNIX)。

數(shù)據(jù)庫(kù) EDU

以下列表包括每個(gè)數(shù)據(jù)庫(kù)使用的一些重要 EDU:

  • db2pfchr,用于緩沖池預(yù)取程序

  • db2pclnr,用于緩沖池頁(yè)清除程序

  • db2dlock,用于死鎖檢測(cè)。在分區(qū)數(shù)據(jù)庫(kù)環(huán)境中,使用另一個(gè)線程 (db2glock) 來(lái)協(xié)調(diào) db2dlock EDU 從每個(gè)分區(qū)中收集的信息;db2glock 僅對(duì)目錄分區(qū)運(yùn)行。在 db2glock EDU 用于協(xié)調(diào) db2dlockEDU 在每個(gè)db2glock EDU 在每個(gè)成員上啟動(dòng),但只有一個(gè) EDU 處于活動(dòng)狀態(tài)。

  • db2fw,事件監(jiān)視器快速寫(xiě)程序;用于對(duì)表、文件或管道進(jìn)行事件監(jiān)視器數(shù)據(jù)的大量、并行寫(xiě)入。

    • db2fwx,事件監(jiān)視器快速寫(xiě)程序線程,其中“x”標(biāo)識(shí)線程號(hào)。在數(shù)據(jù)庫(kù)激活期間,DB2 引擎會(huì)將 db2fwx線程數(shù)設(shè)置為一個(gè)值,該值對(duì)于事件監(jiān)視器性能最佳,并且會(huì)避免在運(yùn)行不同類(lèi)型的工作負(fù)載時(shí)發(fā)生潛在的性能問(wèn)題。db2fwx 線程數(shù)目等于系統(tǒng)上邏輯 CPU 的數(shù)目(對(duì)于多核心 CPU,每個(gè)核心看作一個(gè)邏輯 CPU)。對(duì)于分區(qū)數(shù)據(jù)庫(kù)環(huán)境中的實(shí)例,衍生的 db2fwx 線程數(shù)等于每個(gè)數(shù)據(jù)庫(kù)的每個(gè)成員的邏輯 CPU 數(shù)除以主機(jī)上的本地分區(qū)數(shù)。

  • db2hadrp,高可用性災(zāi)難恢復(fù) (HADR) 主服務(wù)器線程

  • db2hadrs,HADR 備用服務(wù)器線程

  • db2lfr,用于處理各個(gè)日志文件的日志文件閱讀器

  • db2loggr,用于處理日志文件以處理事務(wù)處理和恢復(fù)

  • db2loggw,用于將日志記錄寫(xiě)入日志文件

  • db2logmgr,用于日志管理器。管理可恢復(fù)數(shù)據(jù)庫(kù)的日志文件。

  • db2logts,用于跟蹤哪些表空間在哪些日志文件中有日志記錄。此信息記錄在數(shù)據(jù)庫(kù)目錄中的 DB2TSCHG.HIS 文件中。

  • db2lragen,用于對(duì)新的中央服務(wù)器線程模型生成日志序號(hào)(如果定義了具有數(shù)據(jù)庫(kù)作用域的有效 XML 資源策略)。在很大的 NUMA 系統(tǒng)中,這可能會(huì)提高性能,并且產(chǎn)生很高的更新比率。

  • db2lused,用于更新對(duì)象用途

  • db2pcsd,用于程序包高速緩存的自動(dòng)清除

  • db2redom,用于重做主進(jìn)程。在恢復(fù)期間,它處理重做日志記錄并將日志記錄指定給重做工作程序來(lái)進(jìn)行處理。

  • db2redow,用于重做工作程序。在恢復(fù)期間,它按照重做主進(jìn)程的請(qǐng)求來(lái)處理重做日志記錄。

  • db2shred,用于處理日志頁(yè)中的各個(gè)日志記錄

  • db2stmm,用于自調(diào)整內(nèi)存管理功能

  • db2taskd,用于分發(fā)后臺(tái)數(shù)據(jù)庫(kù)任務(wù)。這些任務(wù)由名為 db2taskp 的線程執(zhí)行。

  • db2wlmd,用于自動(dòng)收集工作負(fù)載管理統(tǒng)計(jì)信息

  • 事件監(jiān)視器線程的標(biāo)識(shí)方式如下:

    • g - 全局文件事件監(jiān)視器

    • gp - 全局管道事件監(jiān)視器

    • l - 本地文件事件監(jiān)視器

    • lp - 本地管道事件監(jiān)視器

    • t - 表事件監(jiān)視器

    • i - 協(xié)調(diào)程序

    • p - 不是協(xié)調(diào)程序

    • db2evm%1%2 (%3)

      其中,%1 可以是:

      %2 可以是:

      而 %3 是事件監(jiān)視器名稱(chēng)

  • 備份和復(fù)原線程的標(biāo)識(shí)方式如下:

    • %1 是用于控制備份或復(fù)原會(huì)話的代理程序的 EDU 標(biāo)識(shí)

    • %2 是用于區(qū)分屬于特定備份或復(fù)原會(huì)話的線程(可能有許多個(gè))的順序值

    • db2bm.%1.%2(備份和復(fù)原緩沖區(qū)操縱程序)和 db2med.%1.%2(備份和復(fù)原介質(zhì)控制器),其中: 例如:db2bm.13579.2 標(biāo)識(shí)具有 EDU 標(biāo)識(shí)為 13579 的 db2agent 線程控制的第二個(gè) db2bm 線程。

  • 以下數(shù)據(jù)庫(kù) EDU 用于在 

  • db2LLMn1,用于處理db2LLMn2,用于處理db2LLMng,用于確保此成員掛起的鎖定及時(shí)釋放(如果其他成員在等待這些鎖定)

  • db2LLMrl,用于處理db2LLMrc,用于處理數(shù)據(jù)庫(kù)恢復(fù)操作及  數(shù)據(jù)庫(kù)服務(wù)器線程和進(jìn)程

    系統(tǒng)控制器(在 UNIX 上為 db2sysc,在 Windows 操作系統(tǒng)上為 db2syscs.exe)必須存在,這樣數(shù)據(jù)庫(kù)服務(wù)器才能工作。以下線程和進(jìn)程執(zhí)行各種任務(wù):

    • db2acd,用于主管運(yùn)行狀況監(jiān)視器、自動(dòng)維護(hù)實(shí)用程序和管理任務(wù)調(diào)度程序的自主計(jì)算守護(hù)程序。此進(jìn)程以前稱(chēng)為 db2hmon。

    • db2aiothr,用于管理數(shù)據(jù)庫(kù)分區(qū)的異步 I/O 請(qǐng)求(僅適用于 UNIX)

    • db2alarm,用于在他們請(qǐng)求的計(jì)時(shí)器到期時(shí)通知 EDU(僅適用于 UNIX)

    • db2disp,客戶機(jī)連接集中器分派器

    • db2fcms,快速通信管理器發(fā)送方守護(hù)程序

    • db2fcmr,快速通信管理器接收方守護(hù)程序

    • db2fmd,故障監(jiān)視器守護(hù)程序

    • db2licc,管理已安裝的 DB2 許可證

    • db2panic,應(yīng)急啟動(dòng)代理程序,用于在達(dá)到代理程序限制后處理緊急請(qǐng)求。

    • db2pdbc,并行系統(tǒng)控制器,用來(lái)處理來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)分區(qū)的并行請(qǐng)求(僅用于分區(qū)數(shù)據(jù)庫(kù)環(huán)境)

    • db2resync,掃描全局再同步列表的再同步代理進(jìn)程

    • db2rocm 和 db2rocme,在 db2sysc,主系統(tǒng)控制器 EDU;它處理關(guān)鍵的 DB2 服務(wù)器事件

    • db2sysc(空閑),DB2 空閑進(jìn)程,它們?cè)试S在主機(jī)上快速輕量級(jí)重新啟動(dòng)訪客db2thcln,在 EDU 終止時(shí)重新啟動(dòng)資源(僅適用于 UNIX)

    • db2wdog,在 UNIX 和 Linux 操作系統(tǒng)上處理異常終止的看守程序

    • db2wlmt,WLM 分派器調(diào)度線程

    • db2wlmtm,WLM 分派器計(jì)時(shí)器線程

上述就是小編為大家分享的db2進(jìn)程模型的示例分析了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

db2
AI