This repository contains client code for the FMKe benchmark. The client is available as a fork of Lasp Bench, a Workload Generation tool written in Erlang.
To compile fmke_client you can run the following command:
rebar3 escriptizeThis will download dependencies and generate a lasp_bench binary.
You will find a fmke_client.config file under examples that should be configured with the IP addresses and
corresponding ports of your running FMKe nodes.
After ensuring you have a correct configuration file you can start the client by running:
./_build/default/bin/lasp_bench examples/fmke_client.configNote that you might require more than one instance of the client running at the same time in order to achieve maximum throughput on your database system. Refer to the FMKe documentation for further instructions on achieving this.
You can run make results to generate throughput and latency plots for a single client, but other utilities will be
made available to allow the merging of results of multiple clients into a single, global result. Refer to the
FMKe documentation.
Everything is packaged in a Docker image, you just need to get one
You can build the Docker image locally:
git clone https://github.com/ntlinh16/fmke_client
cd fmke_client/
docker build -t fmke_client:local .
or get the image from the docker hub:
docker pull ntlinh/fmke_client:latest
Please remember provide the correct image name to run a Docker container in the next Section
First, you have to have a FMKe app server is running and you already populated data for the database. If not, please see the tutorial in FMKe and fmke populator to run them all.
Then, you should modify the fmke_client.config file with your reuirements. An example of the config file can be found in exemples folder.
Finally, you start a fmke_clinet docker with this config file to benchmark the database:
docker run -v /fmke_client/exemples/fmke_client.config:/fmke_client/fmke_client.config --name fmke_client -h fmke_client fmke_client:local