One Paragraph of project description goes here
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Clone the repository to get a copy for yourself
$ git clone https://github.com/mohapeameya/kv-store-load-gen.git
Change current directory to kv-store-load-gen
$ cd kv-store-load-gen
Install the following dependencies if not already installed
$ sudo apt install g++ -y
$ sudo apt install util-linux -y
$ sudo apt install python3 python-tk -y
$ pip3 install matplotlib
Run make all
to build
$ make all
For valid test results we need to ensure the following:
- There is a clear separation between server and load generator resources
- Load generator can saturate server without becoming a bottleneck itself
This can be achieved using taskset
utility by pinning the processes to specific cores
For example, in a 4 core system, run server
locally(127.0.0.1) on port 55555 with 5 worker threads on core 0
$ taskset 0x1 ./server 127.0.0.1 55555 5
and loadgenerator
on cores 1,2, and 3 with minimum 1 thread and maximum 5 threads with 10 seconds per thread
$ taskset 0xE ./loadgenerator 127.0.0.1 55555 1 5 10
Graphical visualization of test data(wait for the load generator to exit)
$ python3 ./plot.py
- Ameya Mohape - Initial work - mohapeameya
This project is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 - see the LICENSE file for details