9.9. Glock 统计
GFS2 维护可帮助您跟踪文件系统中正在运行的统计信息。这可让您发现性能问题。
GFS2 维护两个计数器:
-
dcount
,其统计请求的 DLM 操作的数量。这显示了有多少数据被用于均值/方差计算。 -
qcount
,其统计请求的syscall
级别操作的数量。通常qcount
等于或大于dcount
。
另外,GFS2 维护三个均值/方差对。均值/方差对是平滑度估算,使用的算法是用于计算网络代码中往返的时间。
GFS2 中维护的均值和方差对不能扩展,而是以整数纳秒为单位。
- srtt/srttvar:非阻止操作的平稳往返时间
- srttb/srttvarb:阻止操作的平稳往返时间
- irtt/irttvar:请求间的时间(例如,DLM 请求之间的时间)
非阻塞请求是一个马上完成的请求,无论有疑问的 DLM 锁定状态如何。这当前意味着,请求的条件为 (a) 当前的锁定状态为专用( exclusive);(b) 请求的状态为 null 或者非锁定(unlocked);或 (c) 设定了"try lock"标记。其他锁定请求都为阻塞请求。
对于 IRTTs 来说,较大的时间比较好;对于 RTTs 来说,比较小的时间更好。
统计数据保存在两个 sysfs
文件中:
-
glstats
文件。这个文件与glocks
文件类似,但它包含统计信息,一行一个 glock。数据是从那个为其创建 glock 的 glock类型 的"per cpu"数据初始化的,数据会被创建 glock(归零的计数器除外)。这个文件可能非常大。 -
lkstats
文件。它为每个 glock 类型包含 "per cpu" 统计信息。它每行包含一个统计数据,每列都是一个 cpu 内核。每个 glock 类型有 8 行,一个类型跟随另一个类型。