1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 #
  22 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 
  26 # $dir - directory for datafiles
  27 # $eventrate - event generator rate (0 == free run)
  28 # $iosize - iosize for database block access
  29 # $nshadows - number of shadow processes
  30 # $ndbwriters - number of database writers
  31 
  32 set $dir=/tmp
  33 set $eventrate=0
  34 set $iosize=2k
  35 set $nshadows=200
  36 set $ndbwriters=10
  37 set $runtime=30
  38 set $usermode=20000
  39 set $memperthread=1m
  40 
  41 debug 1
  42 eventgen rate=$eventrate
  43 
  44 # Define a datafile and logfile
  45 define file name=aux.df,path=$dir,size=251m,reuse,prealloc,paralloc
  46 define file name=control_001,path=$dir,size=2m,reuse,prealloc,paralloc
  47 define file name=cust_0_0,path=$dir,size=6704m,reuse,prealloc,paralloc
  48 define file name=cust_0_1,path=$dir,size=6704m,reuse,prealloc,paralloc
  49 define file name=cust_0_2,path=$dir,size=6704m,reuse,prealloc,paralloc
  50 define file name=cust_0_3,path=$dir,size=6704m,reuse,prealloc,paralloc
  51 define file name=dist_0_0,path=$dir,size=31m,reuse,prealloc,paralloc
  52 define file name=hist_0_0,path=$dir,size=3002m,reuse,prealloc,paralloc
  53 define file name=icust1_0_0,path=$dir,size=4943m,reuse,prealloc,paralloc
  54 define file name=icust2_0_0,path=$dir,size=4943m,reuse,prealloc,paralloc
  55 define file name=idist_0_0,path=$dir,size=11m,reuse,prealloc,paralloc
  56 define file name=iitem_0_0,path=$dir,size=11m,reuse,prealloc,paralloc
  57 define file name=iordr2_0_0,path=$dir,size=1651m,reuse,prealloc,paralloc
  58 define file name=istok_0_0,path=$dir,size=2262m,reuse,prealloc,paralloc
  59 define file name=item_0_0,path=$dir,size=21m,reuse,prealloc,paralloc
  60 define file name=iware_0_0,path=$dir,size=11m,reuse,prealloc,paralloc
  61 define file name=nord_0_0,path=$dir,size=561m,reuse,prealloc,paralloc
  62 define file name=ordr_0_0,path=$dir,size=44301m,reuse,prealloc,paralloc
  63 define file name=roll1,path=$dir,size=2001m,reuse,prealloc,paralloc
  64 define file name=sp_0,path=$dir,size=1001m,reuse,prealloc,paralloc
  65 define file name=stok_0_0,path=$dir,size=8052m,reuse,prealloc,paralloc
  66 define file name=stok_0_1,path=$dir,size=8052m,reuse,prealloc,paralloc
  67 define file name=stok_0_2,path=$dir,size=8052m,reuse,prealloc,paralloc
  68 define file name=stok_0_3,path=$dir,size=8052m,reuse,prealloc,paralloc
  69 define file name=stok_0_4,path=$dir,size=8052m,reuse,prealloc,paralloc
  70 define file name=system_1,path=$dir,size=401m,reuse,prealloc,paralloc
  71 define file name=temp_0_0,path=$dir,size=4943m,reuse,prealloc,paralloc
  72 define file name=temp_0_1,path=$dir,size=4943m,reuse,prealloc,paralloc
  73 define file name=ware_0_0,path=$dir,size=11m,reuse,prealloc,paralloc
  74 define file name=log_1_1,path=$dir,size=1021m,reuse,prealloc,paralloc
  75 
  76 # Define database writer processes
  77 define process name=dbwr,instances=$ndbwriters
  78 {
  79   thread name=dbwr,memsize=$memperthread,useism
  80   {
  81         flowop aiowrite name=dbaiowrite-aux.df,filename=aux.df,
  82                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  83         flowop aiowrite name=dbaiowrite-control_001,filename=control_001,
  84                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  85         flowop aiowrite name=dbaiowrite-cust_0_0,filename=cust_0_0,
  86                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  87         flowop aiowrite name=dbaiowrite-cust_0_1,filename=cust_0_1,
  88                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  89         flowop aiowrite name=dbaiowrite-cust_0_2,filename=cust_0_2,
  90                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  91         flowop aiowrite name=dbaiowrite-cust_0_3,filename=cust_0_3,
  92                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  93         flowop aiowrite name=dbaiowrite-dist_0_0,filename=dist_0_0,
  94                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  95         flowop aiowrite name=dbaiowrite-hist_0_0,filename=hist_0_0,
  96                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  97         flowop aiowrite name=dbaiowrite-icust1_0_0,filename=icust1_0_0,
  98                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
  99         flowop aiowrite name=dbaiowrite-icust2_0_0,filename=icust2_0_0,
 100                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 101         flowop aiowrite name=dbaiowrite-idist_0_0,filename=idist_0_0,
 102                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 103         flowop aiowrite name=dbaiowrite-iitem_0_0,filename=iitem_0_0,
 104                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 105         flowop aiowrite name=dbaiowrite-iordr2_0_0,filename=iordr2_0_0,
 106                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 107         flowop aiowrite name=dbaiowrite-istok_0_0,filename=istok_0_0,
 108                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 109         flowop aiowrite name=dbaiowrite-item_0_0,filename=item_0_0,
 110                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 111         flowop aiowrite name=dbaiowrite-iware_0_0,filename=iware_0_0,
 112                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 113         flowop aiowrite name=dbaiowrite-nord_0_0,filename=nord_0_0,
 114                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 115         flowop aiowrite name=dbaiowrite-ordr_0_0,filename=ordr_0_0,
 116                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 117         flowop aiowrite name=dbaiowrite-roll1,filename=roll1,
 118                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 119         flowop aiowrite name=dbaiowrite-sp_0,filename=sp_0,
 120                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 121         flowop aiowrite name=dbaiowrite-stok_0_0,filename=stok_0_0,
 122                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 123         flowop aiowrite name=dbaiowrite-stok_0_1,filename=stok_0_1,
 124                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 125         flowop aiowrite name=dbaiowrite-stok_0_2,filename=stok_0_2,
 126                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 127         flowop aiowrite name=dbaiowrite-stok_0_3,filename=stok_0_3,
 128                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 129         flowop aiowrite name=dbaiowrite-stok_0_4,filename=stok_0_4,
 130                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 131         flowop aiowrite name=dbaiowrite-system_1,filename=system_1,
 132                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 133         flowop aiowrite name=dbaiowrite-temp_0_0,filename=temp_0_0,
 134                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 135         flowop aiowrite name=dbaiowrite-temp_0_1,filename=temp_0_1,
 136                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 137         flowop aiowrite name=dbaiowrite-ware_0_0,filename=ware_0_0,
 138                 iosize=$iosize,workingset=10g,random,dsync,directio,iters=10
 139         flowop hog name=dbwr-hog,value=10000
 140         flowop semblock name=dbwr-block,value=100,highwater=10000
 141         flowop aiowait name=dbwr-aiowait
 142   }
 143 }
 144 
 145 define process name=lgwr,instances=1
 146 {
 147   thread name=lgwr,memsize=$memperthread,useism
 148   {
 149     flowop write name=lg-write,filename=log_1_1,
 150         iosize=256k,workingset=1g,random,dsync,directio
 151 #   flowop delay name=lg-delay,value=1
 152     flowop semblock name=lg-block,value=320,highwater=1000
 153   }
 154 }
 155 
 156 define process name=shadow,instances=$nshadows
 157 {
 158   thread name=shadow,memsize=$memperthread,useism
 159   {
 160         flowop read name=shadowread-aux.df,filename=aux.df,
 161                 iosize=$iosize,workingset=10g,random,dsync,directio
 162         flowop hog name=shadowhog,value=$usermode
 163         flowop read name=shadowread-control_001,filename=control_001,
 164                 iosize=$iosize,workingset=10g,random,dsync,directio
 165         flowop hog name=shadowhog,value=$usermode
 166         flowop read name=shadowread-cust_0_0,filename=cust_0_0,
 167                 iosize=$iosize,workingset=10g,random,dsync,directio
 168         flowop hog name=shadowhog,value=$usermode
 169         flowop read name=shadowread-cust_0_1,filename=cust_0_1,
 170                 iosize=$iosize,workingset=10g,random,dsync,directio
 171         flowop hog name=shadowhog,value=$usermode
 172         flowop read name=shadowread-cust_0_2,filename=cust_0_2,
 173                 iosize=$iosize,workingset=10g,random,dsync,directio
 174         flowop hog name=shadowhog,value=$usermode
 175         flowop read name=shadowread-cust_0_3,filename=cust_0_3,
 176                 iosize=$iosize,workingset=10g,random,dsync,directio
 177         flowop hog name=shadowhog,value=$usermode
 178         flowop read name=shadowread-dist_0_0,filename=dist_0_0,
 179                 iosize=$iosize,workingset=10g,random,dsync,directio
 180         flowop hog name=shadowhog,value=$usermode
 181         flowop read name=shadowread-hist_0_0,filename=hist_0_0,
 182                 iosize=$iosize,workingset=10g,random,dsync,directio
 183         flowop hog name=shadowhog,value=$usermode
 184         flowop read name=shadowread-icust1_0_0,filename=icust1_0_0,
 185                 iosize=$iosize,workingset=10g,random,dsync,directio
 186         flowop hog name=shadowhog,value=$usermode
 187         flowop read name=shadowread-icust2_0_0,filename=icust2_0_0,
 188                 iosize=$iosize,workingset=10g,random,dsync,directio
 189         flowop hog name=shadowhog,value=$usermode
 190         flowop read name=shadowread-idist_0_0,filename=idist_0_0,
 191                 iosize=$iosize,workingset=10g,random,dsync,directio
 192         flowop hog name=shadowhog,value=$usermode
 193         flowop read name=shadowread-iitem_0_0,filename=iitem_0_0,
 194                 iosize=$iosize,workingset=10g,random,dsync,directio
 195         flowop hog name=shadowhog,value=$usermode
 196         flowop read name=shadowread-iordr2_0_0,filename=iordr2_0_0,
 197                 iosize=$iosize,workingset=10g,random,dsync,directio
 198         flowop hog name=shadowhog,value=$usermode
 199         flowop read name=shadowread-istok_0_0,filename=istok_0_0,
 200                 iosize=$iosize,workingset=10g,random,dsync,directio
 201         flowop hog name=shadowhog,value=$usermode
 202         flowop read name=shadowread-item_0_0,filename=item_0_0,
 203                 iosize=$iosize,workingset=10g,random,dsync,directio
 204         flowop hog name=shadowhog,value=$usermode
 205         flowop read name=shadowread-iware_0_0,filename=iware_0_0,
 206                 iosize=$iosize,workingset=10g,random,dsync,directio
 207         flowop hog name=shadowhog,value=$usermode
 208         flowop read name=shadowread-nord_0_0,filename=nord_0_0,
 209                 iosize=$iosize,workingset=10g,random,dsync,directio
 210         flowop hog name=shadowhog,value=$usermode
 211         flowop read name=shadowread-ordr_0_0,filename=ordr_0_0,
 212                 iosize=$iosize,workingset=10g,random,dsync,directio
 213         flowop hog name=shadowhog,value=$usermode
 214         flowop read name=shadowread-roll1,filename=roll1,
 215                 iosize=$iosize,workingset=10g,random,dsync,directio
 216         flowop hog name=shadowhog,value=$usermode
 217         flowop read name=shadowread-sp_0,filename=sp_0,
 218                 iosize=$iosize,workingset=10g,random,dsync,directio
 219         flowop hog name=shadowhog,value=$usermode
 220         flowop read name=shadowread-stok_0_0,filename=stok_0_0,
 221                 iosize=$iosize,workingset=10g,random,dsync,directio
 222         flowop hog name=shadowhog,value=$usermode
 223         flowop read name=shadowread-stok_0_1,filename=stok_0_1,
 224                 iosize=$iosize,workingset=10g,random,dsync,directio
 225         flowop hog name=shadowhog,value=$usermode
 226         flowop read name=shadowread-stok_0_2,filename=stok_0_2,
 227                 iosize=$iosize,workingset=10g,random,dsync,directio
 228         flowop hog name=shadowhog,value=$usermode
 229         flowop read name=shadowread-stok_0_3,filename=stok_0_3,
 230                 iosize=$iosize,workingset=10g,random,dsync,directio
 231         flowop hog name=shadowhog,value=$usermode
 232         flowop read name=shadowread-stok_0_4,filename=stok_0_4,
 233                 iosize=$iosize,workingset=10g,random,dsync,directio
 234         flowop hog name=shadowhog,value=$usermode
 235         flowop read name=shadowread-system_1,filename=system_1,
 236                 iosize=$iosize,workingset=10g,random,dsync,directio
 237         flowop hog name=shadowhog,value=$usermode
 238         flowop read name=shadowread-temp_0_0,filename=temp_0_0,
 239                 iosize=$iosize,workingset=10g,random,dsync,directio
 240         flowop hog name=shadowhog,value=$usermode
 241         flowop read name=shadowread-temp_0_1,filename=temp_0_1,
 242                 iosize=$iosize,workingset=10g,random,dsync,directio
 243         flowop hog name=shadowhog,value=$usermode
 244         flowop read name=shadowread-ware_0_0,filename=ware_0_0,
 245                 iosize=$iosize,workingset=10g,random,dsync,directio
 246         flowop hog name=shadowhog,value=$usermode
 247         flowop read name=shadowread-log_1_1,filename=log_1_1,
 248                 iosize=$iosize,workingset=10g,random,dsync,directio
 249         flowop hog name=shadowhog,value=$usermode
 250         flowop sempost name=shadow-post-lg,value=1,target=lg-block,blocking
 251         flowop sempost name=shadow-post-dbwr,value=1,target=dbwr-block,blocking
 252         flowop eventlimit name=random-rate
 253   }
 254 }
 255 
 256 echo "Tpcso Version 2.1 personality successfully loaded"
 257 usage "Usage: set \$dir=<dir>         defaults to $dir"
 258 usage " "
 259 usage "       set \$eventrate=<value> defaults to $eventrate"
 260 usage " "
 261 usage "       set \$iosize=<value>    defaults to $iosize, typically 2k or 8k"
 262 usage " "
 263 usage "       set \$memperthread=<value> defaults to $memperthread, there are 211 threads"
 264 usage " "
 265 usage "       run runtime (e.g. run 60)"
 266 usage " "
 267 usage "Note - this workload needs at least 512MB of of memory"
 268 usage " "