เปเบเบเบฐเบเบฐเบเบตเปเบเบฒเบเบเบปเปเบเบเบงเปเบฒเบเบงเบฒเบกเบเบทเบเบเบปเบเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเปเบเบฅเบฐเบเบปเบเบเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบปเบเบชเบญเบเบเบปเบงเปเบญเบเปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบเปเบญเบเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบทเปเบเบเบฒเบ. I
เปเบเบเบปเบเบเบฝเบเบเบตเป, เบเปเบญเบเบเบปเปเบเบซเบฒเบเบปเบเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบตเปเบเบปเบเบเบตเปเบเบตเปเบชเบฐเบซเบเบญเบเปเบซเปเปเบเบ API เปเบเบฅเป Linux. เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบงเบเบเบฐเบเปเบฒเบเบเบฒเบเบขเบนเปเบเบตเปเบเบตเป: เปเบเบผเปเบเบผเบกเปเบญเบตเปเบเบเปเบฒเบชเบฑเปเบ write()
, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบชเปเบฒเปเบฅเบฑเบ, เบเปเปเบกเบนเบเบเบฐเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเบขเปเบฒเบเบเบญเบเปเบเปเบชเปเปเบเปเบ. เปเบเป write()
เบเบฝเบเปเบเปเบเบฑเบเบฅเบญเบเบเปเปเบกเบนเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบซเบฒ kernel cache เบเบตเปเบเบฑเปเบเบขเบนเปเปเบ RAM. เปเบเบทเปเบญเบเบฑเบเบเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบฝเบเบเปเปเบกเบนเบเปเบชเปเปเบเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฒเบเบเบปเบเปเบเปเบเบตเปเบกเปเบเบตเบก.
เปเบเบเบฅเบงเบกเปเบฅเปเบง, เปเบญเบเบฐเบชเบฒเบเบเบตเปเปเบกเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฑเบเบเบถเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเปเบเบซเบปเบงเบเปเปเบเบตเปเบเปเบญเบเบชเบปเบเปเบ. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเบชเบฑเปเบเปเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบ, เบกเบฑเบเบเบฒเบเบปเบเบงเปเบฒเปเบเบทเปเบญเบเบฑเบเบเบฑเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเปเบเบเบเบทเบเบเบปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบชเบฑเปเบ. fdatasync()
เบซเบผเบทเปเบเบตเบเปเบเบฅเปเบเบตเปเบกเบตเบเบธเบ O_DSYNC
. เบเปเบฒเบเปเบฒเบเบชเบปเบเปเบเบขเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบทเปเบเบเบฑเบเบเปเปเบกเบนเบเบเบญเบเบกเบฑเบเบเบฒเบเบฅเบฐเบซเบฑเบเปเบเบซเบฒเปเบเปเบ, เปเบซเปเบเบงเบเปเบเบดเปเบ
เบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบเบฒเบเปเบเปเบเบฑเบเบเบฑเบ write().
เปเบเบฅเบฐเบเบปเบ write()
เบเปเบฒเบเบปเบเบขเบนเปเปเบเบกเบฒเบเบเบฐเบเบฒเบ write()
เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเปเบญเบเบเบฑเบเบเบทเบเบขเปเบฒเบเปเบเปเบเบดเบ bytes เบเบตเปเบเบทเบเบเบฝเบเปเบงเปเบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเบกเบนเบเบเบทเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเบซเบผเบทเบซเบปเบงเบเปเปเบญเบทเปเบเป (
เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ write()
เบกเบฑเบเปเบกเปเบเบเบฐเบฅเปเบฒเบกเบฐเบเบน? เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ, เปเบกเปเบเปเบฅเปเบง. เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเปเบญเบเบชเบปเปเบเบเบทเบเบเบฑเบ เปเบปเบ เบซเบผเบทเบเปเปเบกเบตเบซเบเบฑเบเบเบญเบเบชเบดเปเบเบเบตเปเบเบฝเบเบเปเบงเบ write()
. เปเบเปเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ write()
, เบเบฒเบกเบกเบฒเบเบเบฐเบเบฒเบ, เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบดเปเบเบชเบธเบเบเปเบงเบเบเบฒเบเบเบฝเบเบฅเบปเบเบเบธเบเบชเบดเปเบเบเบตเปเบเบทเบเบเปเปเบซเปเบเบฝเบเบฅเบปเบ. เบเบฒเบเปเบเปเบเบทเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฝเบเบเบฝเบเปเบเปเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเปเปเบกเบนเบ. เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบญเบฒเบเบเบฐเบกเบตเบชเบญเบเบเบฐเบเบนเปเปเบเปเบฅเบฐเบญเบฑเบเบเปเปเบเปเบฒเบ 1024 bytes เบเบฑเบเปเบเบฅเปเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบเบเบเบปเบงเบญเบฐเบเบดเบเบฒเบเปเบเบฅเปเบเบฝเบงเบเบฑเบ. เบเบฒเบเบกเบธเบกเปเบเบดเปเบเบเบญเบเบกเบฒเบเบเบฐเบเบฒเบ, เบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบญเบกเบฎเบฑเบเปเบเปเปเบกเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเบเบฝเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบเบฝเบเปเบเปเบซเบเบถเปเบ byte เบเบฑเบเปเบเบฅเป. เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฐเบเบฑเบเบเบปเบเปเบเบฑเบเบเบฐเบฅเปเบฒเบกเบฐเบเบน, เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบเบปเบฒเบชเปเบฒเปเบฅเบฑเบ, เบเปเปเบกเบนเบเบเบตเปเปเบเบปเบฒเปเบเบปเปเบฒเบเบฝเบเปเบชเปเปเบเบฅเปเบเบฐเบเบทเบเบเบฐเบชเบปเบก.
fsync() เปเบฅเบฐ fdatasync() เบเบฑเบเบเบฑเบ
เบงเบดโเบเบตโเบเบตเปโเบเปเบฒเบโเบเบตเปโเบชเบธเบโเปเบเบทเปเบญ flush เบเปเปโเบกเบนเบโเบเบฑเบโเปเบเปเบโเปเบกเปเบโเบเบฒเบโเปเบโเบซเบฒโเบซเบเปเบฒโเบเบตเปโ fdatasync()
. เบเบฒเบ fdatasync()
เบกเบฑเบเปเบเปเบเบทเบเบเปเบฒเบงเบงเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป, เบเปเบฒเบเบงเบ metadata เบเบฑเปเบเบเปเบฒเบงเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเปเบเปเบเบเบตเป "เบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเปเปเปเบเบเบตเป." เปเบฅเบฐเบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเปเบงเบเปเบซเบเปเบชเบปเบเปเบ.
เบเบฑเบเบซเบฒเบซเบเบถเปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบทเปเบเบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเบงเปเบฒเบเบปเบเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบเบฅเปเบเบฐเบเบทเบเบเบปเปเบเบเบปเบเบซเบผเบฑเบเบเบฒเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบตเปเปเบเบฑเบเปเบเปเบเป. เปเบเบเบชเบฐเปเบเบฒเบฐ, เปเบกเบทเปเบญเบชเปเบฒเบเปเบเบฅเปเปเบซเบกเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบซเบฒ fsync()
เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเบฐเบเบญเบเบเปเบงเบเบกเบฑเบ. เบเปเบฒโเบเปเปโเบเบฑเปเบโเบเบฑเปเบโ, เบซเบผเบฑเบโเบเบฒเบโเบเบงเบฒเบกโเบฅเบปเปเบกโเปเบซเบผเบงโ, เบกเบฑเบโเบญเบฒเบโเบเบฐโเบเบฒเบโเปเบเบฑเบโเปเบเบฅโเปโเบเบตเปโเบเปเปโเบกเบตโ. เปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเปเบกเปเบเบขเบนเปเปเบ UNIX, เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเบ, เปเบเบฅเปเบชเบฒเบกเบฒเบเบกเบตเบขเบนเปเปเบเบซเบผเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบต. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เปเบเปเบงเบฅเบฒเบเบตเปเปเบเบซเบฒ fsync()
เบเปเปเบกเบตเบเบฒเบเบเบตเปเปเบเบฅเปเบเบตเปเบเบฐเบฎเบนเปเบงเปเบฒเบเปเปเบกเบนเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบเบเบงเบเบเบฐเบเบทเบ flushed เปเบเปเบชเปเปเบเปเบ (fsync()
เปเบเบซเบฒเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบกเบตเปเบเบฅเปเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ, เปเบเปเบเบตเปเบญเบฒเบเบเบฐเบเปเปเปเบเบฑเบเบเปเบฅเบฐเบเบตเบเบฑเบเบฅเบฐเบเบปเบเปเบเบฅเปเบญเบทเปเบเป.
เบเบปเบเปเบเบเบตเปเบญเบฒเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบฅเบฐเบเบปเบเปเบเบฅเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเปเบญเบโเปเบเป fdatasync()
เปเบงเบเบถเปเบเปเบฅเบฑเบเบเปเบญเบ fsync()
. เบเบฐเปเบซเบเบ blktrace
เบเบตเปโเปเบซเปโเปเบซเบฑเบโเบงเปเบฒโ fdatasync()
เปเบเบเบเบปเบเบเบฐเบเบดเบเบฐเบเบฝเบเบเปเปเบกเบนเบเปเปเบญเบเบฅเบปเบเปเบชเปเปเบเปเบ (เปเบ ext4 fsync()
เบเบฝเบ 20 KiB, เปเบฅเบฐ fdatasync()
- 16 เบเบดเบ). เบเบญเบเบเบฒเบเบเบตเป, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเปเบซเบฑเบเบงเปเบฒ XFS เปเบกเปเบเปเบงเบเบงเปเบฒ ext4 เปเบฅเบฑเบเบเปเบญเบ. เปเบฅเบฐเปเบเบเบตเปเบเบตเปเบเปเบงเบเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญ blktrace
เบเบฒเบเบเบธเปเบกเบเบญเบเปเบเบทเปเบญเบเบญเบเบซเบฒเบงเปเบฒ fdatasync()
เบฅเปเบฒเบเบเปเปเบกเบนเบเปเปเบญเบเบฅเบปเบเปเบชเปเปเบเปเบ (4 KiB เปเบ XFS).
เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเปเบเบฑเบเปเบเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเป fsync()
เบเปเบญเบเบชเบฒเบกเบฒเบเบเบดเบเปเบเบดเบเบชเบฒเบกเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเปเปเบเบฑเบเปเบเบเบเปเบฝเบงเบเบฑเบ fsync()
เบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ.
เบเปโเบฅเบฐโเบเบตโเบเปเบฒโเบญเบดเบโเบเบตเปโเปเบเบตเบโเบเบถเปเบโเปเบโเบเบต 2008โ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเปเบเปเบเบญเบ Firefox 3 froze เบเปเบฒเปเบเบฅเปเบเปเบฒเบเบงเบเบซเบฅเบฒเบเบเบทเบเบเบฝเบเปเบชเปเปเบเปเบ. เบเบฑเบเบซเบฒเปเบกเปเบเบงเปเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเปเบเปเบเปเบฒเปเบเปเบเบฒเบเบเปเปเบกเบนเบ SQLite เปเบเบทเปเบญเปเบเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบฅเบฑเบเบเบญเบเบกเบฑเบ. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบเบฒเบเปเบเปเบเบญเบเปเบเปเบฅเบฐเบเบปเบ, เบซเบเปเบฒเบเบตเปเบเบทเบเปเบญเบตเปเบเบงเปเบฒ fsync()
, เปเบเบดเปเบเปเบซเปเบเบฒเบเบเปเปเบฒเบเบฐเบเบฑเบเบเบตเปเบเบตเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบซเบกเบฑเปเบเบเบปเบ. เปเบเบฅเบฐเบเบปเบเปเบเบฅเป ext3 เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบทเบเบเปเบฒเปเบเป, เบซเบเปเบฒเบเบตเป fsync()
เบเบดเปเบกเบซเบเปเบฒ "เปเบเบทเปเบญเบ" เบเบฑเบเบซเบกเบปเบเปเบเบฅเบฐเบเบปเบเปเบชเปเปเบเปเบ, เปเบฅเบฐเบเปเปเบเบฝเบเปเบเปเบซเบเปเบฒเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฅเปเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบฅเบดเบเปเบชเปเบเบธเปเบกเปเบ Firefox เบชเบฒเบกเบฒเบเบเบฐเบเบธเปเบเปเบซเปเบเปเปเบกเบนเบ megabytes เบเบทเบเบเบฝเบเปเบชเปเปเบเปเบเปเบกเปเปเบซเบผเบฑเบ, เปเบเบดเปเบเบญเบฒเบเบเบฐเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบงเบดเบเบฒเบเบต. เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒ, เปเบเบปเปเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบปเปเบฒเปเบเบเบฒเบ
เบเบฑเบเบซเบฒเบเบตเบชเบญเบเปเบเบตเบเบเบถเปเบเปเบเบเบต 2009. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบฅเบฐเบเบปเบเบเบฑเบเบเปเบญเบ, เบเบนเปเปเบเปเบเบญเบเบฅเบฐเบเบปเบเปเบเบฅเป ext4 เปเบซเบกเปเปเบเปเบเบฐเปเบเบตเบเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเปเบเบฅเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบซเบกเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเบกเบตเบเบงเบฒเบกเบเบฒเบงเบชเบนเบ, เปเบเปเบเบตเปเบเปเปเปเบเปเปเบเบตเบเบเบถเปเบเบเบฑเบเบฅเบฐเบเบปเบเปเบเบฅเป ext3 เปเบเบปเปเบฒ. เปเบเบงเบฑเบเบเบตเปเบเปเบฒเบเบกเบฒ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบ ext3 flushed เบเปเปเบกเบนเบเบซเบผเบฒเบเปเบเบตเบเปเบเปเบชเปเปเบเปเบ, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบชเบดเปเบเบเปเบฒเบเปเบเปเบฒเบฅเบปเบเบซเบผเบฒเบ. fsync()
. เปเบเบทเปเบญเบเบฑเบเบเบธเบเบชเบฐเบเบฒเบเบฐเบเบฒเบ, เปเบ ext4 เบเบฝเบเปเบเปเบซเบเปเบฒเบเบตเปเปเบเบทเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบฅเปเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบเปเบกเปเบ flushed เบเบฑเบเปเบเปเบ. เปเบฅเบฐเบเปเปเบกเบนเบเบเบฒเบเปเบเบฅเปเบญเบทเปเบเปเบเบฑเบเบเบปเบเบขเบนเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบงเปเบฒเบเบฑเบ ext3. เบเบตเปเปเบกเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบเบฑเบเบเบธเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ (เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเปเบกเบนเบเบเบฐเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐเบเบตเปเปเบเบฑเบเปเบงเบฅเบฒ 30 เบงเบดเบเบฒเบเบต, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเปเบฒเบเบตเปเปเบเปเปเบเบเปเบเป fsync()
เปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบกเบตเบเบงเบฒเบกเบซเบกเบฑเปเบเบเบปเบเปเบฅเบฐเบเบปเบเบเปเบญเบเบเบงเบเปเบเบปเบฒเบซเบผเบฒเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเบเบฒเบเบเบปเบเบชเบฐเบเปเบญเบเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง. เบเบฑเบเบเบฑเบ fsync()
เปเบฎเบฑเบเบงเบฝเบเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบเปเบกเบทเปเบญเปเบเป ext4 เบเปเบงเบฒเปเบกเบทเปเบญเปเบเป ext3. เบเปเปเปเบชเบเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเปเบเบญเบเบกเบฑเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเปเบญเบ, เบเปเบฒเบฅเบปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบ: เบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบเบเบฒเบ. เปเบเบดเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป
เบเบฑเบเบซเบฒเบเบตเบชเบฒเบกเบเปเบฝเบงเบเบฑเบ fsync()
, เบกเบตโเบเบปเปเบโเบเปเบฒโเปเบเบตเบโเปเบโเบเบต 2018โ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเปเบเบเบญเบเบเบญเบเปเบเบเบเบฒเบ PostgreSQL, เบกเบฑเบเบเบปเบเปเบซเบฑเบเบงเปเบฒเบเปเบฒเบซเบฒเบเบงเปเบฒเบซเบเปเบฒเบเบตเป fsync()
เบเบปเบเบเปเปเบเบดเบเบเบฒเบ, เบกเบฑเบเบซเบกเบฒเบเบซเบเปเบฒ "เปเบเบทเปเบญเบ" เปเบเบฑเบ "เบชเบฐเบญเบฒเบ". เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเป fsync()
เปเบเบปเบฒเปเบเบปเปเบฒเบเปเปเปเบเปเปเบฎเบฑเบเบซเบเบฑเบเบเบฑเบเปเปเบฒเบเบฑเปเบเบเปเบฒเบง. เบเปเบงเบเปเบซเบเบเบปเบเบเบตเป, เบซเบเปเบฒเบเบตเปเบเบฑเบเปเบเปเปเบเปเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบฅเบฐเบเปเปเปเบเบตเบเบเบทเบเบเบฝเบเปเบงเปเปเบเปเบเปเบ. เบเบตเปเปเบกเปเบเปเบเบเบดเบเบฑเบเบเบตเปเปเบเปเบเบดเบ, เบเบฑเบเบเบฑเปเบเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเบเบดเบเบงเปเบฒเบเปเปเบกเบนเบเบเบฒเบเบขเปเบฒเบเบเบทเบเบเบฝเบเปเบงเปเปเบเปเบเปเบ, เปเบเปเปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบเบกเบฑเบเบเบฐเบเปเปเปเบเบฑเบ. เบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบฑเปเบเบเปเบฒเบง fsync()
เปเบกเปเบเบซเบฒเบเบฒเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบทเบญเบเบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบเบฐเบเปเปเบชเบนเปเบเบฑเบเบเบฑเบเบซเบฒ. เบเบธเบเบกเบทเปเบเบตเป, เปเบกเบทเปเบญเปเบซเบเบเบฒเบเบเบตเปเปเบเบตเบเบเบถเปเบ, PostgreSQL เปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบญเบทเปเบเปเบเบฑเบเบเปเบญเบ. O_SYNC
เบซเบผเบทเบเปเบงเบเบเบธเบ O_DSYNC
. เบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเบตเป, เบฅเบฐเบเบปเบเบเบฐเบฅเบฒเบเบเบฒเบเบเปเปเบเบดเบเบเบฒเบเบเบตเปเบญเบฒเบเบเบฐเปเบเบตเบเบเบทเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฝเบเบชเบฐเปเบเบฒเบฐ, เปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบฒเบเบเบธเปเบกเบเบญเบ buffers เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ. เบญเปเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป
เบเบฒเบเปเบเบตเบเปเบเบฅเปเปเบเบเปเบเปเบเบธเบ O_SYNC เปเบฅเบฐ O_DSYNC
เปเบซเปเบเบฑเบเบเบทเบเปเบเบซเบฒเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบญเบเบเบปเบเปเบ Linux เบเบตเปเบชเบฐเบซเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบซเบกเบฑเปเบเบเบปเบ. เบเบท, เบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเบเบธเบเบเบฒเบ O_SYNC
เบซเบผเบทเบเบธเบ O_DSYNC
เปเบกเบทเปเบญเปเบเบตเบเปเบเบฅเปเปเบเบเปเบเปเบเบฒเบเปเบเบฅเบฐเบเบปเบ write()
เบฅเบฐเบเบปเบเปเบกเปเบเปเบซเปเบเปเบฒเบชเบฑเปเบเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก fsync()
ะธ fdatasync()
. เบเบฒเบ write()
ะธ fdatasync()
). เบเปเปเปเบชเบเบซเบผเบฑเบเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบกเปเบเบงเปเบฒเบเบฒเบเบเบฝเบเบเบฑเบเบซเบกเบปเบเปเบเบเปเบเปเบเบปเบงเบญเบฐเบเบดเบเบฒเบเปเบเบฅเปเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฐเบเบทเบ synchronized, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเปเบฒเบเปเบเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ.
เปเบเป Direct I/O เบเบฑเบเบเบธเบ O_DIRECT
เปเบเบฅเบฐเบเบปเบ open()
เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบธเบ O_DIRECT
, เปเบเบดเปเบเบเบทเบเบญเบญเบเปเบเบเปเบเบทเปเบญเบเปเบฒเบกเปเบเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบ I/O เปเบเบเบเบฒเบเบเบดเบเบเปเปเบเบปเบงเบเบฑเบเปเบเบเบเบปเบเบเบฑเบเปเบเปเบ. เบเบตเป, เปเบเบซเบผเบฒเบเปเบเปเบฅเบฐเบเบต, เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบฝเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบญเบญเบเปเบเบเปเบเบเบเบฒเบเบเบฐเบเบทเบเปเบเปเบเบเบเบปเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเปเบ. เปเบเปเปเบเบเบเบปเปเบงเปเบ, เบเบปเบเปเบเบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเบเบปเบเปเบเบเบซเบเปเบฒเบเบตเป fsync()
เบซเบผเบท fdatasync()
. เบเบงเบฒเบกเบเบดเบเปเบฅเปเบงเปเบกเปเบเบงเปเบฒเปเบเปเบเบเบปเบงเบกเบฑเบเปเบญเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป O_DIRECT
, O_DSYNC
, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฝเบเบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเปเบเบเบเบฒเบเปเบเบซเบฒ fdatasync()
.
เบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบงเปเบฒเบฅเบฐเบเบปเบเปเบเบฅเป XFS เบเปเปเบเบปเบเบกเบฒเบเบตเปเปเบเปเปเบเบตเปเบก "เปเบชเบฑเปเบเบเบฒเบเปเบง" เบชเปเบฒเบฅเบฑเบ O_DIRECT|O_DSYNC
- เบเบฒเบโเบเบฑเบโเบเบถเบโเบเปเปโเบกเบนเบโ. เบเปเบฒเบเบฅเบฑเบญเบเบเบทเบเบเบฝเบเบเบทเบเปเบเบเปเบเป O_DIRECT|O_DSYNC
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ XFS, เปเบเบเบเบตเปเบเบฐ flushing cache, เบเบฐเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบฝเบ FUA เบเปเบฒเบญเบธเบเบฐเบเบญเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบกเบฑเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบงเบเบชเบญเบเบเบตเปเปเบเบเบเบฒเบเปเบเปเบเบฐเปเบซเบเบ blktrace
เปเบเบฅเบฐเบเบปเบ Linux 5.4/Ubuntu 20.04. เบงเบดเบเบตเบเบฒเบเบเบตเปเบเบงเบเบเบฐเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบเบเบถเปเบ, เบเบฑเบเบเบฑเปเบเปเบเปเปเบกเบทเปเบญเบเปเบฒเปเบเป, เบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบซเบเปเบญเบเบเบทเบเบเบฝเบเปเบชเปเปเบเปเบเบเบดเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบซเบเบถเปเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเป, เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบชเบญเบ (เบเบฒเบเบเบฝเบเปเบฅเบฐเบฅเปเบฒเบเปเบเบ). เบเปเบญเบเบเบปเบเบฅเบดเปเบเบซเบฒ
เบเบฑเบเบเบฑเบ sync_file_range()
Linux เบกเบตเบเบฒเบเปเบเบซเบฒเบฅเบฐเบเบปเบ sync_file_range()
เบเบตเบกเบเบฒเบเปเบเปเบเบทเบเบเปเบฒเบงเบงเปเบฒ "เปเบเบฑเบเบญเบฑเบเบเบฐเบฅเบฒเบเบซเบผเบฒเบ". เบกเบฑเบเบเปเปเปเบเปเบเบทเบเปเบเบฐเบเปเบฒเปเบซเปเปเบเปเบกเบฑเบ. เบเบธเบเบเบฐเบชเบปเบกเบเบฑเบเปเบฅเบฐเบญเบฑเบเบเบฐเบฅเบฒเบ sync_file_range()
เบญเบฐเบเบดเบเบฒเบเปเบเปเบเบตเบซเบผเบฒเบเปเบ fdatasync()
. เบเบฒเบ sync_file_range()
เปเบกเบทเปเบญเปเบเป ZFS, เบกเบฑเบเบเปเปเปเบเปเบฅเปเบฒเบเบเปเปเบกเบนเบเปเบชเปเปเบเปเบ. เบเบฐเบชเบปเบเบเบฒเบเบเบญเบเบเปเบญเบเบงเปเบฒเบฅเบฐเบซเบฑเบเบเบตเปเบเปเปเบเปเบญเบเปเบเปเปเบเปเบกเบตเปเบเบงเปเบเปเบกเบเบตเปเบเบฐเบกเบตเปเบกเบเปเบกเป. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบเบฐเบเปเบฒเปเบซเปเปเบเปเบเบฒเบเปเบเบฅเบฐเบเบปเบเบเบตเปเปเบงเบฑเปเบเปเบชเบเปเบเปเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบขเปเบฒเบเปเบเปเบเบดเบ.
เบเบฒเบเปเบเบฅเบฐเบเบปเบเบเบตเปเบเปเบงเบเบฎเบฑเบเบเบฐเบเบฑเบเบเปเปเบกเบนเบเบเบปเบเบเปเบฒเบ
เบเปเบญเบเปเบเปเบชเบฐเบซเบผเบธเบเปเบฅเปเบงเบงเปเบฒเบกเบตเบชเบฒเบกเบงเบดเบเบตเบเบฒเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฒเบ I/O เบเบตเปเบฎเบฑเบเบเบฐเบเบฑเบเบเปเปเบกเบนเบเบเบปเบเบเบตเป. เบเบงเบเปเบเบปเบฒเบเบฑเบเบซเบกเบปเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเป fsync()
เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเปเบเบฅเปเบเบทเบเบชเปเบฒเบเบเบถเปเบ. เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบฒเบ:
- เปเบเบซเบฒเบซเบเปเบฒเบเบตเป
fdatasync()
เบซเบผเบทfsync()
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเปเบฒโเบเบฒเบโwrite()
(เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเปเบเปfdatasync()
). - เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบปเบงเบญเบฐเบเบดเบเบฒเบเปเบเบฅเปเบเบตเปเปเบเบตเบเบเปเบงเบเบเบธเบ
O_DSYNC
เบซเบผเบทO_SYNC
(เบเบตเบเบงเปเบฒ - เบกเบตเบเบธเบO_DSYNC
). - เบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ
pwritev2()
เบเบฑเบเบเบธเบRWF_DSYNC
เบซเบผเบทRWF_SYNC
(เบกเบฑเบเบเปเบงเบเบเบธเบRWF_DSYNC
).
เบเบฑเบเบเบถเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเปเบเปเบงเบฑเบเปเบเบเบขเปเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบปเบเปเบเบเปเบฒเบเปเบเบตเปเบเปเบญเบเปเบเปเบเบงเบเบเบฒ. เบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบตเปเบเปเบญเบเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบกเปเบเบเปเบญเบเบซเบผเบฒเบ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบญเบเบญเบฒเบเบเบฐเบเบดเบ, เปเบฅเบฐเบเบฒเบเปเบเปเปเบเบทเปเบญเบเปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบชเบดเปเบเบเบฝเบงเบเบฑเบเบญเบฒเบเบเบฐเบชเปเบฒเบเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบผเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบดเปเบเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบซเบเปเบญเบ.
- เบเบฒเบเบเบฝเบเบเบฑเบเบเปเปเบกเบนเบเปเบเบฅเปเปเบงเบเบงเปเบฒเบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเปเบชเปเปเบเบฅเป (เบเบปเบเบเบฐเปเบซเบเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบ 2-100%). เบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเปเบชเปเปเบเบฅเปเบเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบตเปเบกเปเบเบตเบกเบเปเปเบเบฑเบ metadata เบเบญเบเปเบเบฅเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบฅเบฐเบเบปเบ
fallocate()
, เปเบเปเบเบฐเบซเบเบฒเบเบเบญเบเบเบปเบเบเบฐเบเบปเบเบเบตเปเบญเบฒเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ, เปเบเบซเบฒfallocate()
เปเบเบทเปเบญเบเบฑเบเบชเบฑเบเบเบทเปเบเบเบตเปเบเบตเปเบเปเบญเบเบเบฒเบเบฅเปเบงเบเปเปเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบญเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบฑเบกเปเบเบเปเบงเบเบชเบนเบเปเบฅเบฐเปเบญเบตเปเบเบงเปเบฒfsync()
. เบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบฑเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบเบฅเบฐเบเบปเบเปเบเบฅเปเบเบทเบเบซเบกเบฒเบเปเบเบฑเบ "เบเบฑเบเบชเบฑเบ" เปเบเบเบเบตเปเบเบฐ "เบเปเปเปเบเปเบเบฑเบเบชเบฑเบ". เบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฐเบซเบเบฒเบเบเปเบญเบ (เบเบฐเบกเบฒเบ 2%). เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเปเบเปเบเบญเบฒเบเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฅเบฑเบญเบเบเปเบฒเบญเบดเบเบเปเบฒเบเบงเปเบฒเปเบเปเบเบญเบทเปเบ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบทเปเบกเบเปเบญเบเปเบชเปเบเบฑเบเบชเบนเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบเบฑเบเบเบธเบเบเบตเปเบชเปเบฒเบเบฑเบ (เบเบฐเบกเบฒเบ 100%). เปเบเบเบชเบฐเปเบเบฒเบฐ, เบเบตเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเบเบฑเบเปเบเปเบAWS EBS (เบเบตเปเปเบกเปเบเบเปเปเบกเบนเบเบเบตเปเบเปเปเปเบเบฑเบเบเบฒเบเบเบฒเบ, เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบขเบทเบเบขเบฑเบเปเบเป). เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒGCP Persistent Disk (เปเบฅเบฐเบเบตเปเปเบกเปเบเบเปเปเบกเบนเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบฅเปเบง, เบขเบทเบเบขเบฑเบเปเบเบเบเบฒเบเบเบปเบเบชเบญเบ). เบเบนเปเบเปเบฝเบงเบเบฒเบเบญเบทเปเบเปเปเบเปเปเบฎเบฑเบเปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฒเบเบชเบฑเบเปเบเบเบเบฒเบ , เบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเปเบเบเปเบฒเบเป. - เบเบฒเบเปเบเบฅเบฐเบเบปเบเบซเบเปเบญเบ, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบชเบนเบเบเบถเปเบ (เบเบฒเบเปเบเบตเปเบกเบชเบฒเบกเบฒเบเบเบฐเบกเบฒเบ 5%). เปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบฑเบเบชเบดเปเบเบเปเบฒเบเบฒเบ
open()
เบเบฑเบเบเบธเบO_DSYNC
เบซเบผเบทเปเบเบซเบฒpwritev2()
เบเบฑเบเบเบธเบRWF_SYNC
เปเบงเบเบงเปเบฒเบเบฒเบเปเบfdatasync()
. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบปเบเปเบชเบงเปเบฒเบเบธเบเบเบตเปเปเบกเปเบเบงเปเบฒเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบปเบเบเบฒเบเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบฒเบเปเบเบซเบฒเบฅเบฐเบเบปเบเบซเบเปเบญเบเบเปเบญเบเปเบเปเบเบฐเบเบดเบเบฑเบเปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฝเบงเบเบฑเบ (เบซเบเบถเปเบเปเบเปเบเบเบเบตเปเบเบฐเบชเบญเบ). เปเบเปเบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบกเปเบเบเปเบญเบเบซเบผเบฒเบ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเปเบชเบปเบเปเบเบกเบฑเบเบขเปเบฒเบเบชเบปเบกเบเบนเบเปเบฅเบฐเบเปเบฒเปเบเปเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบฐเบเปเปเบชเบฑเบเบชเบปเบเบเบฒเบกเปเบซเบเบเบปเบเบเบญเบเบกเบฑเบ.
เบเปเบฒเบเปเบฒเบเบชเบปเบเปเบเบซเบปเบงเบเปเปเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเปเบเบเบเบทเบเบเบปเบ, เบเบตเปเปเบกเปเบเบเบฒเบเบญเบธเบเบฐเบเบญเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ:
เบงเบดเบเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ I/O โ เบเบฒเบโเบฅเบงเบกโเบเบญเบโเบเบทเปเบโเบเบฒเบโเบเบญเบโเบเบปเบโเปเบโเบเบฒเบโเบเปเบญเบโเบเปเปโเบกเบนเบ / เบเบปเบโเบเบฐโเบฅเบดเบโ.เบฎเบฑเบเบเบฐเบเบฑเบเบเปเปเบกเบนเบเปเบเบดเบเปเบเปเบ โ เปเบฅเบทเปเบญเบโเบเปเบฝเบงโเบเบฑเบโเบชเบดเปเบโเบเบตเปโเปเบเบตเบโเบเบถเปเบโเบเบฑเบโเบเปเปโเบกเบนเบโเบเปเบฝเบงโเบเบฑเบโเบงเบดโเบเบตโเบเบฒเบโเบเบฒเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบฑเบโเปเบเปเบโเปเบเปโ.เปเบกเบทเปเบญเปเบเบเบตเปเบเปเบฒเบเบเบงเบ fsync เปเบเปเบฅเบเบฐเบเปเบฅเบตเบเบตเปเบเบฑเบเบเบธ - เบเปเบฒเบเบญเบเบเบญเบเบเปเบฒเบเบฒเบกเบเบญเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเปเบฒเปเบเปfsync()
เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบเบฐเบเปเบฅเบต. เปเบเบทเปเบญเบชเบฐเบซเบผเบธเบเบกเบฑเบ, เบกเบฑเบเบเบฒเบเบปเบเบงเปเบฒเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบกเบฑเบเปเบเปเบงเบฅเบฒเบชเปเบฒเบเปเบเบฅเปเปเบซเบกเป, เปเบฅเบฐเปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฐเบเปเบฒเบเบตเปเปเบกเปเบเบงเปเบฒเปเบ Linux เบชเบฒเบกเบฒเบเบกเบตเบเบฒเบเบญเปเบฒเบเบญเบตเบเบซเบผเบฒเบเปเบเบฅเปเบเบฝเบงเบเบฑเบ.SQL Server เปเบ Linux: FUA Internals โ เบเบตเปเปเบกเปเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบปเบเบเบตเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเบนเปเปเบ SQL Server เปเบเปเบงเบเบต Linux. เบกเบตเบเบฒเบเบเบฝเบเบเบฝเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบฅเบฐเบเบปเบ Windows เปเบฅเบฐ Linux เบขเบนเปเบเบตเปเบเบตเป. เบเปเบญเบเปเบเบทเบญเบเปเบเปเปเบเบงเปเบฒเบกเบฑเบเปเบกเปเบเบเปเบญเบเปเบญเบเบฐเบชเบฒเบเบเบตเปเบเบตเปเบเปเบญเบเปเบเปเบฎเบฝเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ FUA เบเบญเบ XFS.
เบเปเบฒเบเปเบเปเบชเบนเบเปเบชเบเบเปเปเบกเบนเบเบเบตเปเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเบทเบเปเบเบฑเบเปเบงเปเบขเปเบฒเบเบเบญเบเปเบเบขเบนเปเปเบเปเบเปเบเบเป?
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com