Engula is a cache kernel product developed in-house by the Engula team, designed specifically for users running open-source Redis. Its core advantage is reducing the hardware cost of existing Redis clusters with extremely low risk. Key features include:
Based on early users' real-world test results, Engula saves more than 50% of memory on average, with a performance overhead of less than 10%.
Engula ValueSight is a tool that helps users quickly and accurately assess the value of Engula. Based on their own real business data, users can compare the memory usage of Engula and Redis with a single command, and quantify Engula's advantages in real business scenarios.
Core features include:
| Item | Content |
|---|---|
| Tool overview | Import a Redis RDB snapshot and generate a per-key memory comparison report of Engula vs. Redis. |
| Prerequisites | Docker can run on the local machine; prepare a dump.rdb; prepare an analysis_output/ output directory. |
| Quick start | docker run -it --rm -v "$(pwd)/dump.rdb:/tmp/dump.rdb" -v "$(pwd)/analysis_output:/engula/analysis_output" registry.cn-guangzhou.aliyuncs.com/montplex/engula-valuesight |
| Reading the output | Focus on the total memory savings ratio, the distribution by data type, the per-key details, and any abnormally large keys. |
| Full example | See "Running Example" below. |
| Argument | Purpose |
|---|---|
-v <rdb>:/tmp/dump.rdb |
Specify a single RDB file. |
-v <dir>:/tmp/rdb_dir |
Specify the RDB file directory in batch mode. |
-v <dir>:/engula/analysis_output |
Specify the report output directory. |
--batch |
Scan multiple RDB files under /tmp/rdb_dir and generate assessment results in batch. |
Engula ValueSight is provided as a Docker image and can run on Linux or macOS systems with Docker installed. The specific environment requirements are as follows:
If the runtime environment cannot access the public internet and cannot docker pull the image, refer to the 4.5 Exporting and Importing the Image File section of this document to export and import the image.
dump.rdb file on the host where it will run (you can use the BGSAVE command to generate it).Note: Replace
<RDB file path>with the actual path to yourdump.rdbfile.
Assuming Docker is already installed on the host and there is a dump.rdb file in the current directory, you can run the following commands to generate a compression assessment report for the dump.rdb file:
Note: Engula ValueSight is updated from time to time. If you have not used it for a while, it is recommended to run the pull command first to update it.
Running Process

Result

After the analysis finishes, press Enter to view the details, and press Q / Ctrl+C to exit.
Place the RDB files:
rdb_dir directory..rdb extension.Pull the analysis tool image:
rdb_dir and analysis_output must match the directories you actually created.The last underscore followed by a number in the RDB file name is treated as the number of shards and is factored into the final calculation, in order to obtain a more accurate estimate of the scale of memory savings.

In the example above, r_profile_100w_1000.rdb is treated as having 1000 shards.
Running Process

Result

Contents of the analysis_output Directory
For dump_1.rdb, there will be four files:
A separate set of related files is generated for each RDB file. If you care about the details, or if errors occur, you can obtain the relevant information from these files.
In addition, an info.log file is generated to record general log information.
Since multiple RDB files need to be assessed in batch, the processing time may be long. It is recommended to run the task in the background to improve efficiency and avoid a long wait.
You can check the task progress in the following ways:
Symptom
An error occurs at runtime:
Error2: Child process quit abnormally, ExitCode=9
Cause and Solution This error is usually caused by insufficient Docker memory due to an overly large RDB file. Recommendations:
After the analysis is complete, the analysis_output directory contains the program's runtime logs and statistics, which can be used for debugging. If you run into problems, you can contact the Engula team for assistance.
On Red Hat Linux 9, the Docker version installed with the following command does not meet the requirements for this test.
It is recommended to install Docker according to the official Docker documentation. The specific steps are as follows:
By default, the program in the image does not run as the root user; this error may be caused by that.
Solution:
Add --user root to the batch command.
Step 1. Export
On a machine that can access the public internet:
Tip: If the CPU architecture of the internet-connected machine differs from that of the target test machine, you need to set the
--platformargument to the CPU architecture of the target test machine; for X86, this isamd64.
Step 2. Copy
Copy the exported tar.gz file to the target test machine.
Step 3. Import
On the target test machine:
If you encounter any problems while using Engula or Engula ValueSight, or if you would like to learn more about our products, feel free to contact us at any time:
Email: support@engula.com
The Engula team will respond to your inquiries promptly on business days from 9:00 to 18:00 (UTC+8).