From: antirez <antirez@gmail.com>
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 <seconds> 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);