Performance Analysis: fsync Latency on SSDs With and Without Power Loss Protection
By
ingve
Crisp on the outside, thoughtful on the inside. A keeper.
Summary
This technical article examines the performance impact of fsync operations on SSDs with and without power loss protection. The author documents how calling fsync per-write for files opened with O_DIRECT affects performance, specifically focusing on the innodb_flush_method option in MySQL/InnoDB. Key findings show that SSDs without power loss protection have fast writes but slow fsync operations, while SSDs with power loss protection maintain consistent performance. The article emphasizes that context matters when reporting performance problems, as results can appear bad on servers with slow fsync but acceptable otherwise.
Key quotes
· 5 pulledFor an SSD without power loss protection, writes are fast but fsync is slow.
The secondary point of this post is to provide yet another example where context matters when reporting performance problems.
This post is motivated by results that look bad when run on a server with slow fsync but look OK otherwise.
My goal is to document the impact of the innodb_flush_method option.
This has results to measure the impact of calling fsync (or fdatasync) per-write for files opened with O_DIRECT.
You might also wanna read
Benchmarking Postgres Write Scalability for Durable Workflow Execution
This article benchmarks the scalability of a single Postgres server for durable workflow execution systems. It focuses on measuring Postgres
dbos.dev·1mo agoBenchmark Results: Entry-Level MacBook Performance on Database Workloads
The article benchmarks the performance of Apple's latest entry-level MacBook (MacBook Neo) on database workloads using ClickBench and TPC-DS
How Dapper's String Parameter Handling Can Defeat SQL Server Index Performance
This technical article explains a specific performance issue in SQL Server when using Dapper ORM with C# strings. The author discovered that
Performance Implications of UUID Version 4 as Primary Keys in PostgreSQL
The article discusses performance issues with using UUID Version 4 as primary keys in PostgreSQL databases, explaining that random UUIDs cau
SQLite's Performance Advantages: How Embedded Design Enables 100,000 TPS Over Billion Rows
This article challenges common misconceptions about SQLite's limitations, arguing that its embedded nature and single-writer architecture ar
Benchmarking Redis vs PostgreSQL for caching: An experimental comparison
A technical experiment comparing Redis and PostgreSQL (using unlogged tables) for caching use cases in API servers. The author runs both dat
