我的编程空间,编程开发者的网络收藏夹
学习永远不晚

db2进程模型的示例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

db2进程模型的示例分析

这期内容当中小编将会给大家带来有关db2进程模型的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

DB2 进程技术模型

所有 DB2 数据库服务器使用的进程技术模型都旨在简化数据库服务器与客户机之间的通信。它还确保数据库应用程序独立于数据库控制块和关键数据库文件之类的资源。

DB2 数据库服务器必须执行各种不同的任务,例如处理数据库应用程序请求或确保将日志记录写入磁盘。通常,每项任务都由一个独立的引擎可分派单元 (EDU) 执行。

采用多线程体系结构对于 DB2 数据库服务器而言有很多优点。由于同一进程内的所有线程可以共享一些操作系统资源,因此,新线程需要的内存和操作系统资源比进程要少。此外,在某些平台上,线程的上下文切换时间比进程短,这有助于提高性能。在所有平台上使用线程模型使得 DB2 数据库服务器更易于配置,因为这样更容易根据需要分配更多 EDU,并且可以动态分配必须由多个 EDU 共享的内存。

对于所访问的每个数据库,将启动不同的 EDU 以处理各种数据库任务,例如预取、通信和日志记录。数据库代理程序是一类特殊的 EDU,创建它们是为了处理应用程序对数据库的请求。

通常,您可以依靠 DB2 数据库服务器来管理 EDU 集合。但是,也可以通过一些 DB2 工具来管理 EDU。例如,可以使用带有 -edus 选项的 db2pd 命令来列示所有活动的 EDU 线程。

每个客户机应用程序连接都有一个对数据库执行操作的协调代理程序。协调代理程序代表应用程序工作,并根据需要使用专用内存、进程间通信 (IPC) 或远程通信协议与其他代理程序进行通信。

客户机程序

客户机程序可以是远程程序,也可以是在数据库服务器所在机器上运行的本地程序。客户机程序首先通过通信侦听器与数据库联系。

侦听器

通信侦听器在 DB2 数据库服务器启动时启动。每种已配置的通信协议都有一个侦听器,本地客户机程序使用进程间通信 (IPC) 侦听器 (db2ipccm)。侦听器包括:

  • db2ipccm,用于本地客户机连接

  • db2tcpcm,用于 TCP/IP 连接

  • db2tcpdm,用于 TCP/IP 发现工具请求

代理程序

将为所有来自本地或远程客户机程序(应用程序)的连接请求分配相应的协调代理程序 (db2agent)。创建协调代理程序之后,它将代表该应用程序执行所有数据库请求。

在分区数据库环境或者已启用查询内并行性的系统中,协调代理程序会将数据库请求分发给子代理程序(db2agntp 和 db2agnts)。与应用程序相关联但当前处于空闲状态的子代理程序名为 db2agnta。

协调代理程序可能:

  • 已通过别名连接到数据库;例如,db2agent (DATA1) 将连接到数据库别名 DATA1。

  • 已连接到实例;例如 db2agent (user1) 将连接到实例 user1。

DB2 数据库服务器还会将其他类型的代理程序(例如独立的协调代理程序或子协调代理程序)实例化,以便执行特定的操作。例如,独立的协调代理程序 db2agnti 用于运行事件监视器,而子协调代理程序 db2agnsc 用于在异常关闭后以并行方式执行数据库重新启动操作。

网关代理程序 (db2agentg) 是一个与远程数据库相关联的代理程序。它提供用于允许客户机访问主机数据库的间接连接。

空闲代理程序驻留在代理程序池中。这些代理程序可用于处理来自代表客户机程序运行的协调代理程序或来自代表现有协调代理程序运行的子代理程序的请求。当存在大量应用程序工作负载时,配备大小适当的空闲代理程序池有助于提高性能。在这种情况下,可以根据需要立即使用空闲代理程序,而不需要为每个应用程序连接分配新的代理程序,后一种情况涉及创建线程以及分配并初始化内存和其他资源。DB2 数据库服务器自动管理空闲代理池的大小。

可将合用代理程序关联到远程数据库或本地数据库。 在远程数据库上合用的代理程序称为合用网关代理程序 (db2agntgp)。在本地数据库上合用的代理程序称为合用数据库代理程序 (db2agentdp)。

db2fmp

