Commit Graph

17 Commits

Author SHA1 Message Date
David Terei
ecfbd75065 Seperate out protocol handling from connection. 2014-09-16 17:41:40 -07:00
Jacob Leverich
da45ef0d79 Detect if we need to use libevent EVENT_BASE_FLAG_PRECISE_TIMER 2013-07-01 10:27:38 -07:00
Jacob Leverich
d7a1ada9d3 Option to save latency measurements to a file. 2013-07-01 10:08:16 -07:00
Jacob Leverich
ebd96ada3c Misc. experimental features. (1) thread affinity (2) event_base_flag_precise_timer (3) configurable agent port (4) per-connection qps moderation 2013-04-15 13:27:06 -07:00
Jacob Leverich
86ad565956 Updated sync_agent() to be less ridiculous. Still ridiculous, though. 2013-03-13 16:58:36 -07:00
Jacob Leverich
0b3abadab1 --skip: pass option with options_t to agents 2013-03-12 15:33:44 -07:00
Jacob Leverich
eb72e0d2ce Minor beautification. 2013-03-12 15:29:43 -07:00
Jacob Leverich
7ca3e57c6d Add --skip option: By default, mutilate tries to maintain a long-term QPS average by issuing requests as quickly as possible until it catches up with where it 'ought' to be. If you give the --skip option, it will instead just skip sending requests that are already late. 2013-03-12 15:27:29 -07:00
Jacob Leverich
fc0f1a78a4 1. Implemented --measure_* options to reasonably separate
configuration of measurement client (mutilate master) from
load generating clients (mutilate agents).  Use -C and
--measure_depth to approximate open-loop measurement control
(i.e. so long latency requests don't screw up the sample
population), and use -Q to ensure that you see minimal
client-side queuing delay.

2. Quickly documented agent "protocol".  Lots of improvement
to be had here...
2013-03-08 13:19:47 -08:00
Jacob Leverich
960b30dc7b Add -M (measure-mode), where master client only opens 1 connection per thread (to avoid client-side queuing delay). 2013-03-06 21:55:24 -08:00
Jacob Leverich
571dc0bd07 Report nth-% latency at start of --search. 2013-03-04 14:34:19 -08:00
Jacob Leverich
4e8d2f6d10 Merged Stephen Yang's and David Terei's binary protocol and SASL implementations.
I ended up cherry-picking different parts from each implementation.
I liked David's changes to the read state machine to implement SASL.
I used Stephene's implementation of the binary protocol integrated with
the ASCII protocol.
2013-03-04 09:31:13 -08:00
Stephen Yang
8658d6cbc4 Added binary plaintext SASL support, toggable with --sasl=user[:pass] 2013-03-02 05:46:39 -08:00
Stephen Yang
d3fa8769ae Added binary support, toggable via --binary. 2013-03-01 05:36:35 -08:00
Jacob Leverich
6ffebb2ec7 Change --search behavior to abort once goodput qps is < 10% of peak qps. 2013-02-02 17:59:37 -08:00
David Terei
e0f2e922a4 Fix compilation on OSX. 2013-01-30 19:46:39 -08:00
Jacob Leverich
386320d266 Initial check-in.
This is extracted from another git repo.  This is the first release, and
the prior commit history is not terribly interesting, so I'm not going
to bother using filter-branch to try to cleanly isolate the history for
this tool.

Cheers.
2012-08-23 14:30:32 -07:00