################## # # Template for a Vdbench Test Script # Re. SNIA Emerald Power Efficiency Measurement Specification # History: #Version 2013_08_21 Inital script. #Version 2013_12_18 (draft) Changed interval from 5 seconds to 60 seconds, added 10 minute warmup section with different identifer. #Version 2014_01_15 (draft) Changed the elasped to 31 for final test phases to account for Vdbench not using the first minute in the average calculation. #Version 2014_02_26 (draft) Fixed bug in the pre-fill rd section by removing the warmup=30 requirement. Fixed typo in the warm up RD for sequential write. #Version 2014_04_02 (draft) Typo fixes. Allowed "Change" values to have separate values for each type. #Version 2014_04_30 (draft) Deleted Extraneous Comments. added Storage Designator Section. Added hints to equate thread count between fill and SW, conditioning and HB. #Version 2014_05_14 Approved text edits. # # Copyright (c) 2014 Storage Networking Industry Association # # This template is provided to facilitate testing of Online and Near Online storage systems aligned to the current SNIA Emerald Power Efficiency Measurement Specification. # Any resulting script is run with the Emerald_System_Configuration through this example command line: # vdbench -f Emerald_System_configuration Emerald_test_script # # The only recommended changes to this template are those that define the storage system under test and its operation for Vdbench. # SNIA provides this template only as an example and does not guarantee its correctness. # SNIA may change this template at any time. # Responsibility for compliance with the SNIA Emerald Power Efficiency Measurement Specification resides with the test sponsor. # The SNIA Emerald Power Efficiency Measurement Specification takes precedence over this template if there is a conflict. # # Needed changes to this template are identified as (Change_an, Change_ym,Change_xk). # Change_an is an integer representing the number of streams to be used across the concatenated storage space. # There are two instances (n = 1,2) of Change_an in the template that need to be replaced. These can be the same value. # Change_ym is an integer representing the number of threads for streaming workloads. This shall be a multiple of the value used for Change_an. # There are three instances (m = 1,2,3) of Change_ym in the template that need to be replaced. These can be the same value. # Change_xk is an integer representing the number of threads used for the random workloads. # There are four instances (K = 1,2,3,4) of Change_xk in the template that need to be replaced. These can be the same value. # concatenate=yes compratio=2.00 ################## # Begin Storage Designator Section # Change sd's to Match Storage Configuration ################## ################## # Example sds (Windows) ################## #sd=sd1,lun=\\.\PhysicalDrive2 #sd=sd2,lun=\\.\PhysicalDrive3 #sd=sd3,lun=\\.\PhysicalDrive4 #sd=sd4,lun=\\.\PhysicalDrive5 #sd=sd5,lun=\\.\PhysicalDrive6 #sd=sd6,lun=\\.\PhysicalDrive7 ################# # Work load definitions used in the SNIA Emerald Power Efficiency Measurement Specification # Begin block of no changes to script ################## #Hotband workload wd=default,xfersize=(8k,31,4K,27,64K,20,16K,5,32K,5,128K,2,1K,2,60K,2,512,2,256K,2,48K,1,56K,1),rdpct=70,th=1 wd=HOTwd_uniform,skew=6,sd=sd*,seekpct=rand,rdpct=50 wd=HOTwd_hot1,sd=sd*,skew=28,seekpct=rand,hotband=(10,18) wd=HOTwd_99rseq1,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=100 wd=HOTwd_99rseq2,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=100 wd=HOTwd_99rseq3,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=100 wd=HOTwd_99rseq4,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=100 wd=HOTwd_99rseq5,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=100 wd=HOTwd_hot2,sd=sd*,skew=14,seekpct=rand,hotband=(32,40) wd=HOTwd_hot3,sd=sd*,skew=7,seekpct=rand,hotband=(55,63) wd=HOTwd_hot4,sd=sd*,skew=5,seekpct=rand,hotband=(80,88) wd=HOTwd_99wseq1,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=0 wd=HOTwd_99wseq2,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=0 wd=HOTwd_99wseq3,sd=sd*,skew=5,xfersize=(8k,33,4K,29,64K,22,16K,6,32K,5,128K,3,256K,2),seekpct=1,rdpct=0 ################## # End Block of no changes ################## # Random 4 Corners workload wd=wd_mixed,sd=sd*,seekpct=rand # Sequential 4 Corners workload # Replace Change_a2 defines the number of streams across the concatenated storage space wd=wd_seq,sd=sd*,seekpct=0,streams=Change_a2 # Pre=fill storage workload # Replace Change_a1 defines the number of streams across the concatenated storage space # Hint: Normally, Change_a2 equates to Change_a1 wd=wd_fill,sd=sd*,seekpct=eof,streams=Change_a1 ################## #Pre-fill and conditioning Run Definitions ################## # Pre-fill Test Phase # Test phase that fills storage. # Replace Change_y1 with the optimal number of threads that the system can handle and fill the storage quickly # The number of threads (Change_y1) for the pre-fill workload shall be a multiple of Change_a1 # Hint: After tuning Change_y2 below Eguate Change_y1 to Change_y2 # PREFILL NOT PART OF POWER TESTING rd=rd_prefill,wd=wd_fill,iorate=max,rdpct=0,xfersize=256K,elapsed=5000m,interval=60,th=Change_y1 # START OF POWER TESTING # Conditioning Test Phase # Test phase to condition and stabilize the storage system # Replace Change_x1 to optimal number of threads for system. Recommend ~8 per physical drive in system # After tuning to determine Change_x2 below Change_x1 Shall = Change_x2 rd=rd_conditioning,wd=HOTwd*,iorate=MAX,warmup=10m,elapsed=12H,interval=60,th=Change_x1 ################## # Active Run Definitions ################## #default parameters used for all active run definitions rd=default,iorate=MAX,elapsed=31m,interval=60 # Hot Band test phase # Replace Change_x2 to optimal number of threads for system. Recommend ~8 per physical drive in system rd=rd_hband_final,wd=HOTwd*,th=Change_x2 # Random writes test phase # Replace Change_x3 to optimal number of threads for system. Recommend ~4-8 per physical drive in system rd=rd_rw_warm,wd=wd_mixed,rdpct=0,xfersize=8k,elapsed=10m,th=Change_x3 #added section for warmup period of 10 minutes rd=rd_rw_final,wd=wd_mixed,rdpct=0,xfersize=8k,th=Change_x3 # Random reads test phase # Replace Change_x4 to optimal number of threads for system. Recommend ~8 per physical drive in system rd=rd_rr_warm,wd=wd_mixed,rdpct=100,xfersize=8k,elapsed=10m,th=Change_x4 #added section for warmup period of 10 minutes rd=rd_rr_final,wd=wd_mixed,rdpct=100,xfersize=8k,th=Change_x4 # Sequential write test phase # Replace Change_y2 with the optimal number of threads for the system under test Recommend 2-3 per physical drive in system # The number of threads (Change_y2) for the sequential workload shall be a multiple of Change_a2 rd=rd_sw_warm,wd=wd_seq,rdpct=0,xfersize=256K,elapsed=10m,th=Change_y2 #added section for warmup period of 10 minutes rd=rd_sw_final,wd=wd_seq,rdpct=0,xfersize=256K,th=Change_y2 # Sequential read test phase # Replace Change_y3 with the optimal number of threads for the system under test Recommend 2-3 per physical drive in system # The number of threads (Change_y3) for the sequential workload shall be a multiple of Change_a2 rd=rd_sr_warm,wd=wd_seq,rdpct=100,xfersize=256K,elapsed=10m,th=Change_y3 rd=rd_sr_final,wd=wd_seq,rdpct=100,xfersize=256K,th=Change_y3 # For additional information see http://sniaemerald.com ################## # END ##################