41f90c8ec6f68f6bc615ed2b666b512f26924a45
[bottlenecks.git] / rubbos / rubbos_scripts / 1-1-1 / scripts / CONTROL_rubbos_exec.sh
1 #!/bin/bash
2
3 set -x
4
5 cd /bottlenecks/rubbos/rubbos_scripts/1-1-1
6 source set_bottlenecks_rubbos_env.sh
7 export scp_options='-o StrictHostKeyChecking=no -o BatchMode=yes'
8
9 scp $WORK_HOME/monitors_files/oprofile_start.sh $MYSQL1_HOST:/tmp/
10
11 echo "Starting RUBBoS"
12
13 ssh $RUBBOS_RESULTS_HOST "
14   mkdir -p $RUBBOS_RESULTS_DIR_BASE
15 "
16 ssh $BENCHMARK_HOST "
17   mkdir -p $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME
18 "
19
20 #TODO use for loop to genrate rubbos.properties file 200 ~ 1700
21 for i in {2..2}
22 do
23
24   ssh $BENCHMARK_HOST "
25     source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
26     rm -f $RUBBOS_HOME/Client/rubbos.properties
27   "
28
29   sed -e "s/REPLACE_HTTPD_HOST/$HTTPD_HOST/g" \
30       -e "s/REPLACE_TOMCAT1_HOST/$TOMCAT1_HOST/g" \
31       -e "s/REPLACE_MYSQL1_HOST/$MYSQL1_HOST/g" \
32       -e "s#REPLACE_CLIENT1_HOST#$CLIENT1_HOST#g" \
33       -e "s#REPLACE_CLIENT2_HOST#$CLIENT2_HOST#g" \
34       -e "s#REPLACE_CLIENT3_HOST#$CLIENT3_HOST#g" \
35       -e "s#REPLACE_CLIENT4_HOST#$CLIENT4_HOST#g" \
36       -e "s/REPLACE_NUMBER_OF_CLIENTS_PER_NODE/$((20*i))/g" \
37       $OUTPUT_HOME/rubbos_conf/rubbos.properties_template \
38       > $OUTPUT_HOME/rubbos_conf/rubbos.properties
39   scp $OUTPUT_HOME/rubbos_conf/rubbos.properties $BENCHMARK_HOST:$RUBBOS_HOME/Client/rubbos.properties
40   rm -rf $OUTPUT_HOME/rubbos_conf/rubbos.properties
41
42   #echo "Resetting all data"
43   #$OUTPUT_HOME/scripts/reset_all.sh
44
45   # Browsing Only
46   echo "Start Browsing Only with rubbos.properties_$((100*i))"
47   echo "Removing previous logs..."
48   ssh $HTTPD_HOST "rm -f $HTTPD_HOME/logs/*log"
49   ssh $TOMCAT1_HOST "rm -f $CATALINA_HOME/logs/*"
50   ssh $MYSQL1_HOST "rm -f $MYSQL_HOME/run/*.log $RUBBOS_APP/mysql_mon-*"
51
52   $OUTPUT_HOME/scripts/start_all.sh
53   sleep 15
54
55   for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \
56               $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST
57   do
58     ssh $host "rm -f $RUBBOS_APP/sar-* $RUBBOS_APP/ps-* $RUBBOS_APP/iostat-*"
59   done
60   ssh $MYSQL1_HOST "rm -f /tmp/*.log"
61   ssh $MYSQL1_HOST chmod 777 /tmp/oprofile_start.sh
62   #ssh $MYSQL1_HOST "
63   #  cd /tmp
64   #  ./oprofile_start.sh
65   #" &
66
67   ssh $BENCHMARK_HOST "
68     source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh
69
70     cd $RUBBOS_HOME/bench
71     \rm -r 20*
72
73     # Execute benchmark
74     echo "execute benchmark"
75     ./rubbos-servletsBO.sh
76
77     # Collect results
78     echo "The benchmark has finished. Now, collecting results..."
79     cd 20*
80     for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \
81                 $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST
82     do
83       for f in sar-* ps-* iostat-* mysql_mon-* postgres_lock-*
84       do
85         scp $scp_options \$host:$RUBBOS_APP/\$f ./
86       done
87     done
88     cd ..
89     mv 20* $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME/
90   "
91
92   # TODO debug the rest of sciripts
93   exit 0
94   #$OUTPUT_HOME/scripts/stop_all.sh
95   $OUTPUT_HOME/scripts/kill_all.sh
96   sleep 15
97   echo "End Browsing Only with rubbos.properties_$((100*i))"
98
99   # Read/Write
100
101 done
102
103 echo "Processing the results..."
104 ssh $BENCHMARK_HOST "
105   cd $TMP_RESULTS_DIR_BASE
106   cd $RUBBOS_RESULTS_DIR_NAME
107   scp $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/calc-sarSummary.prl ../
108   ../calc-sarSummary.prl
109
110   rm -f 20*/*.bin
111
112   cd ../
113   tar zcvf $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_DIR_NAME
114   scp $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/
115 "
116
117 echo "Finish RUBBoS"
118
119 set +x
120