nfs-client性能指标
命令:mountstats [ options ]
--version display the version of this command
--nfs display only the NFS statistics
--rpc display only the RPC statistics
输出:
mountstats –rpc /nfs/
命令:nfsiostat [
--version show program's version number and exit
-h, --help show this help message and exit
Statistics Options:
File I/O is displayed unless one of the following is specified:
-a, --attr displays statistics related to the attribute cache
-d, --dir displays statistics related to directory operations
-p, --page displays statistics related to the page cache
Display Options:
Options affecting display format:
-s, --sort Sort NFS mount points by ops/second
-l LIST, --list=LIST only print stats for first LIST mount points
count> ] ] [ <options> ] [ <mount point> ]
命令:nfsstat [OPTION]…
OPTION:
-m, --mounts Show statistics on mounted NFS filesystems
-c, --client Show NFS client statistics
-s, --server Show NFS server statistics
-2 Show NFS version 2 statistics
-3 Show NFS version 3 statistics
-4 Show NFS version 4 statistics
-o [facility] Show statistics on particular facilities
nfs NFS protocol information
rpc General RPC information
net Network layer statistics
fh Usage information on the server's file handle cache
rc Usage information on the server's request reply cache
all Select all of the above
-v, --verbose, --all Same as '-o all'
-r, --rpc Show RPC statistics
-n, --nfs Show NFS statistics
-Z[#], --sleep[=#] Collects stats until interrupted
Cumulative stats are then printed
If # is provided, stats will be output every
# seconds
-S, --since file Shows difference between current stats and those in 'file'
-l, --list Prints stats in list format
--version Show program version
--help What you just did
nfs-ganesha
命令:dbus-send [–help] [–system | –session | –address=ADDRESS] [–dest=NAME] [–type=TYPE] [–print-reply[=literal]] [–reply-timeout=MSEC]
(1)查询有哪些客户端连接
dbus-send –print-reply –system –dest=org.ganesha.nfsd /org/ganesha/nfsd/ClientMgr org.ganesha.nfsd.clientmgr.ShowClients
(2)读取该客户端的统计
dbus-send –print-reply –system –dest=org.ganesha.nfsd /org/ganesha/nfsd/ClientMgr org.ganesha.nfsd.clientstats.GetNFSv3IO string:::ffff:19.19.19.137
(3)读取export路径
dbus-send –print-reply –system –dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportmgr.ShowExports
(4)根据export路径读取该export路径统计信息
dbus-send –print-reply –system –dest=org.ganesha.nfsd /org/ganesha/nfsd/ExportMgr org.ganesha.nfsd.exportstats.GetNFSv3IO uint16:1
libcephfs
在/var/run/ceph-client下有asok文件,通过这个文件来查看其性能数据
比如:ceph daemon ./client.1954118.asok perf dump查看libcephfs的时延统计。
输出:
[root@ceph104 ceph]# ceph daemon ./client.1954118.asok perf dump
{
}
reply:
从libcephfs发出元数据请求,到收到mds会应答平均时延。
wrlat:
libceph写请求平均处理时延,从libcephfs write接口开始计算,到return之前的平均时延。
rdlat:
Libceph读请求平均处理时延,从libcephfs read接口开始计算,到return之前的平均时延。
fssync:
Libceph sync请求平均处理时延,从libcephfs sync接口开始计算,到return之前的平均时延。
msgr_running_recv_time:
msgr线程接收IO总时间。
msgr_running_send_time:
msgr线程发送IO总时间。
OSD
命令: ceph daemon osd.X perf dump
相关统计信息:
op_before_queue_op_lat:
messages线程接收到OP到OP入 shardwq队列之前的时延(包括message线程将IO数据从内核读上来的时间间隔)。
op_before_dequeue_op_lat:
messages线程接收到OP 到 从shardwq 队列出队,并且获取到PG Lock的时延。
op_r_latency/op_w_latency:
OSD 读/写 OP总的执行时间,即从messages线程接收到OP到OSD处理完成,给客户端应答之前的时间间隔。
op_r_process_latency/op_w_process_latency:
OSD 读/写OP的执行时间,即从OP出队到OSD处理完成,给客户端应答之前的时间间隔。
op_r_prepare_latency:
PG处理读 OP 时间,在数据备份策略为副本的情况下,表示从OP出队到提交IO给磁盘的时间。
op_w_prepare_latency:
PG处理写 OP 时间,即从OP出队到完成bluestore本地事务准备工作的时间。
ceph daemon osd.X perf dump bluestore
read_lat:
从bluestore 接收到读请求到完成读请求的时间。
commit_lat:
从bluestore接收到写请求到完成写请求的时间。
read_wait_aio_lat:
磁盘处理读请求时间。
read_onode_meta_lat:
读取onode元数据时间。
csum_lat:
计算checksum花费的时间。
state_prepare_lat:
bluestore准备事务上下文等花费的时间。
state_aio_wait_lat:
磁盘处理写请求的时间。
state_done_lat:
磁盘处理写请求完成后,等待事务进入done状态的时间(因为后提交到磁盘的IO可能先完成,为了防止乱序,后提交到磁盘的IO需要等待先提交磁盘的IO完成后才能进入done状态)。
kv_commit_lat:
kv提交时间。
kv_lat:
kv完成时间。
state_kv_queued_lat:
kv排队时间。
MDS
ceph daemon mds.ceph101 perf dump