106 Commits

Author SHA1 Message Date
azure provisioned user
773dcf4e60 redis-benchmark AUTH command to be discarded after the first send #2150 2014-12-01 21:42:40 +00:00
antirez
ded0f6c8dc redis-benchmark: default num of requests is now 100000.
10000 completes in a too short time and may easily provide unreliable
figures because of tiny duration.
2014-11-28 09:23:39 +01:00
Matthias Petschick
61ab662691 fix benchmark memleak in loop mode 2014-11-28 02:50:17 +01:00
zhanghailei
93dce56f36 FIXED redis-benchmark's idle mode.With idle mode shouldn't create write event 2014-10-27 14:02:52 +08:00
Byron Grobe
d423a01461 Fixed issue #1996 (Missing '-' in help message for redis-benchmark) 2014-09-11 10:21:05 -04:00
Matt Stancliff
082e9dea0e Fix redis-benchmark abort output 2014-08-25 10:26:30 +02:00
Matt Stancliff
9b5ec6d102 redis-benchmark: Remove unused buffer
This just deletes old code that didn't get removed when
logic changed.  We were setting offsets that never
got read anywhere.

Since clients are now just cloned, we don't need to track
per-client buffer offsets anywhere because they are all
the same from the original client.
2014-08-25 10:19:43 +02:00
CharSyam
f6c771a1fc redis-benchmark: add auth option
Closes #1097
2014-08-25 10:17:33 +02:00
antirez
2e94ffb1d1 Remove warnings and improve integer sign correctness. 2014-08-13 11:44:38 +02:00
antirez
26216ed305 redis-benchmark: abort when all clients are disconnected. 2014-07-04 17:52:18 +02:00
antirez
af411f4c92 redis-benchmark: update help for new __rand_int__ form. 2013-10-28 18:13:42 +01:00
antirez
2134281040 redis-benchmark: changes to random arguments substitution.
Before this commit redis-benchmark supported random argumetns in the
form of :rand:000000000000. In every string of that form, the zeros were
replaced with a random number of 12 digits at every command invocation.

However this was far from perfect as did not allowed to generate simply
random numbers as arguments, there was always the :rand: prefix.

Now instead every argument in the form __rand_int__ is replaced with a
12 digits number. Note that "__rand_int__" is 12 characters itself.

In order to implement the new semantic, it was needed to change a few
thigns in the internals of redis-benchmark, as new clients are created
cloning old clients, so without a stable prefix such as ":rand:" the old
way of cloning the client was no longer able to understand, from the old
command line, what was the position of the random strings to substitute.

Now instead a client structure is passed as a reference for cloning, so
that we can directly clone the offsets inside the command line.
2013-08-08 16:42:08 +02:00
antirez
40693737f0 redis-benchmark: replace snprintf()+memcpy with faster code.
This change was profiler-driven, but the actual effect is hard to
measure in real-world redis benchmark runs.
2013-08-08 14:33:14 +02:00
antirez
7ab3495410 redis-benchmark: fix memory leak introduced by 22d35c6 2013-08-07 16:00:18 +02:00
antirez
22d35c646c redis-benchmark: max pipeline length hardcoded limit removed. 2013-08-07 15:58:58 +02:00
antirez
e053e250c9 redis-benchmark: fix db selection when :rand: feature is used. 2013-08-06 19:01:54 +02:00
antirez
09c76e6800 redis-benchmark: ability to SELECT a specifid db number. 2013-08-06 18:50:54 +02:00
antirez
1d235fa5ad Fix overflow in mstime() in redis-cli and benchmark.
The problem does not exist in the Redis server implementation of mstime()
but is only limited to redis-cli and redis-benchmark.

Thix fixes issue #839.
2012-12-20 15:20:55 +01:00
antirez
95cf003ba5 redis-benchmark: seed the PRNG with time() at startup. 2012-11-30 15:41:09 +01:00
antirez
a32d1ddff6 BSD license added to every C source and header file. 2012-11-08 18:31:32 +01:00
NanXiao
e65d7e8677 Update src/redis-benchmark.c
The code of current implementation:

if (c->pending == 0) clientDone(c);
In clientDone function, the c's memory has been freed, then the loop will continue: while(c->pending). The memory of c has been freed now, so c->pending is invalid (c is an invalid pointer now), and this will cause memory dump in some platforams(eg: Solaris).

