140 likes | 245 Views
Overview of the SNIA CIFS Benchmark Client. Richard Sharpe Panasas, Inc & Samba Team. CIFS Client Program Goals. Avoids NetBench Problems Not affected by client differences Not affected by client caches Customize Performance Analysis You can develop your own scripts
E N D
Overview of the SNIA CIFS Benchmark Client Richard Sharpe Panasas, Inc & Samba Team
CIFS Client Program Goals • Avoids NetBench Problems • Not affected by client differences • Not affected by client caches • Customize Performance Analysis • You can develop your own scripts • Focus on issues important to you • Produces Quality Output • Min, max, and mean latency • Accumulates sum-of-squares • Jain’s Fairness Index and Std Dev SNIA CIFS Benchmark Client, 2002
CIFS Client Program Goals, cont • Drive multiple interfaces • 5 to 8 GigE adapters not hard • Simple to run • Source available from: • cvs.samba.org • xxx.netapp.com SNIA CIFS Benchmark Client, 2002
Based on Samba code • Samba consists of several parts • Server, everyone knows of this • MSRPC Library, client and server • Client Library • Used by a number of parts of Samba • libsmbclient • Took the client library and underlying code • Completely separate from Samba • Can still benefit from improvements in Samba SNIA CIFS Benchmark Client, 2002
Speed Issues • Slow driver biases the test • I use 2 GHz P4 with Plumas chip-set • Speed more important than memory • Read data thrown away as soon as read from socket • Send data made up at lowest layer • Mean’s you can’t verify server preserves data • Make sure you have free CPU when running tests SNIA CIFS Benchmark Client, 2002
CIFS Load Gen Licence • The source code falls under the GPL • Developed from GPL’d code • Any workload scripts can be licensed in whatever way the developer of the script wishes • Similar to the concept of editing files with Emacs or compiling code with GCC SNIA CIFS Benchmark Client, 2002
Capabilities • Initialize, warm-up and measurement phases possible • Specify multiple interfaces • Disconnect between initialize/warm-up and measurement phase • Avoid server-cache effects from init • Only one workload script file so far SNIA CIFS Benchmark Client, 2002
How to Run CIFS Load Gen • cifs_bm [options] //srvr/share • -c <workload script file> • -W <workgroup/domain> • -U <user%pass> • -I <IP-1[,IP-2…]> • For multiple interfaces • -N <client-instance-count> • -p <path-to-prefix-files-with> • -v • -d <operation-defeat-list> SNIA CIFS Benchmark Client, 2002
Sample Workload Script BM_MEASURE NTcreateX \clients\client1\xxx 0x40 0x2 12119 WriteX 12119 0 65471 65471 WriteX 12110 65471 65471 65471 Close 12119 NTcreateX \clients\client1\xxx 0x40 0x1 12120 ReadX 12120 0 65471 65471 QUERY_FILE_INFORMATION 12120 Close Unlink \clients\client1\xxx.yyy SNIA CIFS Benchmark Client, 2002
Output – 15 Clients Throughput 35.1498 MB/sec Total bytes read : 3072228525 Total bytes written: 2044882365 Total RO file opens: 84735 Total WO file opens: 56640 Total RW file opens: 9630 Command: Count Min Latency Max Latency Tot Latency Ave Latncy (micro sec) (micro sec) (micro sec) Close 149985 96 263064 168180313 1121 DelTree 0 0 0 0 0 Find First 44700 167 242110 82544919 1846 Flush 0 0 0 0 0 Locking & X 0 0 0 0 0 NT Create & X 182820 127 211551 249020098 1362 Query File Info 106890 102 219127 132250404 1237 Query FS Info 21060 380 263509 56523135 2683 Query Path Info 93990 128 196838 147776443 1572 Read & X 988995 75 264153 866324679 875 Rename 5370 243 223809 10720453 1996 Rmdir 0 0 0 0 0 Unlink 25245 166 271213 44684454 1770 Write & X 201225 80 272350 301845693 1500 SNIA CIFS Benchmark Client, 2002
Problems to resolve • Early termination of some clients • Biases the results towards the end • A scripting language to ease test set development • Perl, TCL, Python? • Credible set of benchmark scripts • Realistic workload • Heavy workload • Best read/write throughput • Prevent everything being in cache SNIA CIFS Benchmark Client, 2002
Future Work • Add distributed Load Generation • More driver machines for greater load • Add Standard Deviation • What does this mean when latency distributions are bimodal/multimodal • Add Jain’s Fairness Index • How well the server serves clients equally • Add NFS functions • Measure interference of one protocol by the other SNIA CIFS Benchmark Client, 2002
Future Work, cont • Ability to measure connection rate • Ability to measure authentication rate • Ability to measure TCON/TDIS rate • Set up 10Gbps test driver this year • Multiple dual-GigE adapters in Plumas- based system • Set up 50Gbps test driver next year • Multiple drivers using something like PVM toolkit SNIA CIFS Benchmark Client, 2002
Acknowledgments • Andrew Tridgell • Samba Team • Steve French • Swami Ramany • Dan Oldman • Jim Norton • Tamir Ram • Rakesh Sharma • John Terpstra SNIA CIFS Benchmark Client, 2002