1 8404 Andrew # 2 8404 Andrew # CDDL HEADER START 3 8404 Andrew # 4 8404 Andrew # The contents of this file are subject to the terms of the 5 8404 Andrew # Common Development and Distribution License (the "License"). 6 8404 Andrew # You may not use this file except in compliance with the License. 7 8404 Andrew # 8 8404 Andrew # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 8404 Andrew # or http://www.opensolaris.org/os/licensing. 10 8404 Andrew # See the License for the specific language governing permissions 11 8404 Andrew # and limitations under the License. 12 8404 Andrew # 13 8404 Andrew # When distributing Covered Code, include this CDDL HEADER in each 14 8404 Andrew # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 8404 Andrew # If applicable, add the following below this CDDL HEADER, with the 16 8404 Andrew # fields enclosed by brackets "[]" replaced with your own identifying 17 8404 Andrew # information: Portions Copyright [yyyy] [name of copyright owner] 18 8404 Andrew # 19 8404 Andrew # CDDL HEADER END 20 8404 Andrew # 21 9801 Andrew # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 22 8404 Andrew # Use is subject to license terms. 23 8404 Andrew # 24 9801 Andrew # Exercises the indexed attribute of the fileset_pick() function. 25 8404 Andrew # 26 8404 Andrew 27 8404 Andrew set $dir=/tmp 28 8404 Andrew set $cached=false 29 8404 Andrew set $meandirwidth=20 30 8404 Andrew set $nthreads=5 31 9801 Andrew set $nfiles=10000 32 8404 Andrew set $sync=false 33 8404 Andrew 34 8404 Andrew define randvar name=$wrtiosize, min=512, round=512, type=gamma, mean=16k 35 8404 Andrew 36 8404 Andrew define randvar name=$rdiosize, type=tabular, min=8k, round=1k, randtable = 37 8404 Andrew {{85, 8k, 8k}, 38 8404 Andrew {15, 8k, 64k} 39 8404 Andrew } 40 8404 Andrew 41 8404 Andrew define randvar name=$filesize, type=tabular, min=1k, randtable = 42 8404 Andrew {{33, 1k, 1k}, 43 8404 Andrew {21, 1k, 3k}, 44 8404 Andrew {13, 3k, 5k}, 45 8404 Andrew {10, 5k, 11k}, 46 8404 Andrew {08, 11k, 21k}, 47 8404 Andrew {05, 21k, 43k}, 48 8404 Andrew {04, 43k, 85k}, 49 8404 Andrew {03, 85k, 171k}, 50 8404 Andrew {02, 171k, 341k}, 51 8404 Andrew {01, 341k, 1707k} 52 8404 Andrew } 53 8404 Andrew 54 8404 Andrew define randvar name=$fileidx, type=gamma, min=0, gamma=100 55 8404 Andrew 56 9801 Andrew define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=100,cached=$cached 57 8404 Andrew 58 8404 Andrew define process name=netclient,instances=1 59 8404 Andrew { 60 8404 Andrew thread name=fileuser,memsize=10m,instances=$nthreads 61 8404 Andrew { 62 8404 Andrew flowop openfile name=openfile1,filesetname=bigfileset,indexed=$fileidx,fd=1 63 8404 Andrew flowop openfile name=openfile2,filesetname=bigfileset,indexed=$fileidx,fd=2 64 8404 Andrew flowop openfile name=openfile3,filesetname=bigfileset,indexed=$fileidx,fd=3 65 8404 Andrew flowop appendfilerand name=appendfilerand1,iosize=$wrtiosize,fd=1 66 8404 Andrew flowop closefile name=closefile1,fd=1 67 8404 Andrew flowop readwholefile name=readfile1,iosize=$rdiosize,fd=2 68 8404 Andrew flowop readwholefile name=readfile2,iosize=$rdiosize,fd=3 69 8404 Andrew flowop closefile name=closefile2,fd=2 70 8404 Andrew flowop closefile name=closefile3,fd=3 71 8404 Andrew } 72 8404 Andrew } 73 8404 Andrew 74 9801 Andrew echo "NetworkServer Version 1.1 personality successfully loaded" 75 8404 Andrew usage "Usage: set \$dir=<dir> defaults to $dir" 76 8404 Andrew usage " set \$cached=<bool> defaults to $cached" 77 8404 Andrew usage " set \$wrtiosize.type=<type> defaults to $wrtiosize.type" 78 8404 Andrew usage " set \$wrtiosize.randsrc=<src> defaults to $wrtiosize.randsrc" 79 8404 Andrew usage " set \$wrtiosize.mean=<mean> defaults to $wrtiosize.mean" 80 8404 Andrew usage " set \$wrtiosize.gamma=<gamma> defaults to $wrtiosize.gamma" 81 8404 Andrew usage " set \$rdiosize.type=<type> defaults to $rdiosize.type" 82 8404 Andrew usage " set \$rdiosize.randsrc=<src> defaults to $rdiosize.randsrc" 83 8404 Andrew usage " set \$filesize.type=<type> defaults to $filesize.type" 84 8404 Andrew usage " set \$filesize.randsrc=<src> defaults to $filesize.randsrc" 85 8404 Andrew usage " set \$nfiles=<value> defaults to $nfiles" 86 8404 Andrew usage " set \$nthreads=<value> defaults to $nthreads" 87 8404 Andrew usage " set \$sync=<bool> defaults to $sync" 88 8404 Andrew usage " " 89 8404 Andrew usage " run runtime (e.g. run 60)" 90