So I think the code should be modified as:
if (c->pending == 0)
{
clientDone(c);
break;
}
and this will not lead to while(c->pending).
2012-10-10 17:08:43 +08:00
antirez
87eff969d4 redis-benchmark: disable big buffer cleanup in hiredis context.
This new hiredis features allows us to reuse a previous context reader
buffer even if already very big in order to maximize performances with
big payloads (Usually hiredis re-creates buffers when they are too big
and unused in order to save memory).
2012-08-21 17:31:44 +02:00
Premysl Hruby
491dce4064 fix redis-benchmark memory leak 2012-02-26 10:01:27 +01:00
antirez
913dda0723 redis-benchmark: a few fixes to pipelining implementation. 2012-02-23 15:39:26 +01:00
antirez
9414d08bd7 redis-benchmark: Initial support for pipelining. 2012-02-23 15:02:43 +01:00
antirez
c23e3efd71 The hiredis lib shipped with Redis was updated to latest version. 2012-02-19 20:26:50 +01:00
antirez
62072a2780 Fixed redis-benchmark --help output typo 2012-01-31 11:43:32 +01:00
antirez
1beff5317a Max limit to 10k clients removed, this implements feature request on issue #194 2011-12-15 11:42:40 +01:00
antirez
11d07e8a37 redis-benchmark: ability to run selected tests. Better help with examples. 2011-11-07 11:29:37 +01:00
antirez
6a81b59123 csv output for redis-benchmark 2011-11-04 14:49:24 +01:00
antirez
d5c50b3c94 PING / MSET benchmarks enabled again. 2011-11-04 11:20:19 +01:00
antirez
661dfc7ba6 further optimizations for the multi bulk protocol parsing code when big objects are transmitted to Redis. 2011-11-03 15:53:40 +01:00
Pieter Noordhuis
17629fc963 Enforce upper bound for number of requests in redis-benchmark 2011-09-16 11:25:00 +02:00
Pieter Noordhuis
6a45906d76 There is no debug mode in benchmark tool 2011-06-01 09:22:19 -07:00
Pieter Noordhuis
273e54b283 Provide custom command to benchmark against via args 2011-06-01 09:22:19 -07:00
Pieter Noordhuis
1f61aa253f More const's in redis-benchmark.c 2011-06-01 09:22:19 -07:00
antirez
37631f2a3f portability fix in redis benchmark, using zu format specified with size_t instead of lu 2011-01-24 10:05:42 +01:00
Pieter Noordhuis
af94cbf7fe Randomize keys and set start time when first write event fires 2010-12-23 11:22:40 +01:00
Pieter Noordhuis
ac85cb17a6 Find substrings to randomize when the client is created 2010-12-23 11:04:44 +01:00
Pieter Noordhuis
7a335a7c31 Make the MSET benchmark *really* work with 10 keys 2010-12-22 18:39:52 +01:00
Pieter Noordhuis
54992e2101 Remove code duplication 2010-12-22 18:31:33 +01:00
Didier Spezia
fac13cd705 Add wait states to deal with many connections. 2010-12-18 12:11:26 +01:00
Pieter Noordhuis
6c56aff945 Use multi-bulk protocol by default in redis-benchmark 2010-12-18 12:10:24 +01:00
Pieter Noordhuis
bb7ad96d5a Re-use variable data in redis-benchmark 2010-12-16 23:41:58 +01:00
Pieter Noordhuis
8833e6ed4e Fix NULL-termination of variable data in redis-benchmark 2010-12-16 23:35:56 +01:00
Pieter Noordhuis
9561caf0d9 Use multi-bulk protocol in SET benchmark 2010-11-05 10:22:52 +01:00
Pieter Noordhuis
a4c17a74f5 Microsecond latency resolution in redis-benchmark 2010-11-04 16:15:35 +01:00
Pieter Noordhuis
20c9cc5a20 Use hiredis from redis-benchmark 2010-11-04 13:37:05 +01:00
antirez
a9c740ac44 Merge remote branch 'pietern/unixsocket' 2010-11-02 23:47:52 +01:00
Pieter Noordhuis
01797ad67a Add benchmark for MSET 2010-10-15 18:17:06 +02:00