受保护方式进程负责在防火墙外执行受防护的存储过程和用户定义的函数。db2fmp 进程始终是独立的进程,但可能是多线程进程,这取决于它执行的例程的类型。

db2vend

db2vend 进程代表 EDU 执行供应商代码;例如,执行用户出口程序以进行日志归档(仅适用于 UNIX)。

数据库 EDU

以下列表包括每个数据库使用的一些重要 EDU:

  • db2pfchr,用于缓冲池预取程序

  • db2pclnr,用于缓冲池页清除程序

  • db2dlock,用于死锁检测。在分区数据库环境中,使用另一个线程 (db2glock) 来协调 db2dlock EDU 从每个分区中收集的信息;db2glock 仅对目录分区运行。在 db2glock EDU 用于协调 db2dlockEDU 在每个db2glock EDU 在每个成员上启动,但只有一个 EDU 处于活动状态。

  • db2fw,事件监视器快速写程序;用于对表、文件或管道进行事件监视器数据的大量、并行写入。

    • db2fwx,事件监视器快速写程序线程,其中“x”标识线程号。在数据库激活期间,DB2 引擎会将 db2fwx线程数设置为一个值,该值对于事件监视器性能最佳,并且会避免在运行不同类型的工作负载时发生潜在的性能问题。db2fwx 线程数目等于系统上逻辑 CPU 的数目(对于多核心 CPU,每个核心看作一个逻辑 CPU)。对于分区数据库环境中的实例,衍生的 db2fwx 线程数等于每个数据库的每个成员的逻辑 CPU 数除以主机上的本地分区数。

  • db2hadrp,高可用性灾难恢复 (HADR) 主服务器线程

  • db2hadrs,HADR 备用服务器线程

  • db2lfr,用于处理各个日志文件的日志文件阅读器

  • db2loggr,用于处理日志文件以处理事务处理和恢复

  • db2loggw,用于将日志记录写入日志文件

  • db2logmgr,用于日志管理器。管理可恢复数据库的日志文件。

  • db2logts,用于跟踪哪些表空间在哪些日志文件中有日志记录。此信息记录在数据库目录中的 DB2TSCHG.HIS 文件中。

  • db2lragen,用于对新的中央服务器线程模型生成日志序号(如果定义了具有数据库作用域的有效 XML 资源策略)。在很大的 NUMA 系统中,这可能会提高性能,并且产生很高的更新比率。

  • db2lused,用于更新对象用途

  • db2pcsd,用于程序包高速缓存的自动清除

  • db2redom,用于重做主进程。在恢复期间,它处理重做日志记录并将日志记录指定给重做工作程序来进行处理。

  • db2redow,用于重做工作程序。在恢复期间,它按照重做主进程的请求来处理重做日志记录。

  • db2shred,用于处理日志页中的各个日志记录

  • db2stmm,用于自调整内存管理功能

  • db2taskd,用于分发后台数据库任务。这些任务由名为 db2taskp 的线程执行。

  • db2wlmd,用于自动收集工作负载管理统计信息

  • 事件监视器线程的标识方式如下:

    • g - 全局文件事件监视器

    • gp - 全局管道事件监视器

    • l - 本地文件事件监视器

    • lp - 本地管道事件监视器

    • t - 表事件监视器

    • i - 协调程序

    • p - 不是协调程序

    • db2evm%1%2 (%3)

      其中,%1 可以是:

      %2 可以是:

      而 %3 是事件监视器名称

  • 备份和复原线程的标识方式如下:

    • %1 是用于控制备份或复原会话的代理程序的 EDU 标识

    • %2 是用于区分属于特定备份或复原会话的线程(可能有许多个)的顺序值

    • db2bm.%1.%2(备份和复原缓冲区操纵程序)和 db2med.%1.%2(备份和复原介质控制器),其中: 例如:db2bm.13579.2 标识具有 EDU 标识为 13579 的 db2agent 线程控制的第二个 db2bm 线程。

  • 以下数据库 EDU 用于在 

  • db2LLMn1,用于处理db2LLMn2,用于处理db2LLMng,用于确保此成员挂起的锁定及时释放(如果其他成员在等待这些锁定)

  • db2LLMrl,用于处理db2LLMrc,用于处理数据库恢复操作及  数据库服务器线程和进程

    系统控制器(在 UNIX 上为 db2sysc,在 Windows 操作系统上为 db2syscs.exe)必须存在,这样数据库服务器才能工作。以下线程和进程执行各种任务:

    • db2acd,用于主管运行状况监视器、自动维护实用程序和管理任务调度程序的自主计算守护程序。此进程以前称为 db2hmon。

    • db2aiothr,用于管理数据库分区的异步 I/O 请求(仅适用于 UNIX)

    • db2alarm,用于在他们请求的计时器到期时通知 EDU(仅适用于 UNIX)

    • db2disp,客户机连接集中器分派器

    • db2fcms,快速通信管理器发送方守护程序

    • db2fcmr,快速通信管理器接收方守护程序

    • db2fmd,故障监视器守护程序

    • db2licc,管理已安装的 DB2 许可证

    • db2panic,应急启动代理程序,用于在达到代理程序限制后处理紧急请求。

    • db2pdbc,并行系统控制器,用来处理来自远程数据库分区的并行请求(仅用于分区数据库环境)

    • db2resync,扫描全局再同步列表的再同步代理进程

    • db2rocm 和 db2rocme,在 db2sysc,主系统控制器 EDU;它处理关键的 DB2 服务器事件

    • db2sysc(空闲),DB2 空闲进程,它们允许在主机上快速轻量级重新启动访客db2thcln,在 EDU 终止时重新启动资源(仅适用于 UNIX)

    • db2wdog,在 UNIX 和 Linux 操作系统上处理异常终止的看守程序

    • db2wlmt,WLM 分派器调度线程

    • db2wlmtm,WLM 分派器计时器线程

