> -----Original Message----- > From: Alan Wright [mailto:[email protected]] > Sent: Thursday, April 08, 2010 12:38 PM > To: Garrett D'Amore > Cc: [email protected]; [email protected] > Subject: Re: SMB/CIFS Statistics [PSARC/2010/120 FastTrack timeout > 04/14/2010] > > On 04/ 7/10 10:59 PM, Garrett D'Amore wrote: > > On 04/ 7/10 10:47 PM, Jordan Brown wrote: > >> Garrett D'Amore wrote: > >>> > >>> What's missing is an interface table. I think though that based on > >>> the statement that its not to be parsed ("for humans only"), the > >>> output is not-an-interface. > >> > >> Yes. The stability is the same as the existing command: > >> > >> |_____________________________|_____________________________| > >> | Interface Stability | Uncommitted | > >> |_____________________________|_____________________________| > >> | Utility Output Format | Not-an-Interface | > >> |_____________________________|_____________________________| > >> > > > > You haven't mentioned anything about underlying kstats. Is this how > > these stats are implemented? Should that be covered under an ARC > case as > > well (perhaps this one)? > > smbstat has always created its output from undocumented kstats and, > as with the interface stability, changing that wasn't part of this > project. The purpose here is solely to expand and improve on the > command output. The underlying kstats have not been considered for > anything other than internal smbstat consumption. Publishing them, > particularly if they may be used in scripts, without taking the > change of scope into consideration and reviewing the design from > that perspective is not a good idea. > > I'd prefer to take this as an RFE rather than delay/withdraw this > case while we go back and review the project with a different scope. >
This is a good point. Please indicate if everybody is okay with this. > -- > > >>> On 04/ 7/10 05:51 PM, Jordan Brown wrote: > >>>> Template Version: @(#)sac_nextcase 1.70 03/30/10 SMI > >>>> This information is Copyright (c) 2010, Oracle and/or its > >>>> affiliates. All rights reserved. > >>>> 1. Introduction > >>>> 1.1. Project/Component Working Name: > >>>> SMB/CIFS Statistics > >>>> 1.2. Name of Document Author/Supplier: > >>>> Author: Jose Borrego > >>>> 1.3 Date of This Document: > >>>> 07 April, 2010 > >>>> > >>>> 1.4. Name of Major Document Customer(s)/Consumer(s): > >>>> PSARC > >>>> CIFS team > >>>> > >>>> 1.5. Email Aliases: > >>>> 1.5.1. Responsible Manager: [email protected] > >>>> 1.5.2. Responsible Engineer: [email protected] > >>>> 1.5.3. Marketing Manager: > >>>> 1.5.4. Interest List: [email protected] > >>>> > >>>> 4. Technical Description: > >>>> > >>>> Executive Summary: > >>>> > >>>> This case improves the statistics the SMB/CIFS server maintains > as > >>>> well as > >>>> the output of smbstat. > >>>> > >>>> Problem: > >>>> > >>>> Currently the only statistics the SMB/CIFS server maintains are > >>>> counters > >>>> keeping track of how many requests of each type were received, > the > >>>> number > >>>> of open files, the number of sessions (users logged in) and the > >>>> number of > >>>> connections (trees connected). Those statistics are not enough to > >>>> describe > >>>> the load being applied as well as how the server is responding to > it. > >>>> > >>>> Solution: > >>>> > >>>> In order to get a better picture of the state of the SMB/CIFS > server > >>>> the > >>>> following information can be maintained and provided through > smbstat: > >>>> > >>>> - Counters: > >>>> * nbt: > >>>> Number of SMB NetBIOS-over-TCP (NBT) sessions. > >>>> > >>>> * tcp: > >>>> Number of SMB TCP sessions. > >>>> > >>>> * users: > >>>> Number of users logged in. > >>>> > >>>> * trees: > >>>> Number of trees connected. > >>>> > >>>> * files: > >>>> Number of open files. > >>>> > >>>> * pipes: > >>>> Number of open pipes. > >>>> > >>>> - Throughput: > >>>> * rbytes/s: > >>>> Number of bytes received per second. > >>>> > >>>> * tbytes/s: > >>>> Number of bytes transmitted per second. > >>>> > >>>> * reqs/s: > >>>> Number of requests handled per second. > >>>> > >>>> * reads/s: > >>>> Number of read requests per second. This would be an aggregation > of > >>>> the following requests:SMB_COM_READ, SMB_COM_LOCK_AND_READ, > >>>> SMB_COM_READ_RAW and SMB_COM_READ_ANDX. > >>>> > >>>> * writes/s: > >>>> Number of write requests per second. This would ba an aggregation > of > >>>> the following requests: SMB_COM_WRITE, SMB_COM_WRITE_AND_UNLOCK, > >>>> SMB_COM_WRITE_RAW and SMB_COM_WRITE_AND_CLOSE. > >>>> > >>>> - Utilization: > >>>> * wcnt: > >>>> Average number of requests received but waiting for an SMB worker > >>>> thread to execute them. > >>>> > >>>> * rcnt: > >>>> Average number of requests being simultaneously executed by an > SMB > >>>> worker thread. > >>>> > >>>> * wtime: > >>>> Average time a request waits before an SMB worker thread starts > >>>> executing it. > >>>> > >>>> * rtime: > >>>> Average execution time of a request. > >>>> > >>>> * w%: > >>>> Percentage of the time during which at least one request was > >>>> waiting. > >>>> > >>>> * r%: > >>>> Percentage of the time during which at least one request was > being > >>>> executed. > >>>> > >>>> * u%: > >>>> Percentage of utilization of the SMB/CIFS server. This number is > >>>> defined as: rcnt / (Max Worker Threads). > >>>> > >>>> * sat: > >>>> Flag indicating if the server saturated in the past. Saturation > is > >>>> defined as: u% == 100%. > >>>> > >>>> * usr%: > >>>> Percentage of the time the processor(s) spent in user space. > >>>> > >>>> * sys%: > >>>> Percentage of the time the processor(s) spent in kernel space. > >>>> > >>>> * idle%: > >>>> Percentage of the time the processor(s) was(were) idle. > >>>> > >>>> - Requests: > >>>> For each type of request: > >>>> * %: > >>>> Percentage of that type of request. > >>>> > >>>> * rbytes/s: > >>>> Number of bytes received per second. > >>>> > >>>> * tbytes/s: > >>>> Number of bytes received per second. > >>>> > >>>> * req/s: > >>>> Number of requests handled per second. > >>>> > >>>> * rt-mean: > >>>> Average response time in seconds. > >>>> > >>>> * rt-stddev: > >>>> Standard deviation of the response time. > >>>> > >>>> To access this information the CLI smbstat must be modified and > >>>> allow the > >>>> following options: > >>>> > >>>> -r Display the statistics of the requests. > >>>> > >>>> -a Display the statistics of all the types of request (the 256 of > >>>> them) whether they are valid or not. > >>>> > >>>> -n Display in alphabetic order. > >>>> > >>>> -z Display the statistics of the requests actually received. > >>>> > >>>> -t Display the throughput of the SMB/CIFS server. > >>>> > >>>> -u Display the utilization of the SMB/CIFS server. > >>>> > >>>> -c Display the counters. > >>>> > >>>> A number can also be provided indicating the interval of time > between > >>>> refreshes. The first statistics displayed cover the time between > when > >>>> the server was started and the moment the statistics were > requested. > >>>> Subsequent refreshes cover the last time interval only. > >>>> > >>>> It should be noted that the output is all new replacing the old > one and > >>>> is for humans only. > >>>> > >>>> Examples of smbstat output: > >>>> > >>>> 'smbstat -ctu' > >>>> > >>>> nbt tcp users trees files pipes > >>>> 0 1 1 2 20 0 > >>>> > >>>> rbytes/s tbytes/s reqs/s reads/s writes/s > >>>> 1.036e+02 1.298e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> > >>>> wcnt rcnt wtime rtime w% r% u% sat usr% sys% idle% > >>>> 4.317e-01 7.410e+00 2.461e-05 4.224e-04 31 100 0 no 0 76 24 > >>>> > >>>> 'smbstat -r' > >>>> > >>>> code % rbytes/s tbytes/s req/s rt-mean rt-stddev > >>>> SmbCreateDirectory 00 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbDeleteDirectory 01 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbOpen 02 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbCreate 03 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbClose 04 0 0.000e+00 0.000e+00 0.000e+00 2.496e-04 8.003e-06 > >>>> SmbFlush 05 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbDelete 06 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbRename 07 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbQueryInformation 08 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbSetInformation 09 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbRead 0A 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbWrite 0B 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbLockByteRange 0C 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbUnlockByteRange 0D 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbCreateTemporary 0E 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbCreateNew 0F 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbCheckDirectory 10 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbProcessExit 11 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbSeek 12 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbLockAndRead 13 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbWriteAndUnlock 14 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbReadRaw 1A 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbWriteRaw 1D 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbSetInformation2 22 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbQueryInformation2 23 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbLockingX 24 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbTransaction 25 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbTransactionSecondary 26 0 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> 0.000e+00 > >>>> SmbIoctl 27 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbEcho 2B 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbWriteAndClose 2C 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbOpenX 2D 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbReadX 2E 0 0.000e+00 0.000e+00 0.000e+00 3.550e-04 1.856e-05 > >>>> SmbWriteX 2F 100 4.607e+02 1.675e+00 0.000e+00 3.893e-04 2.691e- > 07 > >>>> SmbCloseAndTreeDisconnect 31 0 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 0.000e+00 > >>>> SmbTransaction2 32 0 0.000e+00 0.000e+00 0.000e+00 5.203e-04 > 8.612e-06 > >>>> SmbTransaction2Secondary 33 0 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 0.000e+00 > >>>> SmbFindClose2 34 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbTreeConnect 70 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbTreeDisconnect 71 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbNegotiate 72 0 0.000e+00 0.000e+00 0.000e+00 4.625e-05 > 0.000e+00 > >>>> SmbSessionSetupX 73 0 0.000e+00 0.000e+00 0.000e+00 1.145e-01 > 0.000e+00 > >>>> SmbLogoffX 74 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbTreeConnectX 75 0 0.000e+00 0.000e+00 0.000e+00 5.851e-04 > 2.436e-05 > >>>> SmbQueryInformationDisk 80 0 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> 0.000e+00 > >>>> SmbSearch 81 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbFind 82 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> SmbFindUnique 83 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbFindClose 84 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbNtTransact A0 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbNtTransactSecondary A1 0 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> 0.000e+00 > >>>> SmbNtCreateX A2 0 0.000e+00 0.000e+00 0.000e+00 5.154e-02 2.063e- > 03 > >>>> SmbNtCancel A4 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbNtRename A5 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbOpenPrintFile C0 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> SmbWritePrintFile C1 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbClosePrintFile C2 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > >>>> 0.000e+00 > >>>> SmbGetPrintQueue C3 0 0.000e+00 0.000e+00 0.000e+00 0.000e+00 > 0.000e+00 > >>>> > >>>> 'smbstat -rz' > >>>> > >>>> code % rbytes/s tbytes/s req/s rt-mean rt-stddev > >>>> SmbClose 04 0 0.000e+00 0.000e+00 0.000e+00 2.445e-04 5.906e-06 > >>>> SmbReadX 2E 4 0.000e+00 2.772e+01 0.000e+00 1.556e-03 7.878e-06 > >>>> SmbWriteX 2F 96 7.162e+02 2.604e+00 0.000e+00 5.365e-04 3.913e-07 > >>>> SmbTransaction2 32 0 0.000e+00 0.000e+00 0.000e+00 5.203e-04 > 8.612e-06 > >>>> SmbNegotiate 72 0 0.000e+00 0.000e+00 0.000e+00 4.625e-05 > 0.000e+00 > >>>> SmbSessionSetupX 73 0 0.000e+00 0.000e+00 0.000e+00 1.145e-01 > 0.000e+00 > >>>> SmbTreeConnectX 75 0 0.000e+00 0.000e+00 0.000e+00 5.851e-04 > 2.436e-05 > >>>> SmbNtCreateX A2 0 0.000e+00 0.000e+00 0.000e+00 7.250e-02 2.304e- > 03 > >>>> > >>>> 6. Resources and Schedule > >>>> 6.4. Steering Committee requested information > >>>> 6.4.1. Consolidation C-team Name: > >>>> ON > >>>> 6.5. ARC review type: FastTrack > >>>> 6.6. ARC Exposure: open _______________________________________________ opensolaris-arc mailing list [email protected]
