执行性能影响
启用统计会产生一定的 CPU 开销(用于数据收集和聚合)。在许多情况下,这种开销不会对系统性能造成显著影响。但是对于在极高负荷(包括基准负荷)下运行的系统,用于统计信息收集的少量开销会开始变得显著。
以下是处理执行开销的一些技巧:
-
对于动态统计信息,只对有必要全天候记录的那些统计信息进行归档。
-
可以暂停统计,从而避免数据收集和收集开销。如果只需收集较短时间内的统计信息即可满足需要(例如,排除性能问题时),此操作可能非常有用。启用统计,等待几分钟,然后单击 "Datasets"(数据集)视图中的电源图标以暂停统计。被暂停的数据集将保留其数据,以供日后查看。
-
在启用和禁用动态统计时,请通过静态统计信息密切关注整体性能。
-
请注意,深入分析会导致所有事件都产生开销。例如,您跟踪 "NFSv3 operations per second for client deimos"(客户机 deimos 的每秒 NFSv3 操作数),而当前没有来自 deimos 的 NFSv3 活动。这并不表示此统计信息不存在执行开销。设备仍必须跟踪每个 NFSv3 事件,然后将主机与 "deimos" 比较,确定是否应在此数据集中记录数据-此时大部分执行开销已经产生。
某些统计信息源于操作系统计数器并始终维护,称为静态统计信息。这些统计信息的收集对系统性能的影响可以忽略,因为系统在一定程度上已经维护了这些统计信息(通常通过称为 Kstat 的操作系统功能进行收集)。这类统计信息的示例包括:
表 8 静态统计信息
|
|
CPU
|
percent utilization(利用率百分比)
|
CPU
|
percent utilization broken down by CPU mode(按 CPU 模式细分的利用率百分比)
|
Cache(高速缓存)
|
ARC accesses per second broken down by hit/miss(按命中/未命中细分的每秒 ARC 访问次数)
|
Cache(高速缓存)
|
ARC size(ARC 大小)
|
Disk(磁盘)
|
I/O bytes per second(每秒 I/O 字节数)
|
Disk(磁盘)
|
I/O bytes per second broken down by type of operation(按操作类型细分的每秒 I/O 字节数)
|
Disk(磁盘)
|
I/O operations per second(每秒 I/O 操作数)
|
Disk(磁盘)
|
I/O operations per second broken down by disk(按磁盘细分的每秒 I/O 操作数)
|
Disk(磁盘)
|
I/O operations per second broken down by type of operation(按操作类型细分的每秒 I/O 操作数)
|
Network(网络)
|
device bytes per second(每秒设备字节数)
|
Network(网络)
|
device bytes per second broken down by device(按设备细分的每秒设备字节数)
|
Network(网络)
|
device bytes per second broken down by direction(按方向细分的每秒设备字节数)
|
Protocol(协议)
|
NFSv3/NFSv4/NFSv4.1 operations per second(每秒 NFSv3/NFSv4/NFSv4.1 操作数)
|
Protocol(协议)
|
NFSv3/NFSv4/NFSv4.1 operations per second broken down by type of operation(按操作类型细分的每秒 NFSv3/NFSv4/NFSv4.1 操作数)
|
|
在 BUI 中进行查看时,上面列表中不包含 "broken down by"(细分方式)文本内容的统计信息可能会包含 "as a raw statistic"(以原始统计信息形式)文本内容。
由于这些统计信息的执行开销可以忽略不计,并且它们提供了系统行为的概览,默认情况下,将对其中很多统计信息进行归档。请参见默认统计信息。
这些统计信息是动态创建的,并且通常不由系统进行维护(它们通常通过称为 DTrace 的操作系统功能进行收集)。每个事件都将被跟踪,并且每隔一秒将此跟踪数据聚合到统计信息中。因此,这类统计信息的开销与事件数量成正比。
当活动为 1000 操作/秒时,跟踪磁盘详细信息可能不会对性能产生显著的影响,但是当传输速率为 100,000 数据包/秒时,测量网络详细信息可能会有负面影响。所收集信息的类型也是一个影响因素:对文件名和客户机名称的跟踪将增加对性能的影响。
动态统计信息的示例包括:
表 9 动态统计信息
|
|
Protocol(协议)
|
SMB operations per second(每秒 SMB 操作数)
|
Protocol(协议)
|
SMB operations per second broken down by type of operation(按操作类型细分的每秒 SMB 操作数)
|
Protocol(协议)
|
HTTP/WebDAV requests per second(每秒 HTTP/WebDAV 请求数)
|
Protocol(协议)
|
...operations per second broken down by client(按客户机细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by file name(按文件名细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by share(按共享资源细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by project(按项目细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by latency(按延迟细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by size(按大小细分的每秒操作数)
|
Protocol(协议)
|
...operations per second broken down by offset(按偏移细分的每秒操作数)
|
|
"..." 表示任一协议。
要想确定这些统计的影响,最好的方式是在系统运行稳定负荷的情况下启用和禁用这些统计。可以使用基准测试软件来应用这种稳定负荷。有关以此方式计算性能影响的步骤,请参见使用 Analytics(分析)。