blob: 6c5d6b6b11c0c9b0783f7bbaf68676775546d8c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/bin/bash
#
usage() {
cat <<EOF
Distributed perftest with ssh.
Arguments before -- are passed to perftest.
Arguments after -- are treated as host names.
Publisher runs on first host. One listener runs on each
Remaining host. To run multiple liseners on a host, list it more than once.
Do not pass --consumers, --publish or --listen options, they are computed
from the host list.
EOF
exit 1
}
while test "$HOSTS" != "$*"; do
case $1 in
--consumers|--publish|--listen) usage ;;
--) shift; PUB="$1" ; shift ; HOSTS="$*" ;;
*) ARGS="$ARGS $1"; shift ;;
esac
done
test -n "$HOSTS" || { echo "No -- found"; usage; }
N=`echo $HOSTS | wc -w`
PERFTEST=`PATH=$PWD:$PATH which perftest`
$PERFTEST --purge $ARGS
ssh $PUB $PERFTEST $ARGS --publish --consumers $N&
for h in $HOSTS; do
ssh $h $PERFTEST $ARGS --listen&
done
wait
|