memtier_benchmark is a command line utility developed by Redis Labs (formerly Garantia Data Ltd.) for load generation and bechmarking NoSQL key-value databases. It offers the following:
- Support for both Redis and Memcache protocols (text and binary)
- Multi-threaded multi-client execution
- Multiple configuration options, including:
- Read:Write ratio
- Random and sequential key name pattern policies
- Random or ranged key expiration
- ...and much more
Read more at:
- A High Throughput Benchmarking Tool for Redis and Memcached
- Pseudo-Random Data, Gaussian Access Pattern and Range Manipulation
The following libraries are required for building:
- libevent 2.0.10 or newer.
- libpcre 8.x.
The following tools are required
- autoconf
- automake
- GNU make
- GCC C++ compiler
On a CentOS 6.4 system, use the following to install prerequisites:
# yum install autoconf automake make gcc-c++
# yum install pcre-devel zlib-devel libmemcached-devel
CentOS 6.4 ships with older versions of libevent, which must be manually built and installed as follows:
To download, build and install libevent-2.0.21:
$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
$ tar xfz libevent-2.0.21-stable.tar.gz
$ pushd libevent-2.0.21-stable
$ ./configure
$ make
$ sudo make install
$ popd
The above steps will install into /usr/local so it does not confict with the distribution-bundled versions. The last step is to set up the PKG_CONFIG_PATH so configure can find the newly installed library.
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
Then proceed to follow the build instructions below.
On recent Ubuntu versions, simply install all prerequisites as follows:
# apt-get install build-essential autoconf automake libpcre3-dev libevent-dev pkg-config zlib1g-dev
After downloading the source tree, use standard autoconf/automake commands::
$ autoreconf -ivf
$ ./configure
$ make
$ make install
See the included manpage or run::
$ memtier_benchmark --help
for command line options.