Windows 性能计数器端口到 Linux、HP-UX 和 AIX

Posted

技术标签:

【中文标题】Windows 性能计数器端口到 Linux、HP-UX 和 AIX【英文标题】:Windows Performance Counter Port to Linux, HP-UX and AIX 【发布时间】:2010-09-11 22:14:08 【问题描述】:

我们实现了一个仅在 Windows 上可用的服务器应用程序。现在我们也喜欢将它移植到 Linux、HP-UX 和 AIX。此应用程序通过性能计数器向 Windows 性能监视器提供内部统计信息。

更准确地说:应用程序是一个数据库,我们希望向管理员提供连接用户数或执行请求数等信息。所以这些是我们应用程序专有的“新”信息。但我们希望它们在操作系统提供 CPU 等信息的相同环境中可用。目标是使它们易于管理员阅读。

Linux、HP-UX、AIX下合适且常用的性能监视器是什么?

【问题讨论】:

【参考方案1】:

我会说:这取决于您要监控的性能。占用CPU时间?空闲内存?磁盘IO?冰箱里的啤酒数量...

但不管怎样,您都可以查看 /proc 下的任何文件。我不确定 HP,但至少 Linux 和 AIX 应该有那棵树(如果它在内核编译时没有被停用)。

【讨论】:

【参考方案2】:

管理是大多数操作系统彼此分离的地方。出于这个原因,在所有操作系统之间没有多少工具是通用的。

此外,Unix 工具遵循单进程单一职责惯用语,其中一个工具获取 cpu 信息,另一个获取内存等。

我在 Unix 世界中看到的将所有这些信息集中在一个地方的唯一工具是 top。几乎所有系统管理员都熟悉此工具,并且可以在您感兴趣的所有操作系统上工作。它还具有开源的额外优势。您可以简单地扩展此工具以公开您感兴趣的计数器并将其与您的应用程序一起提供。

执行此操作的另一种方法可能是通过 SNMP 公开您的计数器,并将其留给第三方 SNMP 工具,例如 HP open view,该工具可以收集和呈现与其他管理信息一起的一致视图。这可能是一个更具企业精神的解决方案,可能会吸引营销人员。

我还要说,编写一个独立的控制台工具是一个好主意,管理员可以从他们自定义的本地脚本中使用它(那里有很多由超级人类管理员/高薪员工执行此操作的公司)。

我认为所有这些都是满足您要求的健康解决方案。

【讨论】:

【参考方案3】:

用于此类数据的最标准的 unix 工具是 *stat(iostat、vmstat、netstat)工具和 sar。在 Linux 上,您可以在 /proc 中找到所有这些信息,但是大多数 Unix 没有 /proc 很好地填充您要查找的内容。上述工具非常标准化,可用于收集您需要的数据。

【讨论】:

以上是关于Windows 性能计数器端口到 Linux、HP-UX 和 AIX的主要内容,如果未能解决你的问题,请参考以下文章

等效于 Linux 上的 Win32 性能计数器 [重复]

如何在Windows服务器做性能测试

我可以从 Windows 中的用户模式程序中读取 CPU 性能计数器吗?

Windows 性能计数器限制

如何通过sql server远程收集windows性能计数器

在 Windows 上读取性能数据计数器是不是需要任何特殊的安全权限?