Hello Anthony,

applications with pgbench under different real-life-like load. So that
they will be able to see what's going to happen on production.

YCSB (Yahoo! Cloud Serving Benchmark) was taken as a concept. YCSB tests
were originally designed to facilitate performance comparisons of
different cloud data serving systems and it takes into account different
application workloads like:
workload A - assumes that application do a lot of reads(50%) and
updates(50%).
workload B - case when application do 95% of cases reads
and 5% updates
workload C - models behavior of read-only application.
workload E - the workload of the applications which in 95% of cases
requests for several neighboring tuples and in 5% of cases - does
updates.

In the patch those workloads were implemented to be executed by pgbench:
pgbench -b ycsb-A

Could you provide a link to the specification?

I cannot find something simple, and I was kind of hoping to avoid diving into the source code of the java tool on github:-) In particular, I'm looking for a description of the expected underlying schema and its size (scale) parameters.

Patch does not include any documentation, nor help, nor tests. It should.

+               "\\set write_weight 0\n"
+               "\\set operation random(1,:total_weight)\n"
+               "\\if (:operation < :write_weight)\n"

This is dead code:-( A lot of copy-paste between the cases, that should be avoided if possible.

Note that pgbench already has a builtin weight management. I'd suggest that the implementation could reuse it instead of reimplementing them within these duplicated scripts.

Maybe add simple builtins (eg ycsb-read/write/...) for individual transactions and a new --load=ycsb-A which would set the various transactions with their expected weights.

A, B, C, E... What is missing to get the D bench as well?

--
Fabien.

Reply via email to