Bug #6090
IOPS, bandwidth, and latency kstats for NFS server
100%
Description
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.
Related issues
Updated by Marcel Telka over 5 years ago
The implementation
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 Marcel Telka over 5 years ago
- Blocked by Bug #5907: xdrmblk_getpos() is unreliable added
Updated by Electric Monk over 5 years ago
- % Done changed from 0 to 100
git commit 22146ea93e24c7deb02c49c33b2ab98605ce78b4
commit 22146ea93e24c7deb02c49c33b2ab98605ce78b4 Author: Marcel Telka <marcel.telka@nexenta.com> Date: 2015-09-03T17:57:14.000Z 6090 IOPS, bandwidth, and latency kstats for NFS server Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Approved by: Dan McDonald <danmcd@omniti.com>
Updated by Marcel Telka over 5 years ago
- Related to Bug #6476: Taking exported_lock RW_READER lock in common_dispatch() can cause deadlock in nfssrv added
Updated by Marcel Telka over 5 years ago
- Related to Bug #6472: Panic in rfs4_compound_kstat_res() added
Updated by Marcel Telka almost 5 years ago
- Related to Bug #6696: Per-client NFS server IOPS, bandwidth, and latency kstats added
Updated by Marcel Telka almost 5 years ago
- Related to Bug #6747: xdr_READDIR4res() bypass the XDR mblk API added
Updated by Marcel Telka over 4 years ago
commit f7877f5d39900cfd8b20dd673e5ccc1ef7cc7447 Author: Dan McDonald <danmcd@omniti.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.
Updated by Marcel Telka over 4 years ago
- Status changed from Feedback to Rejected
Reject as "will not integrate due to architectural issues."