-
Notifications
You must be signed in to change notification settings - Fork 19
Tutorial: Benchmarking Raddit
yungsters edited this page Sep 14, 2010
·
9 revisions
Raddit is a clone of Digg for use in Berkeley RAD Lab cloud computing research. This tutorial will help you use Rain to benchmark multiple servers running the Raddit web application.
- A “web server” with Rails (v2.3.4), Thin (a lightweight Rails server), and Nginx (a load balancer).
- A “database server” with MySQL.
- A “workload server” with Java.
- SSH into the “application server”.
- Checkout Raddit from the repository.
- Newer versions of Git support the
--recursiveargument.- Use:
git clone --recursive git://github.com/yungsters/raddit.git
- Use:
- Older versions of Git do not support the
--recursiveargument.- First, clone the repository:
git clone git://github.com/yungsters/raddit.git - Change to the cloned directory:
cd raddit - Checkout the submodules:
git submodule update --init
- First, clone the repository:
- Newer versions of Git support the
- If you haven’t already, change to the Radddit directory:
cd raddit - Use a text editor to update the production database configuration in
config/database.yml. - Create the production database:
rake db:create RAILS_ENV=production - Load the database schema:
rake db:schema:load RAILS_ENV=production - Start the Thin servers:
thin start -e production -s <number of Rails servers> - Configure Nginx to point to
localhoston the Rails ports.
git clone git://github.com/yungsters/rain-workload-toolkit.gitcd rain-workload-toolkitant packageant package-radditjava -Xmx1g -Xms256m -cp "rain.jar:workloads/raddit.jar" radlab.rain.Benchmark <path to Rain JSON configuration file>
See the instructions on the Getting Started page for more information.