I thought it was really great to see the detailed analysis.
One thing I noted is a connection pool size of 20, with 2 CPU cores. So that means the difference between JDBC and R2DBC will be 10 less threads blocked on each core. In my experience, I don't see much difference in performance at this scale.
But as the number of concurrent database calls grows, that's where R2DBC can shine. It's not a precise figure, but I seem to recall something like 32 concurrent database calls per core is where I would start to see a difference.
When discussing R2DBC, I think its good to clarify what we mean by "concurrency". A system could have 1000s of concurrent *web* requests, but R2DBC is only going to effect the *database* requests. In the blog, we see a large number of concurrent web requests, but that's all funneling down to a small number of concurrent database requests.
Anyway, I really like to see articles like this. I appreciate the scientific nature of creating a test, measuring the result, and then opening the conclusion up to peer review :)