上述就是小编为大家分享的db2进程模型的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

db2进程模型的示例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

swoole之进程模型的示例分析

小编给大家分享一下swoole之进程模型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!初识server一文的时候我们说过,swoole是事件驱动的。在使
2023-06-14

Flex应用程序模型的示例分析

这篇文章主要介绍Flex应用程序模型的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建一个Flex应用程序Flex应用程序模型Flex创建一个应用程序时,你使用组件(容器/containers和控件/con
2023-06-17

Netty、MINA、Twisted中线程模型的示例分析

这篇文章主要介绍了Netty、MINA、Twisted中线程模型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。要想开发一个高性能的TCP服务器,熟悉所使用框架的线程
2023-06-04

HTML中盒模型的示例分析

小编给大家分享一下HTML中盒模型的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!盒模型规定了元素框处理元素内容width与height值、内边距padding、边框border 和 外边距margin 的数值大小
2023-06-08

Java原型模式的示例分析

这篇文章主要介绍了Java原型模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.思考问题现在有一只羊 tom,姓名为: tom,年龄为:1,颜色为:白色,请编写
2023-06-29

Tomcat中NIO模型的示例分析

这篇文章给大家分享的是有关Tomcat中NIO模型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、I/O复用模型解读Tomcat的NIO是基于I/O复用来实现的。对这点一定要清楚,不然我们的讨论就不在
2023-06-02

Java内存模型的示例分析

这篇文章主要为大家展示了“Java内存模型的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java内存模型的示例分析”这篇文章吧。1. 为什么要有内存模型?要想回答这个问题,我们需要先弄
2023-06-29

Redis缓存IO模型的示例分析

Redis缓存IO模型的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言redis作为应用最广泛的nosql数据库之一,大大小小也经历过很多次升级。在4.0版本之
2023-06-21

PHP中原型模式的示例分析

这篇文章将为大家详细讲解有关PHP中原型模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。原型模式其实更形象的来说应该叫克隆模式。它主要的行为是对对象进行克隆,但是又把被克隆的对象称之为最初的原
2023-06-20

kubernetes中网络模型的示例分析

这篇文章主要介绍kubernetes中网络模型的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Kubernetes从Docker默认的网络模型中独立出来形成一套自己的网络模型。模型的基础原则是:每个Pod都拥
2023-06-04

css继承盒模型的示例分析

这篇文章给大家分享的是有关css继承盒模型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。继承盒模型让盒模型从html 继承:html { box-sizing: border-box;
2023-06-27

java之JVM架构模型的示例分析

小编给大家分享一下java之JVM架构模型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1. web开发;2.
2023-06-14

编程热搜

目录