ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DB2 Magazine:IDS 11 数据库监控

DB2 Magazine:IDS 11 数据库监控

原创 Linux操作系统 作者:ArtCode 时间:2009-01-09 12:41:18 0 删除 编辑

IDS 11(过去的代码名称是“Cheetah”)为 Sysmaster 数据库添加了众多全新特性。此专栏和未来的文章将提供一些示例,说明您可以如何利用全新的 Sysmaster 监控表。如果您参加本月举办的 IBM Information On Demand 研讨会,我还会在演讲中讨论相关主题。

全新的 Sysmaster 数据库表让我感到振奋的特性包括:

  • Syscheckpoint,跟踪服务器重启之后的最后一组检查点。
  • Sysenv,显示服务器启动时生效的环境变量。
  • Sysenvses,显示影响用户会话的环境变量。
  • Sysmgminfo,显示 Parallel Database Query (PDQ) 信息。
  • Sysnetclienttype、Sysnetglobal 和 Sysnetworkio 显示网络状态。
  • Sysonlinelog,跟踪联机日志记录。
  • Syssqltrace、Syssqltrace_info、Syssqltrace_iter,显示 SQL 配置文件和跟踪信息。
  • Systhreads,跟踪线程及其等待状态。

新的 Sysadmin 数据库是 IDS 11 Automatic Monitoring and Scheduler 系统的一部分,跟踪任务和进度。下面介绍其中的五种新特性;在后面的文章中,我将解释 command_history 表和其他主题。

Syscheckpoint

该表监控并在内存中存储 IDS 服务器启动以后的最后 20 个检查点。表 1 列举了该表中的字段。Syscheckpoint 并非物理表,而是共享内存结构的一个视图。


表 1. Syscheckpoint表的定义
 

IDS 11 中的检查点发生了彻底的变化,这在专栏的上一期文章中已经解释过。检查点的目标在于保证内存缓冲区与磁盘结构保持同步。如果没有检查点,就要冒服务器崩溃的风险。在过去的版本中,有两种类型的检查点。标准检查点阻塞所有用户写入操作,直至所有缓冲区都被写入磁盘,所有内存结构都得到同步。版本 9.x 引入了模糊检查点,仅在记录了一份脏缓冲区列表时停止用户活动,当脏缓冲区在后台写入磁盘之后,用户活动即可继续。IDS 11 引入了具有专利的全新检查点算法,取代了过去那两种类型的检查点。大多数检查点不会在缓冲区进入磁盘时阻止用户写入,新的检查点也比模糊检查点更加可靠。

Syscheckpoint 表允许您监控检查点。可使用这些数据来回答的问题包括:

l 是什么导致检查点被调用?是否物理记录过小?还是逻辑日志(或用户)发出 onmode -c 命令来强制使用检查点?

  • 检查点占用了多少时间?
  • 有多少执行更新的用户(如果有)被阻塞?他们被怎样阻塞?
  • 有多少缓冲区因检查点的原因进入磁盘?







Sysenv

许多环境变量都会影响 Informix 服务器的操作和服务器性能特征。一旦 IDS 服务器开始运行,Sysmaster 表就为您提供了一种监控影响服务器的环境变量的方法。表 2 展示了该表的定义。IDS 服务器基本不需要关闭或重启。IDS 服务器运行几个月或几年之后,在服务器启动时发挥作用的环境变量很可能被忘记。该表将展示服务器启动时发挥作用的内容。可以将该表配合 Sysenvses 表使用,协助调试 IDS 服务器和客户机环境变量不同时出现的问题。


表 2. Sysenv表的定义
Sysenv表的定义






Sysenvses

各 IDS 用户会话都可以拥有不同的环境变量。调试用户会话时,查看哪些变量对正在运行的会话有影响是很有帮助的。Sysenvses 表为您提供了监控用户会话变量的方法。表 3 展示了该表的定义。


表 3. Sysenvses表的定义
Sysenvses表的定义

在尝试调试可能由客户机和服务器环境变量不同所导致的问题时,Sysenv 和 Sysenvses 非常有用。我曾经帮助一位客户调试过一个负载问题,当时日期字段中出现了一个错误;显然,IDS 服务器和客户机上对于环境变量 DBDATE 的设置不同。载入该客户机的数据时,日期对于服务器来说是不正确的格式,从而引起错误。这两个表能使问题的判断和解决更加轻松。同样的概念也适用于解决客户机和服务器上对 DB_LOCALE 变量设置不同时引起的问题。

还可使用此信息在调试性能问题时确定用户的环境。这些表提供了关于环境设置的信息,例如 PDQ_PRIORITY、PSORT_NPROCS 或 PSORT_DBTEMP,这些都可能对用户的性能产生影响。







Sysonlinelog

ONCONFIG 文件中的配置参数之一就是 MSGPATH,它定义您的联机日志文件的位置。MSGPATH 是服务器写出启动、处理或错误消息的位置。sysonlinelog 表是此类文件的虚拟视图,使您能够使用 SQL 语句来查看和监控联机日志文件。表 4 展示了这种包含三个字段的简单的表的结构。惟一重要的字段是消息文本,这也是联机日志中出现的文本行。


表 4. Sysonlinelog 表的定义
Sysonlinelog 表的定义





Sysmgminfo

我最喜爱的新 Sysmaster 表就是 Sysmgminfo。该表展示关于 IDS 服务器上运行的 Parallel Data Query (PDQ) 会话的信息。其部分信息与执行 onstat -g mgm 命令时所显示的信息类似。该表使您能够轻松捕捉和查看 PDQ 设置、活动会话数目、等待资源的会话数目,以及自服务器启动以来的会话和资源总数及平均数(参见表 5)。该表仅包含一条记录,展示内存中的当前设置。


表 5. Sysmgminfo 表的定义
Sysonlinelog 表的定义

例如,我在我的笔记本电脑上运行 SQL 语句 select * from sysmgminfo,且仅有一条 PDQ 查询运行;表 6 展示了输出结果。我在结果旁边的列中添加了一些注释,说明结果的含义。


表 6. 检索 sysmgminfo 表的结果输出
检索sysmgminfo 表的结果输出

有必要关注的重要字段是 ready 和 cnt_ready。这些字段告诉您有多少 PDQ 查询正在等待运行所需的资源,以及已经等待过运行所需资源的 PDQ 总数。在我支持过的某个大型数据仓库系统上,用户有时会抱怨查询耗费时间过长。但在查看系统时,查询实际上并未运行,而是在等待资源时被阻塞。该字段使您能够轻松跟踪被阻塞的随时可运行查询的信息。






监控和调优提示

获得 Informix IDS 服务器及其性能的更好信息是监控和调优的关键所在。IDS 11 中全新的Sysmaster 表为您提供了大量必要信息。在 dbaccess 或 Server Studio 中的这些新表上尝试使用 select 语句,了解其可提供信息的类型。







参考资料



 

关于作者

Lester Knutsen 是 Advanced DataTools Corp. 的总裁,这家公司是 IBM 的 Informix 咨询和培训合作伙伴,专门从事数据仓库开发、数据库设计、性能调优以及 Informix 培训和支持。他还是 Washington D.C. Area Informix User Group 的主席、International Informix Users Group 的创始人之一和 IBM Gold Consultant。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-534776/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-05

  • 博文量
    269
  • 访问量
    557260