From: antirez Date: Tue, 2 Feb 2010 11:01:53 +0000 (+0100) Subject: Log time taken to load the DB at startup, in seconds X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/9651a78787b922916bd390c70e9a71702939fe34 Log time taken to load the DB at startup, in seconds --- 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);