This is the Python and Vagrant part of TSDBBench
- Supported databases
- Unsupported databases (WIP)
- Supported Elastic Infrastructures
- Initial Setup of the Elastic Infrastructure
- Initial Setup of local pc or Control-VM
- Running a testworkload
- Creating html files (when not using -m)
- Additional Information
- Development Information
- Funding
- This must done only once and only for one elastic infrastructure
- See the articles for the five supported elastic infrastructures for specific instructions
- To control TSDBBench, a local pc or a Control-VM (a VM with everything preinstalled) can be used (only vSphere and OpenStack)
- Local PC:
-
Install packages:
sudo apt-get install python-dateutil python-jinja2 python-numpy \ python-pandas python-flask python-redis python-requests python-six \ python-tornado python-werkzeug python-markupsafe python-greenlet \ python-zmq python-yaml python-pip wkhtmltopdf python-magic fabric \ vagrant zlib1g-dev zlib1g libxml2 libxml2-dev libxslt1.1 libxslt1-dev \ python-webcolors python-pyvmomi
A version of this package-list adapted for Arch-Linux is available as
package-requirements
-
Install pip packages:
sudo pip install bokeh python-vagrant pdfkit
Alternatively use
sudo pip install -r control-requirements.txt
-
Install vagrant plugins:
vagrant plugin install vagrant-vsphere vagrant plugin install vagrant-openstack-provider
-
Reconfigure locales and make sure that en_US.UTF-8 is generated
sudo dpkg-reconfigure locales
-
Checking out & Prepairing Git Repo
cd /path/to/some/folder/ git clone https://github.com/baderas/TSDBBench cd TSDBBench vagrant box add --name dummy dummy.box copy hooks/pre-commit .git/hooks/ cd ..
-
Edit config for the chosen elastic infrastructure (change everything that says '' for your chosen elastic infrastructure)
cd TSDBBench nano vagrant_files/vagrantconf.rb nano vagrant_files/vagrantconf_db.rb nano vagrant_files/vagrantconf_gen.rb
-
- Control-VM
- Create Control-VM according to VMware vSphere or OpenStack
- Login to your Control-VM
- Edit config for the chosen elastic infrastructure (change everything that says '' for your chosen elastic infrastructure)
cd TSDBBench nano vagrant_files/vagrantconf.rb nano vagrant_files/vagrantconf_db.rb nano vagrant_files/vagrantconf_gen.rb
- without creation of html file:
cd TSDBBench ./TSDBBench.py -t /path/to/some/tmpfolder -f vagrant_files -d mysql_cl1_rf1 --provider 'vsphere' -w "testworkloada" -l```
- with creation of html file:
cd TSDBBench ./TSDBBench.py -t /path/to/some/tmpfolder -f vagrant_files -d mysql_cl1_rf1 --provider 'vsphere' -w "testworkloada" -l -m```
- with creation of html files and multiple databases:
cd TSDBBench ./TSDBBench.py -t /path/to/some/tmpfolder -f vagrant_files -d mysql_cl1_rf1 postgresql_cl1_rf1 --provider 'vsphere' -w "testworkloada" -l -m --provider "vsphere"```
- Creating a html file from a ycsb_*.log file:
cd TSDBBench ./ProcessYcsbLog.py -f some_ycsb_logfile.log
- Creating a html file from a ycsb_*.ydc file:
cd TSDBBench ./ProcessYcsbLog.py -f some_ycsb_logfile.ydc
- Creating a combined html file a set of from a ycsb_*.ydc/.log files:
cd TSDBBench ./ProcessYcsbLog.py -f some_ycsb_logfile1.ydc ome_ycsb_logfile2.log ome_ycsb_logfile3.ydc ...
- Everything was tested and used on Debian Jessie x64, but should work on Ubuntu.
- Ubuntu has different package names for a lot of the packages, you need to find and change them
- Logfiles/Benchmark Results are stored compressed as .ydc Files
- Development specific details on databases and elastic infrastructures can be found on their specific files (see links at the beginning)
- Adding a New Database
TSDBBench received funding from the Federal Ministry for Economic Affairs and Energy in the context of the project NEMAR.