<commit_before><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta http-equiv="CONTENT-TYPE"
 content="text/html; charset=iso-8859-1">
  <title>Olio/Rails Install and Setup Guide from Tarball</title>
  <meta name="GENERATOR" content="StarOffice 8  (Solaris Sparc)">
  <meta name="AUTHOR" content="<NAME>">
  <meta name="CREATED" content="20070926;10111500">
  <meta name="CHANGED" content="20090331;14212900">
<!-- Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.
 -->
  <style type="text/css">
	<!--
		@page { size: 8.5in 11in }
		H1 { color: #000000; text-align: center }
		P { color: #000000 }
		PRE { color: #000000 }
		H2 { color: #000000 }
		H3 { color: #000000 }
	-->
	</style>
</head>
<body dir="ltr" style="color: rgb(0, 0, 0);" lang="en-US">
<h1>Olio/Rails<br>
Install and Setup Guide from Tarball</h1>
<p>This document assumes some familiarity with setting up Ruby on
Rails. If you have never set up rails before, you may need to do some
web searching if you get stuck in any of the steps.</p>
<h2>Overview</h2>
<p>Olio is a macro-level toolkit consisting of the following
components:</p>
<ol>
  <li>
    <p style="margin-bottom: 0in;">The web application </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The main database </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Distributed storage servers (NFS)</p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">An optional caching server
(memcached)</p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Geocoder emulator </p>
  </li>
  <li>
    <p>Workload driver </p>
  </li>
</ol>
<p>If your primary interest is in setting up the application alone,
you need items 1-3 above and they can all be setup on a single
system. If on the other hand, you would like to drive load against
the application, you will need at least 2 systems. At higher loads,
you may need multiple systems. At a minimum, we need to separate the
SUT (System Under Test) components and the non-SUT components to get
valid results. The non-SUT components are the Geocoder emulator and
the workload driver. It is best to connect the driver machine to the
SUT machine on a local private network. This ensures that latencies
measured do not include arbitrary delays.</p>
<p>For a horizontally scaled workload, or to measure the performance
of the individual components, you can deploy the SUT components on
separate physical or virtual machines. Keep in mind though that the
bulk of the CPU is consumed in the web application tier
(e.g. nginx/rails).</p>
<p>In the following sections, we will go over the steps needed to
configure each component :</p>
<ul>
  <li>
    <p style="margin-bottom: 0in;"><a
 href="#Extracting%20the%20Contents%7Coutline">Extracting the Contents</a>
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupDriver">Setting up
the Driver</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#installWebApp">Installing
the Web Application</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupDB">Setting up the
Database</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#loadDB">Loading the
Database</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupFileStore">Setting up
the Filestore</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupEmulator">Setting up
the Geocoder Emulator</a></p>
  </li>
</ul>
<ul>
  <li><a href="#Setting_up_Caching">Setting up Caching</a><br>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#testWebApp">Testing the
Web Application</a> </p>
  </li>
  <li>
    <p><a href="#startRun">Starting a Performance Test</a> </p>
  </li>
</ul>
<h2><a name="Extracting the Contents|outline"></a>Extracting the
Contents</h2>
<p>The Olio/Rails kit is packaged as a gzipped tar file. The first
task is to unzip the file and untar it to extract it's contents.
Because of the long pathnames, please use GNU tar to extract. This is
the
default tar on Linux but on Solaris, use '/usr/sfw/bin/gtar'.This
can be done as follows:</p>
<p><font face="Courier New, monospace"><font style="font-size: 11pt;"
 size="2">#
tar -xvzf </font></font><font face="Courier New, monospace"><font
 style="font-size: 11pt;" size="2"><i>olio-rails-&lt;version&gt;</i>.tar.gz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(on Linux)<br>
</font></font><font face="Courier New, monospace"><font
 style="font-size: 11pt;" size="2">#
gzcat apache-<i>olio-rails-&lt;version&gt;</i>.tar.gz | gtar xvf
-&nbsp; (on Solaris)<br>
</font></font></p>
<p>This will cause a directory named olio-rails-<i>&lt;version&gt; </i><span
 style="font-style: normal;">to
be created whose contents should look like:</span></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">#
ls apache-olio-rails-0.2*</font></font></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">LICENSE
OlioDriver.jar geocoder.war rails_setup_kit.html</font></font></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">NOTICE
RELEASE-NOTES-rails-0.2.txt oliorails/ release</font></font></p>
<p>We will use $OLIO_HOME to designate the name of this directory. A
description of the contents follows :</p>
<ul>
  <li>
    <p>The <i>oliorails</i> directory contains the web application.
This application will be deployed on the rails server (thin or mongrel).</p>
  </li>
  <li>
    <p><i>OlioDriver.jar</i> contains the load generator/driver (which
we typically refer to simply as <i>driver</i>). The driver is
implemented using <a href="http://faban.sunsource.net/"><i>Faban</i></a>
&#8211; an open source benchmarking toolkit.</p>
  </li>
  <li>
    <p><i>geocoder.war</i> contains the simple servlet used to emulate
the geocoder.</p>
  </li>
  <li>
    <p><i>rails_setup_kit.html</i> is this document.</p>
  </li>
  <li>
    <p>RELEASE-NOTES-rails-0.1.txt contains the release notes for this
release.</p>
  </li>
  <li>
    <p><i>release</i> contains the release name. </p>
  </li>
  <li>
    <p>LICENSE and NOTICE contain the licenses.</p>
  </li>
</ul>
<h2><a name="setupDriver"></a>Setting up the Driver</h2>
<p>Even if you don't plan to drive load against the application, this
setup is required as the database and file loaders are part of the
workload driver - feel free to install the driver on the same system
as the web application.</p>
<ol>
  <li>
    <p style="margin-bottom: 0in;">See <a
 href="http://faban.sunsource.net/docs/guide/harness/install.html">http://faban.sunsource.net/docs/guide/harness/install.html</a>
for Faban installation instructions. Note that faban needs to be
installed in the same location on all the machines used for the test.
Please also read the <i>Getting Started Guide</i> to get a high-level
understanding of Faban terminology and how it works. From now on, we
will refer to the faban install directory as <code>$FABAN_HOME</code>.</p>
  </li>
  <li>
    <p>Install the required Faban services: </p>
    <ul>
      <li><code>cd $FABAN_HOME</code></li>
      <li><code>cp
samples/services/ApacheHttpdService/build/ApacheHttpdService.jar
services</code></li>
      <li><code>cp samples/services/MysqlService/build/MySQLService.jar<commit_msg>Fixed some links<commit_after><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta http-equiv="CONTENT-TYPE"
 content="text/html; charset=iso-8859-1">
  <title>Olio/Rails Install and Setup Guide from Tarball</title>
  <meta name="GENERATOR" content="StarOffice 8  (Solaris Sparc)">
  <meta name="AUTHOR" content="<NAME>">
  <meta name="CREATED" content="20070926;10111500">
  <meta name="CHANGED" content="20090331;14212900">
<!-- Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.
 -->
  <style type="text/css">
	<!--
		@page { size: 8.5in 11in }
		H1 { color: #000000; text-align: center }
		P { color: #000000 }
		PRE { color: #000000 }
		H2 { color: #000000 }
		H3 { color: #000000 }
	-->
	</style>
</head>
<body dir="ltr" style="color: rgb(0, 0, 0);" lang="en-US">
<h1>Olio/Rails<br>
Install and Setup Guide from Tarball</h1>
<p>This document assumes some familiarity with setting up Ruby on
Rails. If you have never set up rails before, you may need to do some
web searching if you get stuck in any of the steps.</p>
<h2>Overview</h2>
<p>Olio is a macro-level toolkit consisting of the following
components:</p>
<ol>
  <li>
    <p style="margin-bottom: 0in;">The web application </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">The main database </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Distributed storage servers (NFS)</p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">An optional caching server
(memcached)</p>
  </li>
  <li>
    <p style="margin-bottom: 0in;">Geocoder emulator </p>
  </li>
  <li>
    <p>Workload driver </p>
  </li>
</ol>
<p>If your primary interest is in setting up the application alone,
you need items 1-3 above and they can all be setup on a single
system. If on the other hand, you would like to drive load against
the application, you will need at least 2 systems. At higher loads,
you may need multiple systems. At a minimum, we need to separate the
SUT (System Under Test) components and the non-SUT components to get
valid results. The non-SUT components are the Geocoder emulator and
the workload driver. It is best to connect the driver machine to the
SUT machine on a local private network. This ensures that latencies
measured do not include arbitrary delays.</p>
<p>For a horizontally scaled workload, or to measure the performance
of the individual components, you can deploy the SUT components on
separate physical or virtual machines. Keep in mind though that the
bulk of the CPU is consumed in the web application tier
(e.g. nginx/rails).</p>
<p>In the following sections, we will go over the steps needed to
configure each component :</p>
<ul>
  <li>
    <p style="margin-bottom: 0in;"><a
 href="#Extracting%20the%20Contents%7Coutline">Extracting the Contents</a>
    </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupDriver">Setting up
the Driver</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#installWebApp">Installing
the Web Application</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupDB">Setting up the
Database</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#loadDB">Loading the
Database</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupFileStore">Setting up
the Filestore</a> </p>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#setupEmulator">Setting up
the Geocoder Emulator</a></p>
  </li>
</ul>
<ul>
  <li><a href="#Setting_up_Caching">Setting up Caching</a><br>
  </li>
  <li>
    <p style="margin-bottom: 0in;"><a href="#testWebApp">Testing the
Web Application</a> </p>
  </li>
  <li>
    <p><a href="#startRun">Starting a Performance Test</a> </p>
  </li>
</ul>
<h2><a name="Extracting the Contents|outline"></a>Extracting the
Contents</h2>
<p>The Olio/Rails kit is packaged as a gzipped tar file. The first
task is to unzip the file and untar it to extract it's contents.
Because of the long pathnames, please use GNU tar to extract. This is
the
default tar on Linux but on Solaris, use '/usr/sfw/bin/gtar'.This
can be done as follows:</p>
<p><font face="Courier New, monospace"><font style="font-size: 11pt;"
 size="2">#
tar -xvzf </font></font><font face="Courier New, monospace"><font
 style="font-size: 11pt;" size="2"><i>olio-rails-&lt;version&gt;</i>.tar.gz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(on Linux)<br>
</font></font><font face="Courier New, monospace"><font
 style="font-size: 11pt;" size="2">#
gzcat apache-<i>olio-rails-&lt;version&gt;</i>.tar.gz | gtar xvf
-&nbsp; (on Solaris)<br>
</font></font></p>
<p>This will cause a directory named olio-rails-<i>&lt;version&gt; </i><span
 style="font-style: normal;">to
be created whose contents should look like:</span></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">#
ls apache-olio-rails-0.2*</font></font></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">LICENSE
OlioDriver.jar geocoder.war rails_setup_kit.html</font></font></p>
<p style="margin-bottom: 0.04in; font-style: normal;"><font
 face="Courier New, monospace"><font style="font-size: 11pt;" size="2">NOTICE
RELEASE-NOTES-rails-0.2.txt oliorails/ release</font></font></p>
<p>We will use $OLIO_HOME to designate the name of this directory. A
description of the contents follows :</p>
<ul>
  <li>
    <p>The <i>oliorails</i> directory contains the web application.
This application will be deployed on the rails server (thin or mongrel).</p>
  </li>
  <li>
    <p><i>OlioDriver.jar</i> contains the load generator/driver (which
we typically refer to simply as <i>driver</i>). The driver is
implemented using <a href="http://faban.org/"><i>Faban</i></a>
&#8211; an open source benchmarking toolkit.</p>
  </li>
  <li>
    <p><i>geocoder.war</i> contains the simple servlet used to emulate
the geocoder.</p>
  </li>
  <li>
    <p><i>rails_setup_kit.html</i> is this document.</p>
  </li>
  <li>
    <p>RELEASE-NOTES-rails-0.1.txt contains the release notes for this
release.</p>
  </li>
  <li>
    <p><i>release</i> contains the release name. </p>
  </li>
  <li>
    <p>LICENSE and NOTICE contain the licenses.</p>
  </li>
</ul>
<h2><a name="setupDriver"></a>Setting up the Driver</h2>
<p>Even if you don't plan to drive load against the application, this
setup is required as the database and file loaders are part of the
workload driver - feel free to install the driver on the same system
as the web application.</p>
<ol>
  <li>
    <p style="margin-bottom: 0in;">See <a
 href="http://faban.org/1.0/docs/guide/harness/install.html">http://faban.org/1.0/docs/guide/harness/install.html</a>
for Faban installation instructions. Note that faban needs to be
installed in the same location on all the machines used for the test.
Please also read the <i>Getting Started Guide</i> to get a high-level
understanding of Faban terminology and how it works. From now on, we
will refer to the faban install directory as <code>$FABAN_HOME</code>.</p>
  </li>
  <li>
    <p>Install the required Faban services: </p>
    <ul>
      <li><code>cd $FABAN_HOME</code></li>
      <li><code>cp
samples/services/ApacheHttpdService/build/ApacheHttpdService.jar
services</code></li>
      <li><code>cp samples/services/MysqlService/build/MySQLService.jar
{'fraction_non_alphanumeric': 0.14935104503077204, 'fraction_numerical': 0.0187678995795503, 'mean_word_length': 4.190385831752056, 'pattern_counts': {'":': 0, '<': 503, '<?xml version=': 0, '>': 503, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1042198', 'n_tokens_mistral': 5788, 'n_tokens_neox': 5414, 'n_words': 1875}