On the subject of which statistics to display on a cifs/smb3 mount - one other example for comparison, mountstats. Note that nfs is the only filesystem which seems to display detailed information in /proc/<pid>/mountstats
See below sample output e.g. "cat /proc/1/mountstats" (would this be useful to add for cifs.ko? ie implementing "show_stats" superblock method as nfs does to display more detailed smb3 specific protocol statistics)
device vmware-vmblock mounted on /run/vmblock-fuse with fstype fuse.vmware-vmblock
device //localhost/test mounted on /mnt with fstype cifs
device localhost:/nfsexport mounted on /mnt1 with fstype nfs4 statvers=1.1
opts: rw,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none
age: 1191
impl_id: name='',domain='',date='0,0'
caps: caps=0x1fbffff,wtmult=512,dtsize=32768,bsize=0,namlen=255
nfsv4: bm0=0xfdffbfff,bm1=0x40f9be3e,bm2=0x20803,acl=0x3,sessions,pnfs=not configured
sec: flavor=1,pseudoflavor=1
events: 11 9 0 0 6 0 19 1 0 19 0 3 12 0 3 2 0 2 0 0 1 0 0 0 0 0 0
bytes: 471859200 5 0 0 503316480 5 122880 1
RPC iostats version: 1.0 p/v: 100003/4 (nfs)
xprt: tcp 949 0 1 0 56 541 541 0 3932 0 11 13 3391
per-op statistics
NULL: 0 0 0 0 0 0 0 0
READ: 480 480 0 115200 503366400 1216 1606 2827
WRITE: 1 1 0 268 176 0 4 4
COMMIT: 0 0 0 0 0 0 0 0
OPEN: 1 1 0 340 372 0 6 6
OPEN_CONFIRM: 0 0 0 0 0 0 0 0
OPEN_NOATTR: 1 1 0 292 352 0 0 0
OPEN_DOWNGRADE: 0 0 0 0 0 0 0 0
CLOSE: 2 2 0 480 288 0 0 0
SETATTR: 0 0 0 0 0 0 0 0
FSINFO: 1 1 0 188 164 0 0 0
...
device //localhost/test mounted on /mnt with fstype cifs
device localhost:/nfsexport mounted on /mnt1 with fstype nfs4 statvers=1.1
opts: rw,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none
age: 1191
impl_id: name='',domain='',date='0,0'
caps: caps=0x1fbffff,wtmult=512,dtsize=32768,bsize=0,namlen=255
nfsv4: bm0=0xfdffbfff,bm1=0x40f9be3e,bm2=0x20803,acl=0x3,sessions,pnfs=not configured
sec: flavor=1,pseudoflavor=1
events: 11 9 0 0 6 0 19 1 0 19 0 3 12 0 3 2 0 2 0 0 1 0 0 0 0 0 0
bytes: 471859200 5 0 0 503316480 5 122880 1
RPC iostats version: 1.0 p/v: 100003/4 (nfs)
xprt: tcp 949 0 1 0 56 541 541 0 3932 0 11 13 3391
per-op statistics
NULL: 0 0 0 0 0 0 0 0
READ: 480 480 0 115200 503366400 1216 1606 2827
WRITE: 1 1 0 268 176 0 4 4
COMMIT: 0 0 0 0 0 0 0 0
OPEN: 1 1 0 340 372 0 6 6
OPEN_CONFIRM: 0 0 0 0 0 0 0 0
OPEN_NOATTR: 1 1 0 292 352 0 0 0
OPEN_DOWNGRADE: 0 0 0 0 0 0 0 0
CLOSE: 2 2 0 480 288 0 0 0
SETATTR: 0 0 0 0 0 0 0 0
FSINFO: 1 1 0 188 164 0 0 0
...
On Tue, Jul 31, 2018 at 4:17 PM Steve French <smfrench@xxxxxxxxx> wrote:
On Tue, Jul 31, 2018 at 3:42 PM Volker Lendecke <Volker.Lendecke@xxxxxxxxx> wrote:On Tue, Jul 31, 2018 at 03:21:02PM -0500, Steve French via samba-technical wrote:
> There are other statistics that can be dumped in Windows redirector, but
> those seem to be the most visible (those available via "net statistics
> workstation"). Any other suggested statistics?
Response times. I know they are more difficult to track, but a little
logarithmic histogram might be doable.
Probably doable. What do you think of the output of iostat (here is default iostat output)?$ iostat /dev/nvme0n1
Linux 4.18.0-041800rc7-generic (smf-Thinkpad-P51) 07/31/2018 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
11.74 0.19 5.31 0.05 0.00 82.71
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme0n1 5.69 59.45 45.30 4187172 3190324Presumably nfsstats are not any more helpful - here is sample client stats output from nfsstat$ nfsstat -c
Client rpc stats:
calls retrans authrefrsh
522 0 522
Client nfs v4:
null read write commit open
1 0% 480 91% 1 0% 0 0% 1 0%
open_conf open_noat open_dgrd close setattr
0 0% 1 0% 0 0% 2 0% 0 0%
fsinfo renew setclntid confirm lock
3 0% 0 0% 0 0% 0 0% 0 0%
lockt locku access getattr lookup
0 0% 0 0% 2 0% 12 2% 2 0%
lookup_root remove rename link symlink
1 0% 0 0% 0 0% 0 0% 0 0%
create pathconf statfs readlink readdir
0 0% 2 0% 2 0% 0 0% 2 0%
server_caps delegreturn getacl setacl fs_locations
5 0% 0 0% 0 0% 0 0% 0 0%
rel_lkowner secinfo fsid_present exchange_id create_session
0 0% 0 0% 0 0% 2 0% 1 0%
destroy_session sequence get_lease_time reclaim_comp layoutget
0 0% 0 0% 0 0% 1 0% 0 0%
getdevinfo layoutcommit layoutreturn secinfo_no test_stateid
0 0% 0 0% 0 0% 1 0% 0 0%
free_stateid getdevicelist bind_conn_to_ses destroy_clientid seek
0 0% 0 0% 0 0% 0 0% 0 0%
allocate deallocate layoutstats clone
0 0% 0 0% 0 0% 0 0%--Thanks,
Steve
--
Thanks,
Steve
Steve