快速业务通道

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2)

时间:2011-02-13 IBM Nicholas Whitehead

在这个场景中,我构造了一个有用的例子,而没有在 sales_order 表上创建索引。因此,监控将会揭示更多的顺序扫描(按照数据库用语来说为表扫描),它是一个低效的检索数据的机制,这是因为它要读取表中的每一行。顺序元组读取 — 主要指使用顺序扫描读取的行的数量 — 也一样。行和元组之间有一个很大的差别,但是在这里没有关系。要弄清楚这个差异,您可以查看 PostgreSQL 文档网站(参见 参考资料)。看一看 APM 显示的这些统计信息,很明显我的数据库遗漏了一个索引。如图 11 所示:

图 11. 顺序读取

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

注意到了这一点后,我赶紧触发了两个 SQL 语句来索引表格。随后的结果是两个顺序操作都降到了零,而本来为零的索引操作现在却运行起来。如图 12 所示:

图 12. 索引后

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

这个索引的创建在整个系统中发生了连锁反应。另一个明显稳定下来的指标是数据库主机上的 User CPU %。如图 13 所示:

图 13. 索引后的 CPU

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2)(2)

时间:2011-02-13 IBM Nicholas Whitehead

数据库可用性

我要介绍的有关 JDBC 的最后一个方面是数据库可用性。数据库可用性的最简单的形式是选择标准 JDBCCollector。如果收集器被配置了一个 availabilityNameSpace 值,那么收集器将两个指标跟踪到配置的名称空间:

可用性:可以连接到数据库的话,值为 1,无法连接到数据库的话,值为 0

连接时间:获取连接消耗的运行时间

当用数据源或连接池来获取连接时,连接时间通常都是很快的。但大多数 JDBC 连接池系统都能在分发连接前执行一个可配置的 SQL 语句,所以测试是合法的。在重负载的情况下,连接的获取会有一个非零的运行时间。此外,可以为用于测试可用性的 JDBCCollector 设置单独的数据源。这个单独的数据源可以配置为不共享连接,所以每一个轮询周期都会启动一个新的连接。图 14 显示了我的 PostgreSQL 运行时数据库的可用性检查 APM 树。请参考 清单 14,查看使用 availabilityNameSpace 属性的例子。

图 14. 运行时数据库可用性检查

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网

我见过需要多个连锁查询来决定一个特定状态的情况。例如,一个最终的状态需要对 Database A 进行查询,但它所需的参数只有对 Database B 进行查询才可以确定。这种情况可以用两个 JDBCCollector 来解决,但要特殊考虑如下几点:

按时间先后排列的第一个查询(针对 Database B)被配置为惰性的,因为它没有进行调度(收集的频率为零就意味着无调度)。JDBCCollector 的实例同样实现了 IBindVariableProvider,这意味着它也能够给另一个收集器提供绑定变量和绑定。

第二个收集器把第一个收集器定义为一个绑定,该绑定将会在第一次查询后实现。

我对数据库监控的论述就到此为止了。我必须补充说明一下,这一节重点介绍的是数据库监控,尤其是通过 JDBC 接口的数据库监控。完成一个典型的数据库监控还要监控数据库所在的 OS、单个数据库进程或数据库进程组、还有一些有必要访问数据库服务的相关的网络资源。

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2)(3)

时间:2011-02-13 IBM Nicholas Whitehead

监控 JMS 和消息传递系统

本节将描述监控消息传递服务的健康状况和性能的技巧。消息传递服务,如实现 JMS — 同样指面向消息的中间件(message-oriented middleware,MOM)— 的服务,在很多应用程序中都起着至关重要的作用。它们和其他应用程序依赖项一样也需要监控。通常,消息传递服务提供同步的或者说是 “即发即弃(fire-and-forget)” 调用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号