我正在寻找一种工具来测量或检测台式电脑的“无响应”

我正在寻找一种工具来测量或检测台式电脑的“无响应”

我有一个客户,为一家医院提供一些服务器系统,有人提出支持请求,称桌面应用程序在等待服务器时挂起。我们进行了一些广泛的测试,很明显,服务器响应迅速,网络正常,问题出在客户端。(挂起期间未收到任何请求等...)

我们查看了台式机,发现它们应该没有问题,所以我们向软件供应商提出了问题,软件供应商说问题肯定是硬件,硬件公司说问题出在软件上,等等

不管怎样,在与护士交谈时,他们说这些机器通常一次会“挂起” 30 秒,有时是在他们需要获取身体不适患者的数据(例如图表和状态)的重要时刻。

所以我想在这些机器上安装一个客户端,它可以检测键盘/鼠标的任意“无响应”并记录下来以供以后分析。

显然,我对建议一些占用资源并使问题更加严重的应用程序持谨慎态度,因此我有兴趣看看任何可以检测这些情况的工具(说键盘中断被丢弃是否正确?)通过查找丢弃中断的操作系统,或任何适当的情况。

那么继续吧 serverfault,这是你拯救生命的机会……;-)


编辑:我开始认为一些与实时系统相关的工具可能是合适的,至少可以作为诊断。


把它想象成航天飞机。一旦发射,一切就结束了。它发射了,你就只能使用已安装的内容。因此,我无法远程管理我有权访问的机器,也不能坐下来查看日志。所有情况都必须事先解决。(我的想法是,如果我可以“检测到”无响应,那么我就可以触发 VBscript 将相关日志文件和性能指标复制到一个文件中,然后让本地技术人员传递这些文件)

答案1

这需要修改客户端应用程序,但您可以添加对它的调用,以发布和监视对服务器的调用并计算响应。这将为您提供一种方法,以建立基线并确定存在问题模式的机器,或者确定机器或应用程序是否实际上没有响应。

石墨尤其适合于此。


另一方面,如果问题在于桌面本身,那么我知道没有比用户和直拨电话号码的组合更好的检测无响应的方法了。

(根据定义,系统不会知道它很慢或没有响应。)

答案2

这是一场永无止境的战斗。硬件公司指责软件公司...软件公司又指责 IT 人员...IT 人员又指责... ... ... ... <YEAH 外包!>

不幸的是,“挂起”可能是由很多不同的事情和很多不同的原因引起的。没有一个神奇的工具可以监控“等待时间”的所有可能原因。至于你能做什么……是使用 Windows 内置的“perfmon”工具,并添加你感兴趣的不同性能计数器……可以是任何东西。(是的,你可以监控远程机器)从最基本的开始……比如 CPU 使用率、物理磁盘队列长度、网络利用率等……

如果您发现 CPU 使用率很高...那么是时候弄清楚应用程序正在做什么以及为什么它消耗了这么多的 CPU。

如果您看到磁盘队列中有大量内容在等待...也许您应该优化磁盘(碎片整理?更换更快的磁盘驱动器?检查错误...等等...)如果您仍然运气不佳...也许应用程序优化得不够好。糟糕的开发人员经常会犯这样的错误:应用程序读取 100mb 的数据,而它只需要日志的最后 5 行。

如果您发现网络流量很大... 是时候找出原因了。也许由于电缆/硬件故障而导致大量“重新传输”... 也许网络有环路,交换机不支持生成树... 也许网络上有很多垃圾,如支持 apple-talk/ipx 的打印机... 等等。

您可能需要更进一步,实现类似 wire-shark 的功能并监控客户端和服务器之间的数据包交换。也许应用程序向服务器发送一个数据包并等待(阻止)响应,然后才继续执行程序。也许服务器本身负担过重,无法跟上客户端连接的数量。

...这只是表面上的划痕...当您无法访问源代码或无法找到知道他们在做什么的开发人员时,对“挂起”的应用程序进行故障排除......是一项艰巨的任务。

相关内容