mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
AOF: sync data on disk every 32MB when rewriting.
This prevents the kernel from putting too much stuff in the output buffers, doing too heavy I/O all at once. So the goal of this commit is to split the disk pressure due to the AOF rewrite process into smaller spikes. Please see issue #1019 for more information.
This commit is contained in:
parent
91f4213ddf
commit
336d722fba
@ -855,6 +855,7 @@ int rewriteAppendOnlyFile(char *filename) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rioInitWithFile(&aof,fp);
|
rioInitWithFile(&aof,fp);
|
||||||
|
rioSetAutoSync(&aof,REDIS_AOF_AUTOSYNC_BYTES);
|
||||||
for (j = 0; j < server.dbnum; j++) {
|
for (j = 0; j < server.dbnum; j++) {
|
||||||
char selectcmd[] = "*2\r\n$6\r\nSELECT\r\n";
|
char selectcmd[] = "*2\r\n$6\r\nSELECT\r\n";
|
||||||
redisDb *db = server.db+j;
|
redisDb *db = server.db+j;
|
||||||
|
@ -106,6 +106,7 @@
|
|||||||
#define REDIS_INLINE_MAX_SIZE (1024*64) /* Max size of inline reads */
|
#define REDIS_INLINE_MAX_SIZE (1024*64) /* Max size of inline reads */
|
||||||
#define REDIS_MBULK_BIG_ARG (1024*32)
|
#define REDIS_MBULK_BIG_ARG (1024*32)
|
||||||
#define REDIS_LONGSTR_SIZE 21 /* Bytes needed for long -> str */
|
#define REDIS_LONGSTR_SIZE 21 /* Bytes needed for long -> str */
|
||||||
|
#define REDIS_AOF_AUTOSYNC_BYTES (1024*1024*32) /* fdatasync every 32MB */
|
||||||
|
|
||||||
/* Hash table parameters */
|
/* Hash table parameters */
|
||||||
#define REDIS_HT_MINFILL 10 /* Minimal hash table fill 10% */
|
#define REDIS_HT_MINFILL 10 /* Minimal hash table fill 10% */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user