The Insert Benchmark: MariaDB, MySQL, small server, cached workload
Small Datum
by Mark Callaghan
5h ago
This post has results for the Insert Benchmark on a small server with a cached workload. The goal is to compare MariaDB and MySQL. This work was done by Small Datum LLC and sponsored by the MariaDB Foundation. The workload here has low concurrency and the database is cached. The results might be different when the workload is IO-bound or has more concurrency. tl;dr Modern MariaDB (11.4.1) is faster than modern MySQL (8.0.36) on all benchmark steps except for qr* (range query) and l.x (create index) where they have similar performance. Modern MariaDB (11.4.1) was at most 15% slower ..read more
Visit website
Sysbench on a (less) small server: MariaDB and MySQL
Small Datum
by Mark Callaghan
3d ago
This has results from the sysbench benchmark for MariaDB and MySQL on a (less) small server with a cached and low-concurrency workload. For MariaDB I tested LTS releases from 10.2 through 11.4. For MySQL I tested 5.6, 5.7 and 8.0. The results from MySQL here are a good reason to use changepoint detection to spot regressions early, like that provided by Nyrkiƶ. This work was done by Small Datum LLC and sponsored by the MariaDB Foundation. A previous post shared results from my smallest and oldest server. This has results from two newer and faster, but still small, servers. R ..read more
Visit website
Sysbench on a small server: MariaDB and MySQL
Small Datum
by Mark Callaghan
1w ago
This has results from the sysbench benchmark for MariaDB and MySQL on a small server with a cached and low-concurrency workload. For MariaDB I tested LTS releases from 10.2 through 11.4. For MySQL I tested 5.6, 5.7 and 8.0.  This work was done by Small Datum LLC and sponsored by the MariaDB Foundation. My standard disclaimer is that sysbench with low-concurrency is great for spotting CPU regressions. However, a result with higher concurrency from a larger server is also needed to understand things. Results from IO-bound workloads and less synthetic workloads are also needed. But low ..read more
Visit website
Comparing Postgres and MySQL on the insert benchmark with a small server
Small Datum
by Mark Callaghan
3w ago
My primary goal with the benchmarks I run has been to identify performance regressions, especially ones that can be fixed to make open source databases better. And so I focus on comparing old and new versions of one DBMS at a time to identify where things get better or worse. But here I compare Postgres with MySQL (InnoDB & MyRocks) to show that neither is the best for the Insert Benchmark -- all are good, but none are perfect. The per-DBMS results are here for Postgres, InnoDB and MyRocks. Those posts also have links to the configurations and builds that I used. This post shares the same ..read more
Visit website
Yet another Insert Benchmark result: MyRocks, MySQL and a small server
Small Datum
by Mark Callaghan
3w ago
While trying to explain a Postgres performance problem I repeated the Insert Benchmark on a small server for MyRocks from MySQL 5.6 and 8.0. This post explains those results. The previous report for a cached workload is here. tl;dr Disclaimers The low-concurrency results here are worse than the results from a bigger server with more concurrency because the result here depends more on CPU overheads and MySQL keeps on growing code paths, while on the bigger server the cost from new CPU overheads is offset by other improvements. Some of the regressions here are similar to what I measure for In ..read more
Visit website
Yes another Insert Benchmark result: MySQL, InnoDB and a small server
Small Datum
by Mark Callaghan
1M ago
While trying to explain a Postgres performance problem I repeated the Insert Benchmark on a small server for InnoDB from MySQL 5.6, 5.7 and 8.0. This post explains those results. Previous reports are here for cached and IO-bound workloads and the results here are similar. tl;dr Disclaimer - the low-concurrency results here are worse than the results from a bigger server with more concurrency because the result here depends more on CPU overheads and MySQL keeps on growing code paths, while on the bigger server the cost from new CPU overheads is offset by other improvements. There are significa ..read more
Visit website
Trying to tune Postgres for the Insert Benchmark: small server
Small Datum
by Mark Callaghan
1M ago
Last year I spent much time trying to tune the Postgres configs I use to improve results for the Insert Benchmark. While this was a good education for me I wasn't able to get significant improvements. After writing about another perf problem with Postgres (optimizer spends too much time on DELETE statements in a special circumstance) I revisited the tuning but didn't make things significantly better. The results here are from Postgres 16.2 and a small server (8 CPU cores) with a low concurrency workload. Previous benchmark reports for Postgres on this setup are here for cached and IO-bound ru ..read more
Visit website
Perf regressions in Postgres from 9.0 to 16 with sysbench and a small server
Small Datum
by Mark Callaghan
1M ago
This has results for sysbench vs Postgres on a small server. I have results for versions from 9.0 through 16. My last report only went back to Postgres 11. The goal is to document where things get faster or slower over time for a low-concurrency and CPU-bound workload. The focus is on CPU regressions.  My results here aren't universal, but you have to start somewhere: The microbenchmarks here mostly measure CPU overheads Things won't look the same with an IO-bound workload Things won't look the same with a workload that has more concurrency  Things won't look the same with ..read more
Visit website
Perf regressions in MySQL from 5.6.21 to 8.0.36 using sysbench and a small server
Small Datum
by Mark Callaghan
2M ago
This has results for sysbench vs upstream MySQL on a small server. I have results for some 5.6, 5.7 and 8.0 releases up to 8.0.36. My last report stopped at 8.0.34. The goal is to document where things get faster or slower over time for a low-concurrency and CPU-bound workload. The focus is on CPU regressions.  My results here aren't universal.  The microbenchmarks here mostly measure CPU overheads Things won't look the same with an IO-bound workload. If nothing else that will make many of the CPU regressions less significant. Things won't look the same with a workload that has more ..read more
Visit website
It wasn't a performance regression in Postgres 14
Small Datum
by Mark Callaghan
2M ago
With help from a Postgres expert (Peter Geoghegan) I was able to confirm there wasn't a performance regression for Postgres 14 in a few of the benchmark steps with the Insert Benchmark as I started to report on in a previous blog post. The results here are from a small server for both cached and IO-bound workloads and replace my previous blog posts (cached, IO-bound). The reason for the false alarm is that index cleanup was skipped during vacuum starting with Postgres 14 and the impact is that the optimizer had more work to do (more not-visible index entries to skip) in the get_actual_variable ..read more
Visit website

Follow Small Datum on FeedSpot

Continue with Google
Continue with Apple
OR