summaryrefslogtreecommitdiffstats
path: root/health/guides/redis/redis_bgsave_slow.md
diff options
context:
space:
mode:
Diffstat (limited to 'health/guides/redis/redis_bgsave_slow.md')
-rw-r--r--health/guides/redis/redis_bgsave_slow.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/health/guides/redis/redis_bgsave_slow.md b/health/guides/redis/redis_bgsave_slow.md
new file mode 100644
index 00000000..6a04bdf2
--- /dev/null
+++ b/health/guides/redis/redis_bgsave_slow.md
@@ -0,0 +1,54 @@
+### Understand the alert
+
+This alert, `redis_bgsave_slow`, indicates that the duration of the ongoing Redis RDB save operation is taking too long. This can be due to a large dataset size or a lack of CPU resources. As a result, Redis might stop serving clients for a few milliseconds, or even up to a second.
+
+### What is the Redis RDB save operation?
+
+Redis RDB (Redis Database) is a point-in-time snapshot of the dataset. It's a binary file that represents the dataset at the time of saving. The RDB save operation is the process of writing the dataset to disk, which occurs in the background.
+
+### Troubleshoot the alert
+
+1. Check the CPU usage
+
+Use the `top` command to see if the CPU usage is unusually high.
+
+```bash
+top
+```
+
+If the CPU usage is high, identify the processes that are consuming the most CPU resources and determine if they are necessary. Minimize the load by closing unnecessary processes.
+
+2. Analyze the dataset size
+
+Check the size of your Redis dataset using the `INFO` command:
+
+```bash
+redis-cli INFO | grep "used_memory_human"
+```
+
+If the dataset size is large, consider optimizing your data structure or implementing data management strategies, such as data expiration or partitioning.
+
+3. Monitor the Redis RDB save operation
+
+Use the following command to obtain the Redis statistics:
+
+```bash
+redis-cli INFO | grep "rdb_last_bgsave_time_sec"
+```
+
+Review the duration of the RDB save operation (rdb_last_bgsave_time_sec). If the save operation takes an unusually long time or fails frequently, consider optimizing your Redis configuration or improving your hardware resources like CPU and disk I/O.
+
+4. Change the save operation frequency
+
+To limit the frequency of RDB save operations, adjust the `save` configuration directive in your Redis configuration file (redis.conf). For example, to save the dataset only after 300 seconds (5 minutes) and at least 10000 changes:
+
+```
+save 300 10000
+```
+
+After modifying the configuration, restart the Redis service for the changes to take effect.
+
+### Useful resources
+
+1. [Redis Persistence](https://redis.io/topics/persistence)
+2. [Redis configuration](https://redis.io/topics/config)