This is intended as an alternative to mysqlslap while providing a
This program uses trawler
to
generate a workload that is similar to that of the
lobste.rs news aggregator. It is the same benchmark
that was used in §8.1 in the OSDI'18 Noria
paper.
This program closely follows
lobsters
, but with less of a focus on
accurately reflecting the lobsters.rs workflow and more on slapping MySQL.
nchmark issues SQL queries from the Lobsters code base according to the production traffic patterns reported here. It can run in one of three modes:
Compile the benchmark with
$ cargo b --release --bin mysql-trawl
Then start the backend you want to slap, you must first decide what
target load (reqscale
) you want to test. The reqscale
is a scaling
factor relative to that seen by the production Lobsters deployment. See
the paper linked above for good values to try.
Then, run, for example, with a reqscale run:
$ target/release/mysql-trawl \
--reqscale <target> \
--warmup 20 \
--runtime 30 \
--issuers 24 \
"mysql://lobsters:soup@127.0.0.1/lobsters"