Database updates have been batched into a “transaction” for atleast a few years, so there is nothing to try out, as you are already running it.
I don’t know what else to add then. I’ll be glad to help in what I can within my possibilities.
I don’t think there is anything to add, if there was a way to fix this, we probably would have done that already.
Using fsyncdata vs fsync might win something, but I doubt it’s much, and you still have to fsync the directory.
if there was a way to fix this, we probably would have done that already.
Isn’t there any open discussion/ticket for golang where is requested to have a better way of syncing writes to disk that is not file per file?
It’s nothing todo with golang.
“Sync all files to disk” is something that is not portable/work on all filesystems/platforms, hence not something we could use even if it was there
Are you sure it’s not possible to implement it for all systems? I’m sure it’s on Linux (sync command) and it seems it’s also possible to do on Windows (https://docs.microsoft.com/en-us/sysinternals/downloads/sync)
Don’t know about macOS, but I found this: