io-threads ∈ {1, 2, 4}.io-threads and CPU affinity).In a test scenario where the server-side CPU resources are limited to 2 vCores and the value size is 128B, the test commands are as follows:
For other test scenarios, simply replace the CPU resource and value size parameters accordingly.
| Item | Details |
|---|---|
| Tool overview | Automatically compares the performance of Engula and Redis across throughput, latency, CPU thread configuration, and value size dimensions. |
| Prerequisites | Docker can run on the local machine; at least 8 CPU cores recommended; prepare the output.log and summary.html output files. |
| Quick start | docker run --user $(id -u):$(id -g) -it --rm -v $(pwd)/output.log:/montplex/tmp_bin/output.log -v $(pwd)/summary.html:/montplex/tmp_bin/summary.html registry.ap-southeast-1.aliyuncs.com/montplex/engula-auto-bench:latest |
| Interpreting output | Focus on the QPS, P50, and CPU-dimension differences across different value sizes and I/O thread counts in summary.html. |
| Full example | See "Running Engula AutoBench" below. |
| Argument | Purpose |
|---|---|
--user $(id -u):$(id -g) |
Makes the log files generated by the container owned by the current user, making them easy to open and clean up directly. |
-v $(pwd)/output.log:/montplex/tmp_bin/output.log |
Mounts the terminal log output file. |
-v $(pwd)/summary.html:/montplex/tmp_bin/summary.html |
Mounts the HTML summary report output file. |
For ease of use, Engula AutoBench provides a Docker-based usage mode.
Engula AutoBench is provided as a Docker image and can run on Linux or macOS systems with Docker installed. The specific environment requirements are as follows:
The execution result is shown below:

Since a total of 18 comparison groups are run, with Redis and Engula tested serially in each group and each group tested 3 times, the entire test takes approximately 40 minutes to complete.
After the run finishes, a summary.html file is generated. Open it in a browser to view the results, as shown below:

The official site recommends running via the Docker image. If your test machine cannot run Docker, please contact the Engula team to obtain an offline package matching your target operating system and CPU architecture; the offline package commands are documented in the README included in the delivery package.

For example, the scrolling phenomenon shown in the image above may occur.
This happens because when the total width of the output content exceeds the terminal window width, the text wraps automatically. The carriage return character \r can only return to the beginning of the current line, but when content spans multiple lines, it cannot correctly overwrite the previous output, resulting in continuously generated new lines.
Solution: Reduce the terminal font size, or increase the terminal width.