我可以使用脚本在Windows Server 2008
机器中每两秒获取一次性能计数器。Powershell
但是当我去Task Manager
检查CPU
使用情况时,powershell.exe
会占用 50% 的CPU
. 所以我正在尝试使用其他第三方工具来获取那些性能计数器。我已经搜索并找到了 this和this。这两个需要手动刷新,而不是每两秒自动刷新一次。任何人都可以请建议一些工具,它每两秒提供一次性能计数器,并分析这些计数器的最大值、平均值,并将结果存储为文本/xls 或任何其他格式。请帮我。
4 回答
有许多工具可以做到这一点——谷歌的“服务器监视器”。在我的头顶上:
- PA 服务器监视器
- Tembria FrameFlow
- 管理引擎
- SolarWinds 猎户座
- GFI 马克斯·纳吉奥斯
站点范围。该工具利用 perfmon API 或 SNMP 接口来收集统计信息,而无需在盒子上运行额外的非本地应用程序。如果你走开源路线,那么你可能会考虑 Hyperic。Hyperic 确实需要代理在盒子上。
在任何一种情况下,我都会将您的示例窗口视为高 CPU 而不是 powershell 的罪魁祸首。采样率越高,您驱动 CPU 的速度就越高,与工具无关。您可以通过运行 perfmon 自己看到这一点。使用相同的统计数据集以及当您将采样率从每 30 秒一次调整为每 20 秒一次,然后是 10、5 和最后 2 秒作为间隔时,CPU 会发生什么。在进行性能测试时,我们很少会在主机上低于 10 秒,因为这会导致采样工具扭曲主机的性能。如果我们有一个特别长期的测试,比如 24 小时,那么将间隔调整为每 30 秒一次就足以发现资源利用率的长期趋势。
如果您希望在很长一段时间内(12 小时甚至更长)收集信息,请考虑使用更长的时间间隔。如果您要进行短时间的采样,例如一小时,您可能希望以较小和较大的采样水平(2 秒对 10 秒)运行几个不同的一小时周期,以确保更短的采样间隔正在为系统的额外开销产生额外的价值。
重复一遍,仅用于收集操作系统统计信息的工具:
- 商业:SiteScope(无代理)。利用本机接口
- 开源:Hyperic(代理)
- 本机:Perfmon。可以将数据转储到文件中以进行进一步分析
我从这里找到了一些性能工具,如下所列:
- 阿帕奇 JMeter
- NeoLoad
- LoadRunner
- 加载UI
- 网页加载
- WAPT
- 装载机
- 负载影响
- Rational 性能测试器
- 随时随地测试
- 开放式STA
- QEngine(管理引擎)
- 负载风暴
- 云测试
- Httperf。
这应该可以在没有第三方工具的情况下实现。您应该能够使用 Windows 性能监视器收集数据(请参阅创建数据收集器集),然后使用Tracerpt将该数据转换为自定义格式。
如果您仍在寻找其他工具,我已经编制了一个Windows 服务器性能监控工具列表,其中还包括第三方解决方案。