Home | History | Annotate | Download | only in workloads
      1  5184  ek110237 #
      2  5184  ek110237 # CDDL HEADER START
      3  5184  ek110237 #
      4  5184  ek110237 # The contents of this file are subject to the terms of the
      5  5184  ek110237 # Common Development and Distribution License (the "License").
      6  5184  ek110237 # You may not use this file except in compliance with the License.
      7  5184  ek110237 #
      8  5184  ek110237 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9  5184  ek110237 # or http://www.opensolaris.org/os/licensing.
     10  5184  ek110237 # See the License for the specific language governing permissions
     11  5184  ek110237 # and limitations under the License.
     12  5184  ek110237 #
     13  5184  ek110237 # When distributing Covered Code, include this CDDL HEADER in each
     14  5184  ek110237 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15  5184  ek110237 # If applicable, add the following below this CDDL HEADER, with the
     16  5184  ek110237 # fields enclosed by brackets "[]" replaced with your own identifying
     17  5184  ek110237 # information: Portions Copyright [yyyy] [name of copyright owner]
     18  5184  ek110237 #
     19  5184  ek110237 # CDDL HEADER END
     20  5184  ek110237 #
     21  5184  ek110237 #
     22  9801    Andrew # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     23  5184  ek110237 # Use is subject to license terms.
     24  5184  ek110237 #
     25  9801    Andrew # $dir - directory for datafiles
     26  9801    Andrew # $eventrate - event generator rate (0 == free run)
     27  5184  ek110237 # $iosize - iosize for database block access
     28  5184  ek110237 # $nshadows - number of shadow processes
     29  5184  ek110237 # $ndbwriters - number of database writers
     30  9801    Andrew # $nfiles - number of data files
     31  9801    Andrew # $nlogfiles - number of log files
     32  9801    Andrew 
     33  5184  ek110237 set $dir=/tmp
     34  9801    Andrew set $eventrate=0
     35  5184  ek110237 set $runtime=30
     36  5184  ek110237 set $iosize=2k
     37  5184  ek110237 set $nshadows=200
     38  5184  ek110237 set $ndbwriters=10
     39  5184  ek110237 set $usermode=200000
     40  5184  ek110237 set $filesize=10m
     41  5184  ek110237 set $memperthread=1m
     42  5184  ek110237 set $workingset=0
     43  5184  ek110237 set $cached=0
     44  5184  ek110237 set $logfilesize=10m
     45  5184  ek110237 set $nfiles=10
     46  5184  ek110237 set $nlogfiles=1
     47  5184  ek110237 set $directio=0
     48  9801    Andrew 
     49  9801    Andrew eventgen rate = $eventrate
     50  5184  ek110237 
     51  5184  ek110237 # Define a datafile and logfile
     52  5184  ek110237 define fileset name=datafiles,path=$dir,size=$filesize,filesizegamma=0,entries=$nfiles,dirwidth=1024,prealloc=100,cached=$cached,reuse
     53  5184  ek110237 define fileset name=logfile,path=$dir,size=$logfilesize,filesizegamma=0,entries=$nlogfiles,dirwidth=1024,prealloc=100,cached=$cached,reuse
     54  5184  ek110237 
     55  5184  ek110237 define process name=lgwr,instances=1
     56  5184  ek110237 {
     57  5184  ek110237   thread name=lgwr,memsize=$memperthread,useism
     58  5184  ek110237   {
     59  5184  ek110237     flowop aiowrite name=lg-write,filesetname=logfile,
     60  5673  aw148015         iosize=256k,random,directio=$directio,dsync
     61  5184  ek110237     flowop aiowait name=lg-aiowait
     62  5184  ek110237     flowop semblock name=lg-block,value=3200,highwater=1000
     63  5184  ek110237   }
     64  5184  ek110237 }
     65  5184  ek110237 
     66  5184  ek110237 # Define database writer processes
     67  5184  ek110237 define process name=dbwr,instances=$ndbwriters
     68  5184  ek110237 {
     69  5184  ek110237   thread name=dbwr,memsize=$memperthread,useism
     70  5184  ek110237   {
     71  5184  ek110237     flowop aiowrite name=dbwrite-a,filesetname=datafiles,
     72  6613  ek110237         iosize=$iosize,workingset=$workingset,random,iters=100,opennext,directio=$directio,dsync
     73  5184  ek110237     flowop hog name=dbwr-hog,value=10000
     74  5184  ek110237     flowop semblock name=dbwr-block,value=1000,highwater=2000
     75  5184  ek110237     flowop aiowait name=dbwr-aiowait
     76  5184  ek110237   }
     77  5184  ek110237 }
     78  5184  ek110237 
     79  5184  ek110237 
     80  5184  ek110237 define process name=shadow,instances=$nshadows
     81  5184  ek110237 {
     82  5184  ek110237   thread name=shadow,memsize=$memperthread,useism
     83  5184  ek110237   {
     84  5184  ek110237     flowop read name=shadowread,filesetname=datafiles,
     85  5184  ek110237       iosize=$iosize,workingset=$workingset,random,opennext,directio=$directio
     86  5184  ek110237     flowop hog name=shadowhog,value=$usermode
     87  5184  ek110237     flowop sempost name=shadow-post-lg,value=1,target=lg-block,blocking
     88  5184  ek110237     flowop sempost name=shadow-post-dbwr,value=1,target=dbwr-block,blocking
     89  5184  ek110237     flowop eventlimit name=random-rate
     90  5184  ek110237   }
     91  5184  ek110237 }
     92  5184  ek110237 
     93  9801    Andrew echo "OLTP Version 2.3 personality successfully loaded"
     94  9801    Andrew usage "Usage: set \$dir=<dir>         defaults to $dir"
     95  9801    Andrew usage " "
     96  9801    Andrew usage "       set \$eventrate=<value> defaults to $eventrate"
     97  5184  ek110237 usage " "
     98  5184  ek110237 usage "       set \$filesize=<size>   defaults to $filesize, n.b. there are ten files of this size"
     99  5184  ek110237 usage " "
    100  5184  ek110237 usage "       set \$logfilesize=<size> defaults to $logfilesize, n.b. there is one file of this size"
    101  5184  ek110237 usage " "
    102  5184  ek110237 usage "       set \$iosize=<value>    defaults to $iosize, typically 2k or 8k"
    103  5184  ek110237 usage " "
    104  5184  ek110237 usage "       set \$cached=<bool>     defaults to $cached"
    105  5184  ek110237 usage " "
    106  5184  ek110237 usage "       set \$memperthread=<value> defaults to $memperthread"
    107  5184  ek110237 usage " "
    108  5184  ek110237 usage "       set \$directio=<value>  defaults to $directio"
    109  5184  ek110237 usage " "
    110  5184  ek110237 usage "       run runtime (e.g. run 60)"
    111  5184  ek110237 usage " "
    112  5184  ek110237 usage "Note - total filesize should be at least 2x physical memory size for conforming test)"
    113  5184  ek110237 usage "       i.e. if physmem = 4G, set filesize to 4G * 2 / 10, or 800m" 
    114  5184  ek110237 usage " "
    115  5184  ek110237 usage "Note - this workload needs at least 512MB of of memory"
    116  5184  ek110237 usage " "
    117  5184  ek110237 
    118