From 9651a78787b922916bd390c70e9a71702939fe34 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 2 Feb 2010 12:01:53 +0100 Subject: [PATCH 1/1] Log time taken to load the DB at startup, in seconds --- TODO | 1 + redis.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index 86e9526e..f904821a 100644 --- a/TODO +++ b/TODO @@ -19,6 +19,7 @@ Virtual Memory sub-TODO: * vm-min-age option * Make sure objects loaded from the VM are specially encoded when possible. * Check what happens performance-wise if instead to create threads again and again the same threads are reused forever. Note: this requires a way to disable this clients in the child, but waiting for empty new jobs queue can be enough. +* Sets of integers are slow to load, for a number of reasons. Fix it. (use slow_sets.rdb file for debugging). * Hashes (GET/SET/DEL/INCRBY/EXISTS/FIELDS/LEN/MSET/MGET). Special encoding for hashes with < N keys. diff --git a/redis.c b/redis.c index bc159319..36055c4c 100644 --- a/redis.c +++ b/redis.c @@ -8212,6 +8212,8 @@ static void daemonize(void) { } int main(int argc, char **argv) { + time_t start; + initServerConfig(); if (argc == 2) { resetServerSaveParams(); @@ -8228,12 +8230,13 @@ int main(int argc, char **argv) { #ifdef __linux__ linuxOvercommitMemoryWarning(); #endif + start = time(NULL); if (server.appendonly) { if (loadAppendOnlyFile(server.appendfilename) == REDIS_OK) - redisLog(REDIS_NOTICE,"DB loaded from append only file"); + redisLog(REDIS_NOTICE,"DB loaded from append only file: %ld seconds",time(NULL)-start); } else { if (rdbLoad(server.dbfilename) == REDIS_OK) - redisLog(REDIS_NOTICE,"DB loaded from disk"); + redisLog(REDIS_NOTICE,"DB loaded from disk: %ld seconds",time(NULL)-start); } redisLog(REDIS_NOTICE,"The server is now ready to accept connections on port %d", server.port); aeSetBeforeSleepProc(server.el,beforeSleep); -- 2.45.2