What to expect from a benchmark?
I'm not a hardware expert, but why do you think a SAN should be comparable to a NVMe?

Sorry, there is no simple formula.

At what scale did you initialize the benchmark tables? that is, what number for pgbench -i -s 20? How many clients did you run the benchmark? (What numbers did you provide for -jand -c?)  Did you run pgbench on the same server as was running the database?  For how long did you run it?  The system can absorb write requests very fast for a while.  Then either checkpointing kicks in, or RAM becomes clogged with dirty pages.  For write-heavy benchmarks, I'd be hesitant to draw conclusions from any run less than 30 minutes.

I suspect that what you are benchmarking here is how fast your storage can complete (or claim to complete) a sync request.  Does it get much faster if you do the below?

PGOPTIONS='-c synchronous_commit=off' pgbench ....


If you want to strip out the database itself and just test the underlying sync speed, you can use "pg_test_fsync".  Make use the file it uses gets placed on the correct storage, either by changing directories or by using "-f" option.