January 7, 2026
Fast writes, furious fights
SSDs, power loss protection and fsync latency
Fast SSDs, slow saves: devs bicker over data safety and brand loyalty
TLDR: Author finds consumer SSDs write fast but “fsync” is slow, switching to Crucial T500 for quicker saves. Comments split: some say NVMe flushes are pointless without a cache, others warn power-loss risks make syncing essential. It matters because your database’s safety and speed depend on the right SSD and settings.
A new blog stirred up storage nerds by showing that consumer SSDs write fast but “fsync” — the safety check that makes sure data is truly saved — can be painfully slow. The author even says they’re ditching Samsung’s 990 Pro for a Crucial T500 because it syncs faster, and breaks down how MySQL’s InnoDB behaves when you use O_DIRECT (more frequent syncing) versus O_DIRECT_NO_FSYNC (skip most syncs). Translation: fewer syncs = faster, but riskier. Cue the comment circus.
One camp, led by mgerdts, drops the NVMe spec like a mic: “If there’s no volatile cache, flushing does nothing.” In other words, stop spamming the drive with “save now!” commands. Another camp shouts back: consumer SSDs lack power loss protection (PLP), so those fast writes can vanish in a blackout — better safe (and slow) than sorry. Meanwhile, jauntywundrkind connects the drama to yesterday’s io_uring performance talk, linking HN and an arXiv paper, because of course this turned into an I/O theory flex.
Brand wars pop off (“Team Crucial” vs “Team Samsung”), and the old MySQL vs Postgres flame war resurfaces with checksum bragging rights. The memes? “fsync is the flossing of storage,” “fast writes, slow regrets,” and “buy PLP or buy candles.” Everyone agrees on one thing: context matters — and testing beats swagger.
Key Points
- •The article measures fsync/fdatasync impact for files opened with O_DIRECT to understand innodb_flush_method effects in InnoDB.
- •With O_DIRECT, InnoDB fsyncs after a doublewrite buffer write and once per database file touched in a batch; fsyncs are per batch, not per write.
- •With O_DIRECT_NO_FSYNC, fsync calls are greatly reduced, primarily occurring when filesystem metadata changes (e.g., file growth).
- •Benchmark ratios (Innodb_data_fsyncs/Innodb_data_writes) show fsync frequency: O_DIRECT 0.01046 (5.7.44) and 0.00729 (8.0.44); O_DIRECT_NO_FSYNC 0.00172 and 0.00053.
- •Enterprise SSDs with PLP reduce data-loss risk on power failure; the author prefers Crucial T500 over Samsung 990 Pro for lower fsync latency on mini PCs.