This is a modified implementation of RUBiS (RUBiS: Rice University Bidding System) that supports PHP7, PDO connections, and faster initialization of the database.
More information on the RUBiS project, and for the original source code, check here.
Requirements:
- PHP7
- MySQL (Other database servers may be supported. They were not tested, though)
- Apache
- Java (for building and executing the client)
- Python (optional, for setting up the
rubis.properties
file)
Installation steps:
- Clone this repository
git clone https://github.com/uillianluiz/RUBiS.git
- Install MySQL
sudo apt-get install mysql-server
- Install Apache2
sudo apt-get install apache2
- Install PHP7
sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
- If later on you have MySQL PDO driver problems, check this thread out.
- Install Java
sudo apt-get install default-jdk
- Install Python (optional)
sudo apt-get install python
Configuration steps:
- Create a rubis database
mysql -uroot -p
CREATE DATABASE rubis;
- Import rubis tables and default data to the database
cd database
mysql -uroot rubis -p < rubis.sql
mysql -uroot rubis -p < categories.sql
mysql -uroot rubis -p < regions.sql
- Modify the database connection configuration
nano PHP/DBConnection.php
- Copy the PHP folder to the apache location
sudo cp -r PHP/ /var/www/html/
- Go to this url and check if it works fine.
- Configure the rubis client properties (optional, you may manually edit the
rubis.properties
file)cd Client
python generateProperties.py
- Initialize the database (learn more)
- Updated and faster method:
cd Client
- Modify your database connection in the file (lines 24, 26 and 27):
nano edu/rice/rubis/client/InitDBSQL.java
make client
make initDBSQL PARAM="all"
- Original method:
cd Client
make client
make initDB PARAM="all"
- Updated and faster method:
Emulator execution:
- You may modify the
workload_transition_table
or other configurations on therubis.properties
file. - Other Information regarding the emulator you may found here.
- To execute the benchmark:
make emulator
Extra options:
- The regions and categories may be altered. Check file
database/README
for more information.