Avamar:使用 Microsoft Windows perfmon 对 Avamar Client 进行性能监控
Summary: 本文将介绍如何使用 Perfmon 在 Microsoft Windows 环境中监控 Avamar 客户端的性能特征。
Symptoms
所有运行 Windows 的 Avamar Client 版本均适用本文。
Perfmon(性能监控)是一种强大的故障处理工具。
它可以按指定的时间间隔收集一段时间内的 Windows 性能指标,并生成能够进行图形化分析的日志,以帮助识别系统性能问题。
本节将讨论应收集哪些指标,以及如何正确配置该工具来收集这些指标。
有关调查 Avamar Client 性能的更多信息,请参阅:
Cause
Resolution
如何访问 Perfmon:
按 Windows-W 打开运行窗口。
键入 Perfmon。
何时何地进行测量
当某项资源达到其容量上限时会出现瓶颈,并且可能会导致性能下降。
导致出现瓶颈的原因是资源不足或配置错误、组件故障以及程序对资源的请求不正确。
五个主要资源领域可能会导致瓶颈并影响服务器性能:
- 物理磁盘
- 内存
- 进程
- CPU
- 网络
一旦这些资源被过度使用,服务器或应用程序可能会变得明显缓慢或崩溃。
我们讨论了这些领域,并建议哪些计数器和阈值有助于衡量服务器的性能。
采样间隔会对日志文件的大小和服务器负载产生重大影响。
根据问题复现的平均耗时来设置采样间隔,以便在问题再次发生之前建立基线。这有助于发现导致问题的任何趋势。
在正常操作期间,15 分钟是建立基线的理想时间窗口。
- 如果问题复现的平均耗时约为四个小时,请将采样间隔设置为 15 秒。
- 如果问题复现的时间为八个小时或更长时间,请将采样间隔至少设置为五分钟。
这些准则有助于避免产生较大的日志文件,从而增加数据分析的难度。
性能对象和计数器
- 对象 — 管理性能数据的组件
- 计数器 — 特定于特定对象的性能统计数据,用于描述特定于对象的性能特征。例如,\PhysicalDisk\%Idle Time 提供了有关主轴观察到的空闲时间的性能数据。
- 实例 — 表示唯一资源的多个副本。通过观察 \PhysicalDisk\%Idle Time,可以发现系统上可用的不同主轴及其相应的 %Idle time 值。
采样间隔
请记住监控的目的和持续时间。
对于常规监控间隔来说,15 分钟的日志记录间隔是合适的。
采样间隔应缩短为能捕获问题的时间间隔。
对于在一段时间内逐渐形成的问题,可以使用更长的采样间隔。
对于暂时性的问题,请使用几秒的短时间间隔。此采样间隔有助于解决磁盘子系统问题。
设置采样间隔时,需要记住监控的持续时间。
如果监控运行 >8 小时,则采样间隔 <300 秒时可能会产生较大的文件。运行收集过程本身的开销可能会影响结果。
如何启用 Perfmon Logging@。
以管理员用户身份打开命令提示符。
复制以下命令以启动或停止日志捕获。
以下命令将创建性能监视器数据集。
Logman.exe create counter Avamar -o "c:\perflogs\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" -si 00:00:05 Start the logs with: Logman.exe start Avamar Stop the logs with: Logman.exe stop Avamar Above commands can be modified to collect SQL server Performance Monitor data during backups as: First create a folder for log collection as C:\SQL_Performance_Logs\ For default SQL instance run: Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\SQLServer:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg For named instance, replace server with instance name Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\MSSQL$InstanceName:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg start collecting logs: Logman start Avamar_SQL_perf_log stop log collection: Logman stop Avamar_SQL_perf_log
计数器及其阈值
内存
%Committed bytes in use:
已提交内存是正在使用的物理内存,系统已在分页文件中为其预留了空间,以备需要写入磁盘时使用。
分页文件的大小决定了提交限制。如果增大了分页文件,则提交限制也会增加,而比率会降低。
此计数器仅显示当前百分比值。这不是平均值。此值始终超过 80%,则页面文件可能太小。
可用字节数:
有效字节是指可用于分配给进程或供系统使用的物理内存总量(以字节为单位)。
在 x64 系统上,这很少会构成限制。此值始终低于 5% 的已安装 RAM,您应进行调查。该值始终低于 1% 的已安装 RAM,则存在明确的问题。
Committed Bytes:
已提交内存是在一个或多个磁盘分页文件上预留了空间的物理内存。
每个硬盘上可以有一个或多个分页文件。
理想情况下,此计数器应该永远不变。更改指示页面文件扩展,应立即调查。
Free System Page Table entries:
在较旧的 x86 版本上,这曾经是一个问题。在 Windows Server 2003 SP2 服务器上,在不使用 /3Gb 开关启动的情况下,该值大约为 200,000 PTE。
使用 /3Gb 开关启动时,此值降至~25000 PTE。
Pool Nonpaged Bytes:
“Pool Nonpaged Bytes”是非分页池的大小(字节)。这是系统内存(操作系统所使用的物理内存)的一个区域,用于存放无法写入磁盘的对象,但只要分配了这些对象,它们就必须保留在物理内存中。
如果非分页池的使用量持续高于 80%,则您可能会面临非分页池耗尽的问题(事件 ID 2019)。
Pool Paged Bytes:
“Pool Paged Bytes”是分页池的大小(以字节为单位)。该池是系统内存(操作系统所使用的物理内存)的一个区域,用于存放在不使用时可写入磁盘的对象。
分页池是比非分页池更大的资源。此值始终大于最大配置池大小的 70%,则您可能面临分页池耗尽的风险(事件 ID 2020)。
处理器 (检查每个处理器和整体)
%Interrupt time:
这是处理器在采样间隔内接收和处理硬件中断所花费的时间。
此值是生成中断的设备活动的间接指标。例如,系统时钟、鼠标、磁盘驱动器、数据通信线路等。网络接口卡和其他外围设备。
这些设备会在完成任务或需要关注时会中断处理器。
%DPC 时间:
表示完成 I/O 操作所需的时间。如上文类似,对于 > 25% 的任何值,应当进行调查。
% 授权时间:
操作系统内核正在工作的时间。应用程序或 Web 服务器的阈值通常小于 30%。
%Processor Time:
如果单处理器计算机上的持续值 > 90%,或多处理器计算机上的持续值 > 80%,则都应进行调查。
网络接口
Packets received discarded:
这用于检查潜在的硬件问题。阈值> 1。调整网络缓冲区是可能的补救措施。
数据包收到错误:
这用于检查潜在的硬件问题。阈值> 2
磁盘(对于每个磁盘)
%Idle time:
此计数器可精确测量磁盘的空闲时间,即操作系统向磁盘发出的所有请求都已完成,并且不存在待处理的请求。
其计算原理是:系统会在磁盘进入空闲状态时为某个事件生成一个时间戳,然后在磁盘收到新请求时对另一个事件生成一个时间戳。
在捕获间隔结束时,它会计算空闲时间所占的百分比。此计数器范围为 100(表示始终空闲)到 0(表示始终繁忙)。
此计数器能够准确地确定磁盘子系统的饱和度。
平均磁盘队列长度:
平均Disk Queue Length 等于 (Disk Transfers/sec) *(Disk sec/Transfer)。
其依据是数学 排队理论中的
利特尔法则。
请注意,这是导出值,而不是直接测量。任何小于主轴数量两倍的值都是一个正常值。
Avg Disk Sec/Transfer:
显示完成磁盘传输所需的平均时间(以秒为单位)。
虽然刻度为秒,但计数器的精度为毫秒,这意味着值 0.004 表示完成磁盘传输的平均时间为 4 毫秒。
这是 Perfmon 中用于测量 I/O 延迟的计数器。示例值如下。所用磁盘的质量可能会有所不同:
Reads Excellent < 08 Msec (.008 seconds) Good < 12 Msec (.012 seconds) Fair < 20 Msec (.020 seconds) Poor > 20 Msec (.020 seconds) Writes Excellent < 01 Msec (.001 seconds) Good < 02 Msec (.002 seconds) Fair < 04 Msec (.004 seconds) Poor > 04 Msec (.004 seconds)
拆分 I/O:
测量文件碎片导致的 I/O 拆分速率。I/O 请求接触非连续文件段上的数据时,会发生这种情况。该值应接近于零。
由于 RAID 条带大小或 NTFS 数据块大小过小,这可能会有所不同。
可用空间百分比:
显示所选逻辑磁盘上剩余可用空间占总可用空间的百分比。可用空间应始终为 >15%,建议为 >=25%。
进程
- Handle Count:与池泄漏相关联。
- 虚拟字节:保留供应用程序使用的虚拟内存。
- Working set bytes:驻留在应用程序所独占的物理内存中的专用字节数。
Perfmon 中的物理磁盘与逻辑磁盘性能对象之间有何区别?
Perfmon 有两个与磁盘性能直接相关的对象:物理磁盘和逻辑磁盘。
其计数器的计算方式相同,但范围不同。
物理磁盘性能对象监视计算机上的磁盘驱动器。表示物理硬件的实例。计数器是对物理实例上所有分区的访问权限的总和。
逻辑磁盘性能对象 监视逻辑分区。性能监控会通过驱动器盘符或挂载点来识别逻辑磁盘。
如果某个硬盘包含多个分区,则此计数器会报告所选分区的值,而不是整个磁盘的值。
使用动态磁盘时,逻辑卷可能会跨越多个硬盘。在这种情况下,计数器值会包括对其所跨越的全部硬盘中逻辑磁盘的访问。
Windows 性能监视器中的哪些计数器显示硬盘延迟?
- 物理磁盘性能对象—> 平均“Disk sec/Read”计数器 — 显示平均读取延迟。
- 物理磁盘性能对象—> 平均磁盘秒/写入计数器— 显示平均写入延迟。
- 物理磁盘性能对象—> 平均“Disk sec/Transfer”计数器 — 显示读取和写入的组合平均值。
- _Total 实例是计算机中所有硬盘延迟的平均值。
每个其他实例表示单个物理磁盘。
在不同情况下监视时要监视的计数器 —:
|
组件 |
正在监视性能方面 |
用于监视的计数器 |
|
磁盘 |
用途 |
Physical Disk\ Sec/Read Physical Disk\ Disk Reads/sec Physical Disk\ Avg Queue Length Read 物理磁盘\平均队列长度写入 Logical Disk\ % Free Space 仔细解读“磁盘时间百分比”计数器。 |
|
磁盘 |
瓶颈 |
Physical Disk\ ALL COUNTERS Logical Disk\ % Free Space 系统\文件控制操作数/秒 系统\文件数据操作数/秒 提醒:此关键计数器位于系统下。它不特定于卷,但如果您只有一个活动卷,则非常有用。 |
|
内存 |
用途 |
内存\可用字节 Memory\ % Committed Bytes in Use。 Memory\ Pool Non-Paged Bytes Memory\ Pool Paged Bytes. Memory\ Pages Input or Reads/sec Memory\ Free System Pages |
|
内存 |
瓶颈或泄漏 |
Memory\ Available Bytes Memory\ Cache Bytes Memory\ Pages/sec Memory\ Page Output or Write /sec. Memory\ Free System Pages |
|
处理器 |
用途 |
Processor\ % Processor Time(所有实例) Processor\ % Privileged Time Processor\ % User Time |
|
处理器 |
瓶颈 |
Processor\ % Processor Time(所有实例) Processor\ % DPC Time Processor\ % Interrupt Time Processor\ % Privileged Time Processor\ % User Time Processor\ DPC s Queued /sec。 System\System Calls/sec System\ Processor Queue Length(所有实例) |
Additional Information