IOPS, bandwidth, and latency kstats for NFS server
We want the IOPS, bandwidth, and latency kstats for NFS server. The bandwidth should include the NFS protocol overhead. The kstats should be two level: one "global" for the NFS server and broken down per share.
Updated by Marcel Telka about 6 years ago
All of the IOPS, bandwidth, and latency kstats are I/O kstats. See kstat_io(9s) and kstat_queue(9f). For every NFS (or NFS_ACL) procedure/operation, one I/O kstat is used. For kstat_io(9s), the "writes" are transfers from NFS client to the NFS server (the NFS client "writes" the requests to the server), the "reads" are transfers from the NFS server to the NFS client (the NFS client "reads" the responses from the server). For kstat_queue(9f), only runq is used.
The global kstat names are rfsprocio or aclprocio + the protocol version number + the procedure name, for example rfsprocio_v3_getattr or aclprocio_v2_getacl. The instance number is always 0 here.
The per-share kstats are named share_v?_PROCNAME (for example share_v4_getattr) - this naming schema is same for both NFS and NFS_ACL - with the instance number same as exi_id. The exi_id is new unique id added to exportinfo. It is designed to change on every new share (something like a serial number). On re-share the exi_id and kstats for the share are preserved. In addition to the share_v?_PROCNAME kstats, there is one more per-exi kstat named "share" with the same instance number (exi_id) with the exposed shared pathname and type of the filesystem - pseudo or real, so the kstat consumer could pair the kstats' instance to the shared path.
Updated by Electric Monk about 6 years ago
- % Done changed from 0 to 100
commit 22146ea93e24c7deb02c49c33b2ab98605ce78b4 Author: Marcel Telka <firstname.lastname@example.org> Date: 2015-09-03T17:57:14.000Z 6090 IOPS, bandwidth, and latency kstats for NFS server Reviewed by: Josef 'Jeff' Sipek <email@example.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Dan McDonald <firstname.lastname@example.org>
Updated by Marcel Telka about 5 years ago
commit f7877f5d39900cfd8b20dd673e5ccc1ef7cc7447 Author: Dan McDonald <email@example.com> Date: Tue Sep 13 11:36:30 2016 -0400 backout: 6090 IOPS, bandwidth, and latency kstats for NFS server (Performance issues discovered) This reverts commit 22146ea93e24c7deb02c49c33b2ab98605ce78b4.