diff options
author | MatthewLi <matthew.lijun@huawei.com> | 2016-03-25 03:55:53 -0400 |
---|---|---|
committer | MatthewLi <matthew.lijun@huawei.com> | 2016-03-25 03:55:53 -0400 |
commit | f84c8dcc22f1499128893e62b0e15b4b592c47ba (patch) | |
tree | ee14029aa59c076fdfde1c504a385f3389477a6a /testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf | |
parent | 7ba76747d55669e2bbaf70a3061e1c0b5dea912e (diff) |
adjust project directories
JIRA: BOTTLENECK-56
Change-Id: Ic9acad5eaa4917093bdb85a80960f796f5b4ba7f
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
Diffstat (limited to 'testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf')
11 files changed, 893 insertions, 0 deletions
diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java new file mode 100644 index 00000000..f84ded04 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java @@ -0,0 +1,34 @@ +package edu.rice.rubbos.servlets; + +public class Config +{ + + /** + * Creates a new <code>Config</code> instance. + */ + Config() + { + } + + + public static final String HTMLFilesPath = "/bottlenecks/rubbos/app/RUBBoS/Servlet_HTML"; + public static final String[] DatabaseProperties = {"/bottlenecks/rubbos/app/RUBBoS/Servlets/mysql.properties"}; + public static final int DatabasePropertiesSize = 1; + + public static final int AboutMePoolSize = 10; + public static final int BrowseCategoriesPoolSize = 6; + public static final int BrowseRegionsPoolSize = 6; + public static final int BuyNowPoolSize = 4; + public static final int PutBidPoolSize = 8; + public static final int PutCommentPoolSize = 2; + public static final int RegisterItemPoolSize = 2; + public static final int RegisterUserPoolSize = 2; + public static final int SearchItemsByCategoryPoolSize = 15; + public static final int SearchItemsByRegionPoolSize = 20; + public static final int StoreBidPoolSize = 8; + public static final int StoreBuyNowPoolSize = 4; + public static final int StoreCommentPoolSize = 2; + public static final int ViewBidHistoryPoolSize = 4; + public static final int ViewItemPoolSize = 20; + public static final int ViewUserInfoPoolSize = 4; +} diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile new file mode 100644 index 00000000..565b22be --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile @@ -0,0 +1,80 @@ + + +########################### +# RUBBoS Makefile # +########################### + +include config.mk + +############################## +# Environment variables # +############################## + +JAVA = $(JAVA_HOME)/bin/java +JAVAC = $(JAVA_HOME)/bin/javac +JAVACOPTS = -deprecation +JAVACC = $(JAVAC) $(JAVACOPTS) +RMIC = $(JAVA_HOME)/bin/rmic +RMIREGISTRY= $(JAVA_HOME)/bin/rmiregistry +#CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar:$TOMCATservlet.jar +CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar +JAVADOC = $(JAVA_HOME)/javadoc + + +######################### +# Servlets version # +######################### +#ServletPrinter +Servlets = Config TimeManagement BrowseCategories Auth RegisterUser RubbosHttpServlet BrowseRegions SearchItemsByCategory SearchItemsByRegion ViewItem ViewBidHistory ViewUserInfo SellItemForm RegisterItem PutCommentAuth PutComment StoreComment BuyNowAuth BuyNow StoreBuyNow PutBidAuth PutBid StoreBid AboutMe + +all_servlets_sources = $(addprefix edu/rice/rubbos/servlets/, $(addsuffix .java, $(Servlets))) +all_servlets_obj = $(addprefix edu/rice/rubbos/servlets/, $(addsuffix .class, $(Servlets))) + +servlets: $(all_servlets_obj) + +clean_servlets: + rm -f edu/rice/rubbos/servlets/*.class + +#################### +# Client # +#################### + +ClientFiles = URLGenerator URLGeneratorPHP RUBBoSProperties Stats \ + TransitionTable ClientEmulator UserSession + +all_client_sources = $(addprefix edu/rice/rubbos/client/, $(addsuffix .java, $(ClientFiles))) +all_client_obj = $(addprefix edu/rice/rubbos/client/, $(addsuffix .class, $(ClientFiles))) edu/rice/rubbos/beans/TimeManagement.class + +client: $(all_client_obj) + +initDB: + ${JAVA} -classpath .:./database edu.rice.rubbos.client.InitDB ${PARAM} + +emulator: + ${JAVA} -classpath Client:Client/rubbos_client.jar:. -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + +emulatorDebug: + ${JAVA} -classpath Client:Client/rubbos_client.jar:. -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + + +############################ +# Global rules # +############################ + + +all: beans ejb_servlets client javadoc flush_cache + +world: all servlets + +javadoc : + ${JAVADOC} -d ./doc/api -bootclasspath ${CLASSPATH} -version -author -windowtitle "RUBBoS API" -header "<b>RUBBoS (C)2001 Rice University/INRIA</b><br>" edu.rice.rubbos.beans edu.rice.rubbos.beans.servlets edu.rice.rubbos.client + +clean: + rm -f core edu/rice/rubbos/beans/*.class edu/rice/rubbos/beans/JOnAS* edu/rice/rubbos/beans/servlets/*.class edu/rice/rubbos/client/*.class edu/rice/rubbos/servlets/*.class + +%.class: %.java + ${JAVACC} -classpath ${CLASSPATH} $< + +flush_cache: bench/flush_cache.c + gcc bench/flush_cache.c -o bench/flush_cache + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties new file mode 100644 index 00000000..dc3fbaaa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties @@ -0,0 +1,8 @@ + +src = . +dist =. +classes.dir = ./build +web.dir = ../Servlet_HTML + +j2ee = /bottlenecks/rubbos/app/j2sdkee1.3.1 +mysql_connector = ./mysql-connector-java-5.1.7-bin.jar diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml new file mode 100644 index 00000000..37472041 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml @@ -0,0 +1,114 @@ + + +<project name="RUBBoS Servlets" default="dist" basedir="."> + <!-- RUBBoS Servlets Ant build file --> + + <!-- set global properties for this build --> + <property file="../build.properties" /> + <property name="servlets.html" value="../Servlet_HTML" /> + +<!-- ====================================================================== --> +<!-- Init --> +<!-- ====================================================================== --> + + <!-- init rule creates build directory --> + <target name="init"> + <!-- Create the time stamp --> + <tstamp/> + <!-- Create the build directory structure used by compile --> + <mkdir dir="${classes.dir}"/> + </target> + +<!-- ====================================================================== --> +<!-- Servlets --> +<!-- ====================================================================== --> + + <!-- The classpath to be used to compile --> + <path id="base.classpath"> + <pathelement location="${classes.dir}" /> + <fileset dir="${j2ee}/lib"> + <include name="j2ee.jar"/> + </fileset> + </path> + + <!-- Creates a jar file containing the servlets --> + <target name="jar" depends="init, compile"> + <jar destfile="${dist}/rubbos_servlets.jar"> + <fileset dir="${classes.dir}" + includes="edu/rice/rubbos/servlets/*.class"/> + </jar> + </target> + + <!-- Create a war file--> + <target name="war" depends="init, compile, jar"> + <copy file="${dist}/rubbos_servlets.jar" todir="${servlets.html}/WEB-INF/lib"/> + <copy file="${j2ee}/lib/j2ee.jar" todir="${servlets.html}/WEB-INF/lib"/> + + <copy file="${mysql_connector}" todir="${servlets.html}/WEB-INF/lib"/> + + <war destfile="${dist}/rubbos.war" webxml="${servlets.html}/WEB-INF/web.xml" basedir="${web.dir}"> + <fileset dir="${classes.dir}" + includes="*" excludes="**/web.xml" /> + </war> + </target> + + <!-- Dist rule --> + <target name="dist" depends="init, compile, jar, war"> + </target> + + <!-- compile rule: Compile the beans and the servlets --> + <target name="compile" depends="init"> + <javac srcdir="${src}" + includes="edu/rice/rubbos/servlets/*" + destdir="${classes.dir}" + classpath="${build.classpath}" + depend="yes" + deprecation="yes"> + <classpath refid="base.classpath" /> + </javac> + </target> + +<!-- ====================================================================== --> +<!-- Javadoc --> +<!-- ====================================================================== --> + + <!-- Generate Javadoc documentation --> + <target name="doc"> + <mkdir dir="docs/api"/> + <javadoc classpathref="base.classpath" + packagenames="edu.rice.rubbos.*.*" + sourcepath="." + defaultexcludes="yes" + destdir="docs/api" + author="true" + version="true" + use="true" + windowtitle="RUBBoS API"> + <doctitle><![CDATA[<h1>RUBBoS API</h1>]]></doctitle> + <bottom><![CDATA[<i>Copyright © 2004 - ObjectWeb Consortium - All Rights Reserved.</i>]]></bottom> + </javadoc> + </target> + +<!-- ====================================================================== --> +<!-- Clean --> +<!-- ====================================================================== --> + + <target name="clean"> + <!-- Delete the ${classes.dir} and ${dist} directory trees --> + <delete dir="${classes.dir}"/> + <delete> + <fileset dir="${dist}" includes="rubbos_servlets.jar"/> + </delete> + <delete> + <fileset dir="${dist}" includes="rubbos.war"/> + </delete> + <delete> + <fileset dir="edu" includes="**/*.class"/> + </delete> + </target> + + <target name="clean-doc"> + <delete dir="docs/api"/> + </target> +</project> + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk new file mode 100644 index 00000000..9182da4d --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk @@ -0,0 +1,32 @@ + +############################## +# Environment variables # +############################## + +JAVA = $(JAVA_HOME)/bin/java +JAVAC = $(JAVA_HOME)/bin/javac +JAVACOPTS = -deprecation +JAVACC = $(JAVAC) $(JAVACOPTS) +RMIC = $(JAVA_HOME)/bin/rmic +RMIREGISTRY= $(JAVA_HOME)/bin/rmiregistry +CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar:$(SERVLET_API_PATH) +JAVADOC = $(JAVA_HOME)/bin/javadoc +JAR = $(JAVA_HOME)/bin/jar + +GENIC = ${JONAS_ROOT}/bin/unix/GenIC + +MAKE = gmake +CP = /bin/cp +RM = /bin/rm +MKDIR = /bin/mkdir + + +# EJB server: supported values are jonas or jboss +EJB_SERVER = jonas + +# DB server: supported values are MySQL or PostgreSQL +DB_SERVER = MySQL + +%.class: %.java + ${JAVACC} -classpath ${CLASSPATH} $< + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh new file mode 100644 index 00000000..069cf079 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh @@ -0,0 +1,100 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh +cd - + +# delay inbetween snapshots + +delay=1 + +# central host to send results to +analysis_host=$BENCHMARK_HOST + +# monitoring start/end time in format YYYYmmddHHMMSS (20050920152059) +start_time=$1 +end_time=$2 + +# data filename suffix +data_filename_suffix="`hostname`-${start_time}.data" + +# sar filename +sar_filename=$RUBBOS_APP/sar-${data_filename_suffix} + +# iostat filename +iostat_filename=$RUBBOS_APP/iostat-${data_filename_suffix} + +# ps filename +ps_filename=$RUBBOS_APP/ps-${data_filename_suffix} + +# date command in predefined format +date_cmd="date +%Y%m%d%H%M%S" +date=`$date_cmd` + +# TEST MODE: start_time will be 2 seconds from launch, end time 5 seconds +#start_time=`expr $date \+ 2` +#end_time=`expr $date \+ 5` + +#echo +#echo Current timestamp: $date +#echo Start timestamp: $start_time +#echo End timestamp: $end_time +#echo + +# make sure they have all arguments +if [ "$end_time" = "" ]; then + echo usage: $0 \<delay\> \<analysis host\> \<start time\> \<end time\> + echo start_time and end_time are in YYYYmmddHHMMSS format + echo ie: 9/30/2005, 2:31:54pm = 20050930143154 + echo + exit +fi + +# wait until start time +#echo -n Waiting until start time \(${start_time}\).. +date=`$date_cmd` +while [ $date -lt $start_time ]; do + sleep 1 + date=`$date_cmd` +done +#echo + + +# launch iostat +sudo nice -n -1 $SYSSTAT_HOME/bin/iostat -dxtk $delay > ${iostat_filename} & +iostat_pid=$! + + +# run test until end time +#echo -n Running test until end time \(${end_time}\).. +while [ $date -lt $end_time ]; do + + sleep $delay + date=`$date_cmd` +done +#echo + + +# kill iostat +sudo kill -9 $iostat_pid + + +# chmod + +sudo chmod g+w ${iostat_filename} +sudo chmod o+r ${iostat_filename} + + +# send data to analysis host +#echo Sending data to analysis host.. +#scp -o StrictHostKeyChecking=no -o BatchMode=yes ${sar_filename} ${analysis_host}:/tmp/elba/rubbos +#scp -o StrictHostKeyChecking=no -o BatchMode=yes ${ps_filename} ${analysis_host}:/tmp/elba/rubbos + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template new file mode 100644 index 00000000..87a5fd8b --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template @@ -0,0 +1,83 @@ + +###################### PostgreSQL DataSource configuration example +# + + +##### +# DataSource configuration +# +datasource.name mysql + +datasource.url jdbc:mysql://REPLACE_MYSQL1_HOST:3306/rubbos +datasource.classname com.mysql.jdbc.Driver + +datasource.username rubbos +datasource.password rubbos + + +##### +# ConnectionManager configuration +# + +# JDBC connection checking level. +# 0 = no special checking +# 1 = check physical connection is still open before reusing it +# 2 = try every connection before reusing it +jdbc.connchecklevel 1 + +# Max age for jdbc connections +# nb of minutes a connection can be kept in the pool +jdbc.connmaxage 30 + +# Max concurrent threads on same tx/connection +# (not used with a customized jdbc datasource) +jdbc.connmaxthreads 4 + +# Max wait time if more than connmaxthreads threads request conn +# value is in seconds +# (not used with a customized jdbc datasource) +jdbc.connexcltimeout 30 + +# Test statement +jdbc.connteststmt select 1 + + +###### +# Customizing JDBC DataSource configuration +# + +# Name of the class implementing the XADataSource +#datasource.factory org.objectweb.jonas.dbm.JonasStandardXADataSource + +# JNDI name use to bind the XADataSource +#datasource.xadataname postgre1_xa + +# Minimum number of physical connection used by the XADataSource +#datasource.mincon 5 + +# Maximum number of physical connection used by the XADataSource +#datasource.maxcon 10 + +# Minimum number of XAConnection used by the pool +#jdbc.minconpool 10 + +# Maximum number of XAConnection used by the pool +#jdbc.maxconpool 20 + +# Time between two clean-up of old unused connection +# (value is in millisecond) +#jdbc.sleeptimepool 300000 + +# Force the gc to be launched when cleaning up +#jdbc.gcpool false + +# In case of no connection in the pool, +# deadlockpool is the global time to re-try before throwing an exception +# (value is in millisecond) +#jdbc.deadlockpool 300000 + +# In case of no connection in the pool, +# loopwaitpool is the unit time to re-try +# (value is in millisecond) +#jdbc.loopwaitpool 10000 + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh new file mode 100644 index 00000000..4e9258bc --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh @@ -0,0 +1,77 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +############################################################################### +# +# This script runs first the RUBBoS browsing mix, then the read/write mix +# for each rubbos.properties_XX specified where XX is the number of emulated +# clients. Note that the rubbos.properties_XX files must be configured +# with the corresponding number of clients. +# In particular set the following variables in rubis.properties_XX: +# httpd_use_version = Servlets +# workload_number_of_clients_per_node = XX/number of client machines +# workload_transition_table = yourPath/RUBBoS/workload/transitions.txt +# +# This script should be run from the RUBBoS/bench directory on the local +# client machine. +# Results will be generated in the RUBBoS/bench directory. +# +################################################################################ + +#setenv SERVLETDIR $RUBBOS_HOME/Servlets + +set -x + +# Go back to RUBBoS root directory +cd .. + +export scp_options='-o StrictHostKeyChecking=no -o BatchMode=yes' + +# Browse only + +cp -fin ./workload/browse_only_transitions.txt ./workload/user_transitions.txt +cp -fin ./workload/browse_only_transitions.txt ./workload/author_transitions.txt + +for host in ${CLIENT1_HOST} ${CLIENT2_HOST} ${CLIENT3_HOST} ${CLIENT4_HOST} +do + scp ${scp_options} ./workload/browse_only_transitions.txt ${host}:${RUBBOS_HOME}/workload/user_transitions.txt + scp ${scp_options} ./workload/browse_only_transitions.txt ${host}:${RUBBOS_HOME}/workload/author_transitions.txt + scp ${scp_options} Client/rubbos.properties ${host}:${RUBBOS_HOME}/Client/rubbos.properties +done + +#bench/flush_cache 490000 +#ssh $HTTPD_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # web server +#ssh $MYSQL1_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # database server +#ssh $TOMCAT1_HOST "$RUBBOS_HOME/bench/flush_cache 780000" # servlet server +#ssh $CLIENT1_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT2_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT3_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT4_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client + +RAMPUP=48000 +MI=72000 +current_seconds=`date +%s` +start_seconds=`echo \( $RAMPUP / 1000 \) + $current_seconds - 60 | bc` +SMI=`date -d "1970-01-01 $start_seconds secs UTC" +%Y%m%d%H%M%S` +end_seconds=`echo \( $RAMPUP / 1000 + $MI / 1000 + 30 \) + $current_seconds | bc` +EMI=`date -d "1970-01-01 $end_seconds secs UTC" +%Y%m%d%H%M%S` + +for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \ + $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST +do + ssh $scp_options $host "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +done + +echo "Rubbos emulator start $(date)" +make emulator +echo "Rubbos emulator end $(date)" + +set -x + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh new file mode 100644 index 00000000..2dbd9788 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh @@ -0,0 +1,83 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +############################################################################### +# +# This script runs first the RUBBoS browsing mix, then the read/write mix +# for each rubbos.properties_XX specified where XX is the number of emulated +# clients. Note that the rubbos.properties_XX files must be configured +# with the corresponding number of clients. +# In particular set the following variables in rubis.properties_XX: +# httpd_use_version = Servlets +# workload_number_of_clients_per_node = XX/number of client machines +# workload_transition_table = yourPath/RUBBoS/workload/transitions.txt +# +# This script should be run from the RUBBoS/bench directory on the local +# client machine. +# Results will be generated in the RUBBoS/bench directory. +# +################################################################################ + +#setenv SERVLETDIR $RUBBOS_HOME/Servlets + +# Go back to RUBBoS root directory +cd .. + +# Read/write mix + +cp --fi ./workload/user_default_transitions.txt ./workload/user_transitions.txt +cp --fi ./workload/author_default_transitions.txt ./workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT1_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT1_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT2_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT2_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT3_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT3_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT4_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT4_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp Client/rubbos.properties ${CLIENT1_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT2_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT3_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT4_HOST}:${RUBBOS_HOME}/Client/rubbos.properties + + +bench/flush_cache 490000 +ssh $HTTPD_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # web server +ssh $MYSQL1_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # database server +ssh $TOMCAT1_HOST "$RUBBOS_HOME/bench/flush_cache 780000" # servlet server +ssh $CLIENT1_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT2_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT3_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT4_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client + +RAMPUP=480000 +MI=720000 +current_seconds=`date +%s` +start_seconds=`echo \( $RAMPUP / 1000 \) + $current_seconds - 60 | bc` +SMI=`date -d "1970-01-01 $start_seconds secs UTC" +%Y%m%d%H%M%S` +end_seconds=`echo \( $RAMPUP / 1000 + $MI / 1000 + 30 \) + $current_seconds | bc` +EMI=`date -d "1970-01-01 $end_seconds secs UTC" +%Y%m%d%H%M%S` +ssh $BENCHMARK_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT2_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT3_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT4_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $HTTPD_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $TOMCAT1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $MYSQL1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & + + +make emulator + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template new file mode 100644 index 00000000..0e8a4b43 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template @@ -0,0 +1,79 @@ + +#n HTTP server information +httpd_hostname = REPLACE_HTTPD_HOST +httpd_port = 8000 + +# C/JDBC server to monitor (if any) +cjdbc_hostname = + +# Precise which version to use. Valid options are : PHP, Servlets, EJB +httpd_use_version = Servlets + +# EJB server information +ejb_server = +ejb_html_path = +ejb_script_path = + +# Servlets server information +servlets_server = REPLACE_TOMCAT1_HOST +servlets_html_path = /rubbos +servlets_script_path = /rubbos/servlet + +# PHP information +php_html_path = /PHP +php_script_path = /PHP + +#Database information +database_master_server = REPLACE_MYSQL1_HOST + +database_slave_servers = +workload_remote_client_nodes = REPLACE_CLIENT1_HOST,REPLACE_CLIENT2_HOST,REPLACE_CLIENT3_HOST,REPLACE_CLIENT4_HOST +workload_remote_client_command = /bottlenecks/rubbos/app/jdk1.6.0_27/bin/java -classpath .:/bottlenecks/rubbos/app/RUBBoS/Client/:/bottlenecks/rubbos/app/RUBBoS/Client/rubbos_client.jar -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + + +workload_number_of_clients_per_node = REPLACE_NUMBER_OF_CLIENTS_PER_NODE + + +# Workload: precise which transition table to use +workload_user_transition_table = /bottlenecks/rubbos/app/RUBBoS/workload/user_transitions.txt +workload_author_transition_table = /bottlenecks/rubbos/app/RUBBoS/workload/author_transitions.txt +workload_number_of_columns = 24 +workload_number_of_rows = 26 +workload_maximum_number_of_transitions = 1000 +workload_use_tpcw_think_time = yes +workload_number_of_stories_per_page = 20 + +workload_up_ramp_time_in_ms = 48000 +workload_up_ramp_slowdown_factor = 2 + +workload_session_run_time_in_ms = 72000 +workload_down_ramp_time_in_ms = 3000 +workload_down_ramp_slowdown_factor = 3 +workload_percentage_of_author = 10 + +# Users policy +database_number_of_authors = 50 +database_number_of_users = 500000 + +# Stories policy +database_story_dictionnary = /bottlenecks/rubbos/app/RUBBoS/database/dictionary +database_story_maximum_length = 1024 +database_oldest_story_year = 1998 +database_oldest_story_month = 1 + +# Comments policy +database_comment_max_length = 1024 + +# Connection timedout settings +connection_time_out_interval = 300 + + +# Monitoring Information +monitoring_debug_level = 1 +monitoring_program = /bottlenecks/rubbos/app/sysstat-9.0.6/bin/sar +monitoring_options = -u ALL -I SUM +monitoring_sampling_in_seconds = 1 +monitoring_rsh = /usr/bin/ssh +monitoring_scp = /usr/bin/scp +monitoring_gnuplot_terminal = png + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml new file mode 100644 index 00000000..e0a32b6b --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- +<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'> +--> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> + +<web-app> + + <display-name>RUBBos</display-name> + <description> + Rice University Bulletin Board System + </description> + + + <servlet> + <servlet-name>BrowseCategories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.BrowseCategories</servlet-class> + </servlet> + + <servlet> + <servlet-name>BrowseStoriesByCategory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.BrowseStoriesByCategory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ViewComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ViewComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>ModerateComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ModerateComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>PostComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.PostComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>SubmitStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.SubmitStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>AcceptStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.AcceptStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>RejectStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.RejectStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ReviewStories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ReviewStories</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ViewStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ViewStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoriesOfTheDay</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoriesOfTheDay</servlet-class> + </servlet> + + <servlet> + <servlet-name>Search</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.Search</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreModeratorLog</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreModeratorLog</servlet-class> + </servlet> + + <servlet> + <servlet-name>RegisterUser</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.RegisterUser</servlet-class> + </servlet> + + <servlet> + <servlet-name>Author</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.Author</servlet-class> + </servlet> + + <servlet> + <servlet-name>OlderStories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.OlderStories</servlet-class> + </servlet> + + + <servlet-mapping> + <servlet-name>BrowseCategories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.BrowseCategories</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>BrowseStoriesByCategory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.BrowseStoriesByCategory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ViewComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ViewComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ModerateComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ModerateComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>PostComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.PostComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>SubmitStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.SubmitStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AcceptStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.AcceptStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>RejectStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.RejectStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ReviewStories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ReviewStories</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ViewStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ViewStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoriesOfTheDay</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoriesOfTheDay</url-pattern> + </servlet-mapping> + + + <servlet-mapping> + <servlet-name>Search</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.Search</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreModeratorLog</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreModeratorLog</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>RegisterUser</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.RegisterUser</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>Author</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.Author</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>OlderStories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.OlderStories</url-pattern> + </servlet-mapping> + + + <session-config> + <session-timeout>30</session-timeout> <!-- 30 minutes --> + </session-config> + +</web-app> |