Commit 6766f45e authored by antirez's avatar antirez
Browse files

multi bulk requests in redis-benchmark, default fsync policy changed to...

multi bulk requests in redis-benchmark, default fsync policy changed to everysec, added a prefix character for DEBUG logs
parent 3c290b9b
Redis TODO and Roadmap Redis TODO and Roadmap
VERSION 1.4 TODO (Hash type) VERSION 2.0 TODO
============================ ================
* BRPOPLPUSH * BRPOPLPUSH
* List ops like L/RPUSH L/RPOP should return the new list length. * List ops like L/RPUSH L/RPOP should return the new list length.
...@@ -21,7 +21,9 @@ Virtual Memory sub-TODO: ...@@ -21,7 +21,9 @@ Virtual Memory sub-TODO:
* 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. * 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). * 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. * Hashes (GET/SET/DEL/INCRBY/EXISTS/FIELDS/LEN/MSET/MGET). Special encoding for hashes with less than N elements.
* Write documentation for APPEND
* Implement LEN, SUBSTR, PEEK, POKE, SETBIT, GETBIT
VERSION 2.2 TODO (Fault tolerant sharding) VERSION 2.2 TODO (Fault tolerant sharding)
=========================================== ===========================================
......
...@@ -525,6 +525,24 @@ int main(int argc, char **argv) { ...@@ -525,6 +525,24 @@ int main(int argc, char **argv) {
} }
do { do {
prepareForBenchmark();
c = createClient();
if (!c) exit(1);
c->obuf = sdscat(c->obuf,"PING\r\n");
prepareClientForReply(c,REPLY_RETCODE);
createMissingClients(c);
aeMain(config.el);
endBenchmark("PING");
prepareForBenchmark();
c = createClient();
if (!c) exit(1);
c->obuf = sdscat(c->obuf,"*1\r\n$4\r\nPING\r\n");
prepareClientForReply(c,REPLY_RETCODE);
createMissingClients(c);
aeMain(config.el);
endBenchmark("PING (multi bulk)");
prepareForBenchmark(); prepareForBenchmark();
c = createClient(); c = createClient();
if (!c) exit(1); if (!c) exit(1);
...@@ -577,15 +595,6 @@ int main(int argc, char **argv) { ...@@ -577,15 +595,6 @@ int main(int argc, char **argv) {
aeMain(config.el); aeMain(config.el);
endBenchmark("LPOP"); endBenchmark("LPOP");
prepareForBenchmark();
c = createClient();
if (!c) exit(1);
c->obuf = sdscat(c->obuf,"PING\r\n");
prepareClientForReply(c,REPLY_RETCODE);
createMissingClients(c);
aeMain(config.el);
endBenchmark("PING");
prepareForBenchmark(); prepareForBenchmark();
c = createClient(); c = createClient();
if (!c) exit(1); if (!c) exit(1);
......
...@@ -873,7 +873,7 @@ static void redisLog(int level, const char *fmt, ...) { ...@@ -873,7 +873,7 @@ static void redisLog(int level, const char *fmt, ...) {
va_start(ap, fmt); va_start(ap, fmt);
if (level >= server.verbosity) { if (level >= server.verbosity) {
char *c = ".-*"; char *c = ".-*#";
char buf[64]; char buf[64];
time_t now; time_t now;
......
...@@ -158,14 +158,18 @@ appendonly no ...@@ -158,14 +158,18 @@ appendonly no
# always: fsync after every write to the append only log . Slow, Safest. # always: fsync after every write to the append only log . Slow, Safest.
# everysec: fsync only if one second passed since the last fsync. Compromise. # everysec: fsync only if one second passed since the last fsync. Compromise.
# #
# The default is "always" that's the safer of the options. It's up to you to # The default is "everysec" that's usually the right compromise between
# understand if you can relax this to "everysec" that will fsync every second # speed and data safety. It's up to you to understand if you can relax this to
# or to "no" that will let the operating system flush the output buffer when # "no" that will will let the operating system flush the output buffer when
# it want, for better performances (but if you can live with the idea of # it wants, for better performances (but if you can live with the idea of
# some data loss consider the default persistence mode that's snapshotting). # some data loss consider the default persistence mode that's snapshotting),
# or on the contrary, use "always" that's very slow but a bit safer than
appendfsync always # everysec.
# appendfsync everysec #
# If unsure, use "everysec".
# appendfsync always
appendfsync everysec
# appendfsync no # appendfsync no
################################ VIRTUAL MEMORY ############################### ################################ VIRTUAL MEMORY ###############################
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment