ืืื, ืจืืกืขืจืืฉืื ื ืื ืคืขืกืืงืืึทื ืคืื ืืึทืื ืกืืึธืจืืืืฉ ืืื ืืืึธืืงื ืกืืกืืขืืขื, ืืึทืฉืืึธืกื ืฆื ืคึผืจืืืืจื ืืื ืฆื ืืึทืื ืืืืขืจ ืึทื ืืื ืคึฟืึทืจืฉืืืื ืื ืืงืขืจืืืง ืืื ืื. ืืื
ืืื ืืขื ืึทืจืืืงื, ืืื ืืืกืคืึธืจืฉื ืื ืคึผืขืจืกืืกืืึทื ืก ืืขืงืึทื ืืืึทืื ืฆืืืขืฉืืขืื ืืืจื ืื ืืื ืืงืก ืืขืงืข ืึทืคึผืืก. ืขืก ืืืื ื ืึทื ืึทืืฅ ืืึธื ืืืื ืคึผืฉืื ืืึธ: ืื ืคึผืจืึธืืจืึทื ืจืืคื ืื ืืึทืคึฟืขื write()
, ืืื ื ืึธื ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืืขื ืืึทืคึฟืขื ืืื ืืขืขื ืืืงื, ืื ืืึทืื ืืืขื ืืืื ืกืืงืืืจืื ืกืืึธืจื ืืืืฃ ืืืกืง. ืืืขืจ write()
ืืืืื ืงืืคืืขืก ืึทืคึผืืึทืงืืืฉืึทื ืืึทืื ืฆื ืื ืงืขืจื ืงืึทืฉ ืืื ืืึทืจืึทื. ืืื ืกืืจ ืฆื ืฆืืืื ืืขื ืื ืกืืกืืขื ืฆื ืฉืจืืึทืื ืืึทืื ืฆื ืืืกืง, ืขืืืขืืข ื ืึธื ืืขืงืึทื ืืืึทืื ืืืื ืืืื ืืขืืืืื ื.
ืืื ืึทืืืขืืืื, ืืขื ืืึทืืขืจืืึทื ืืื ืึท ืกืืื ืคืื ืืขืจืืช ืืืขืื ืืืึธืก ืืื ืืขืืขืจื ื ืืืืฃ ืึท ืืขืืข ืืืึธืก ืืื ืืื ืืขืจืขืกืืจื ืคึฟืึทืจ ืืืจ. ืืืื ืืืจ ืจืขืื ืืืืขืจ ืืขืงืืฆืขืจ ืืืขืื ืื ืืขืจืกื ืืืืืืืง, ืขืก ืืืจื ืก ืืืืก ืึทื ืืื ืกืืจ ืฆื ืึธืจืืึทื ืืืืจื ืกืึทืกืืืื ืึทืืึทื ืืึทืื ืกืืึธืจืืืืฉ, ืืืจ ืืึทืจืคึฟื ืฆื ื ืืฆื ืื ืืึทืคึฟืขื. fdatasync()
ืึธืืขืจ ืขืคืขื ืขื ืืขืงืขืก ืืื ืคืึธื O_DSYNC
. ืืืื ืืืจ ืืขื ื ืืื ืืขืจืขืกืืจื ืืื ืืขืจื ืขื ืืขืจ ืืืขืื ืืืึธืก ืืึทืคึผืึทื ื ืฆื ืืึทืื ืืืืฃ ืื ืืืขื ืคืื ืงืึธื ืฆื ืืืกืง, ืงืืง ืืื
ืคึฟืขืึดืงืืืื ืคืื ื ืืฆื ืื ืฉืจืืึทืื () ืคึฟืื ืงืฆืืข
ืกืืกืืขื ืจืืคื write()
ืืืคืืื ื ืืื ืื ื ืึธืจืืึทื write()
ืืึทืื ืืืืขื ืขื ืึทืคึผืขืจืืืฉืึทื ื ืืืื ืฆืืจืืงืงืืืขื ืคึผืื ืงื ืื ืืืืขืก ืืืึธืก ืืขื ืขื ืคืจืืขืจ ืืขืฉืจืืื, ืืื ืึทืืื ืืคืืื ืืืื ืื ืืึทืื ืืขื ืขื ืึทืงืกืขืกื ืคึฟืื ืื ืืขืจืข ืคึผืจืึทืกืขืกืึทื ืึธืืขืจ ืคึฟืขืืขื (
ืืื ืืึธืก ืืืื ืขื ืึทื ืื ืึธืคึผืขืจืึทืฆืืข write()
ืืื ืึทืืึธืืืฉืข? ืคืื ืึท ืืขืื ืืฉ ืคืื ื ืคืื ืืืื ืื ื, ืืึธ. ืืึทืืึท ืืืืขื ืขื ืึทืคึผืขืจืืืฉืึทื ื ืืืื ืฆืืจืืงืงืืืขื ืึธืืขืจ ืึทืืข ืึธืืขืจ ืืึธืจื ืื ืคืื ืืืึธืก ืืื ืืขืืืขื ืืขืฉืจืืื ืืื write()
. ืืืขืจ ืื ืึธืคึผืขืจืึทืฆืืข write()
, ืืืื ืื ืกืืึทื ืืึทืจื, ืืึทืจืฃ ื ืืฉื ืกืืฃ, ืืืืื ืืขืฉืจืืื ืึทืืฅ ืืืึธืก ืื ืืื ืืขืืขืื ืฆื ืฉืจืืึทืื ืึทืจืึธืคึผ. ืขืก ืืื ืขืจืืืืื ืฆื ืฉืจืืึทืื ืืืืื ืืืื ืคืื ืื ืืึทืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืืืื ืืึธืื ืฆืืืื ืกืืจืืื ืืขืืขืจ ืึทืืื ื 1024 ืืืืขืก ืฆื ืึท ืืขืงืข ืืืกืงืจืืืื ืืืจื ืืขืจ ืืขืืืืงืขืจ ืืขืงืข ืืืกืงืจืืคึผืืึธืจ. ืคึฟืื ืืขืจ ื ืึธืจืืึทื ืืืื ืื ื, ืืขืจ ืจืขืืืืืึทื ืืืขื ืืืื ืคึผืึทืกืืง ืืืขื ืืขืืขืจ ืคืื ืื ืฉืจืืึทืื ืึทืคึผืขืจืืืฉืึทื ื ืงืขื ืขื ืฆืืืขืื ืืืืื ืืืื ืืืื ืฆื ืืขืจ ืืขืงืข. ืื ืึทืคึผืขืจืืืฉืึทื ื ืืืขืื ืืืืึทืื ืึทืืึธืืืฉืข, ืึธืืขืจ ื ืึธื ืืื ืคืึทืจืขื ืืืงื, ืื ืืึทืื ืืื ืฉืจืืึทืื ืฆื ืืขืจ ืืขืงืข ืืืขื ืืืื ืืืฉืึทืืืึทืื.
fsync () ืืื fdatasync () ืคืึทื ืืงืฉืึทื ื
ืื ืืืืึทืกื ืืืขื ืฆื ืืืกืฉืขืคึผื ืืึทืื ืฆื ืืืกืง ืืื ืฆื ืจืืคื ืื ืคึฟืื ืงืฆืืข fdatasync()
. ืื fdatasync()
ืขืก ืืืื ืึทื ืืขืฉืึทืก ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืืขื ืคึฟืื ืงืฆืืข, ืึทืืึท ืึท ืกืืืข ืคืื โโืืขืืึทืืึทืืึท ืืื ืืขืจืืืขืืืขื ืฆื ืืืกืง, ืืืึธืก ืืื "ื ืืืืืง ืคึฟืึทืจ ืื ืจืืืืืง ืืืจืืคืืจืื ื ืคืื ืื ืคืืืืขื ืืข ืืึทืื ืืืืขื ืขื ืึทืคึผืขืจืืืฉืึทื ื." ืืื ืืึธืก ืืื ืคึผืื ืงื ืืืึธืก ืจืืึฟ ืึทืคึผืืึทืงืืืฉืึทื ื ืืึธืจืื ืืืขืื.
ืืืื ืคึผืจืึธืืืขื ืืืึธืก ืงืขื ืืืืคืฉืืืื ืืึธ ืืื ืึทื ืื ืืขืงืึทื ืืืึทืื ืืึธื ื ืื ืืึทืจืึทื ืืืจื ืึทื ืื ืืขืงืข ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ื ืึธื ืึท ืืขืืืขื ืืืจืืคืึทื. ืืื ืืึทืืื ืืขืจ, ืืืขื ืึท ื ืืึท ืืขืงืข ืืื ืืืฉืืคื, ืืืื ืขืจ ืืึธื ืจืืคื fsync()
ืคึฟืึทืจ ืื ืืืขืืืืืึทืืขืจ ืืืึธืก ืึผืืื ืขืก. ืึทื ืืขืจืฉ, ื ืึธื ืึท ืงืจืึทื, ืขืก ืงืขื ืืืื ืึทื ืืขืจ ืืขืงืข ืืื ื ืืฉื ืขืงืกืืกืืืจื. ืื ืกืืื ืคึฟืึทืจ ืืขื ืืื ืึทื ืืื ืืขืจ UNIX, ืจืขืื ืฆื ืืขืจ ื ืืฆื ืคืื ืฉืืืขืจ ืคึฟืึทืจืืื ืืื ืืขื, ืึท ืืขืงืข ืงืขื ืขื ืขืงืกืืกืืืจื ืืื ืงืืืคื ืืืืจืขืงืืขืจืื. ืืขืจืืืขืจ, ืืืขื ืคืึทื fsync()
ืขืก ืืื ืงืืื ืืืขื ืคึฟืึทืจ ืึท ืืขืงืข ืฆื ืืืืกื ืืืึธืก ืืืขืืืืืึทืืขืจ ืืึทืื ืืึธื ืืืื ืืืื ืคืืึทืฉื ืฆื ืืืกืง (fsync()
ืฆื ืืืืจืขืงืืขืจืื ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืงืขืก, ืึธืืขืจ ืืึธืก ืงืขื ื ืืฉื ืืืื ืืขืจ ืคืึทื ืืื ืื ืืขืจืข ืืขืงืข ืกืืกืืขืืขื.
ืืขื ืืขืงืึทื ืืืึทื ืงืขื ืขื ืืืื ืืืคึผืืึทืืขื ืึทื ืืืคืขืจืขื ืืื ืืื ืคืึทืจืฉืืืขื ืข ืืขืงืข ืกืืกืืขืืขื. ืืื ืืื ืืขื ืืฆื fdatasync()
ืึท ืืืกื ืคืึทืกืืขืจ fsync()
. ื ืืฆื blktrace
ืื ืืืงืืืฅ ืึทื fdatasync()
ืืืืฉืึทืืืึทืื ืฉืจืืืื ืืืืื ืืงืขืจ ืืึทืื ืฆื ืืืกืง (ืืื ext4 fsync()
ืฉืจืืืื 20 ืงืื, ืืื fdatasync()
- 16 ืงืื). ืืื ืืึธื ืืืื ืืขืคึฟืื ืขื ืึทื XFS ืืื ืึท ืืืกื ืคืึทืกืืขืจ ืืื ืขืงืกื 4. ืืื ืืึธ ืืื ืืขืจ ืืืืฃ blktrace
ืืึธื ืืึธืก ืืขืงืขื ื ืืขืจืืืืกื fdatasync()
ืคืืืฉืื ืืืืื ืืงืขืจ ืืึทืื ืฆื ืืืกืง (4 KiB ืืื XFS).
ืึทืืืืืืืึทืก ืกืืืืึทืืืึธื ืก ืืืขื ื ืืฆื fsync ()
ืืื ืงืขื ืขื ืืจืึทืืื ืคืื ืืจืืึท ืึทืืืืืืืึทืก ืกืืืืึทืืืึธื ืก ืืืขืื fsync()
ืืืืก ืืื ืืื ืืขืืจืืคื ืืื ืคืืจ.
ืืขืจ ืขืจืฉืืขืจ ืึทืืึท ืืื ืฆืืืขื ื ืืื ืคืืจืืขืงืืืขื ืืื 2008. ืืื ืืขืจ ืฆืืื, ืื Firefox 3 ืฆืืืื ื ืืื "ืคืึทืจืคืจืืืจื" ืืืื ืึท ืืจืืืก ื ืืืขืจ ืคืื ืืขืงืขืก ืืขื ืขื ืืขืฉืจืืื ืฆื ืืืกืง. ืืขืจ ืคึผืจืึธืืืขื ืืื ืืขืืืขื ืึทื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืฆืืืื ื ืืขื ืืฆื ืึท SQLite ืืึทืืึทืืืืก ืฆื ืงืจืึธื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืืื ืฉืืึทื. ื ืึธื ืืขืืขืจ ืขื ืืขืจืื ื ืืืึธืก ืืื ืคืืจืืขืงืืืขื ืืื ืื ืฆืืืื ื, ืื ืคึฟืื ืงืฆืืข ืืื ืืขืจืืคื fsync()
, ืืืึธืก ืืื ืืื ืืขืจืึทื ืืื ืคืื ืกืืึทืืื ืืึทืื ืกืืึธืจืืืืฉ. ืืื ืื ืืขืืึธืื ืืขืืืืื ื ืขืงืกื3 ืืขืงืข ืกืืกืืขื, ืื ืคึฟืื ืงืฆืืข fsync()
ืคืืืฉืขื ืฆื ืืืกืง ืึทืืข ืื "ืืจืึธื" ืืืขืืขืจ ืืื ืื ืกืืกืืขื, ืืื ื ืื ืืืืื ืื ืืืึธืก ืืขื ืขื ืฉืืึทืืืช ืฆื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืงืข. ืืขื ืืขื ื ืึทื ืงืืืงืื ื ืึท ืงื ืขืคึผื ืืื ืคืืจืขืคืึธืงืก ืงืขื ืคืึทืจืฉืึทืคื ืืขืืืืืื ืคืื ืืึทืื ืฆื ืืืื ืืขืฉืจืืื ืฆื ืึท ืืึทืื ืขืืืง ืืืกืง, ืืืึธืก ืงืขื ื ืขืืขื ืคืืืข ืกืขืงืื ืืขืก. ืื ืืืืืื ื ืฆื ืืขื ืคึผืจืึธืืืขื, ืืื ืืืืึทื ืืื ืืื ืคืืจืฉืืื ืขื ืคืื
ืื ืฆืืืืืืข ืคึผืจืึธืืืขื ืืื ืืขืืืขื ืืื 2009. ืืขืจื ืึธื, ื ืึธื ืึท ืกืืกืืขื ืงืจืึทื, ื ืืฆืขืจืก ืคืื ืื ื ืืึทืข ืขืงืกื 4 ืืขืงืข ืกืืกืืขื ืืขืคืื ืขื ืึทื ืคืืืข ื ืื ืืืฉืืคื ืืขืงืขืก ืืขื ืขื ื ืื-ืืขื ื, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืขืฉืขื ืืื ืื ืขืืืขืจืข ืขืงืกื 3 ืืขืงืข ืกืืกืืขื. ืืื ืืขื ืคืจืืขืจืืืงื ืคึผืึทืจืึทืืจืึทืฃ, ืืื ืืขืจืขืื ืืืขืื ืืื ืขืงืกื 3 ืืึทืืคึผื ืฆื ืคืื ืืึทืื ืืืืฃ ืื ืืืกืง, ืืืึธืก ืกืืึธืื ืื ืืื ืื ืคืื. fsync()
. ืฆื ืคึฟืึทืจืืขืกืขืจื ืื ืกืืืืึทืฆืืข, ืขืงืกื4 ืคืืืฉืื ืืืืื ืื "ืืจืึธื" ืืืขืืขืจ ืืืึธืก ืืขื ืขื ืืึทืืืึทืืืง ืฆื ืึท ืืึทืืื ืืขืจ ืืขืงืข. ืืื ืื ืืึทืื ืคืื ืื ืืขืจืข ืืขืงืขืก ืืืืืื ืืื ืืึผืจืื ืคึฟืึทืจ ืึท ืคืื ืืขืจ ืฆืืื ืืื ืืื ืขืงืกื3. ืืึธืก ืืื ืืขืฉืขื ืฆื ืคึฟืึทืจืืขืกืขืจื ืคืึธืจืฉืืขืืื ื (ืืืจื ืคืขืืืงืืึทื, ืื ืืึทืื ืกืืืื ืืื ืืขื ืฉืืึทื ืคึฟืึทืจ 30 ืกืขืงืื ืืขืก, ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืืขื ืืื fsync()
ืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืืึทืจืคึฟื ืฆื ืฆืืฉืืขืื ืกืืึทืืื ืืึทืื ืกืืึธืจืืืืฉ ืืื ืืึทืฉืืฆื ืืื ืืื ืคืื ืืื ืืขืืืขื ืคืื ืื ืงืึทื ืกืึทืงืืืขื ืกืึทื ืคืื ืคืืืืืขืจื. ืคึฟืื ืงืฆืืข fsync()
ืึทืจืืขื ืคืื ืืขืจ ืืคืืฉืึทื ืืื ืืื ืขืงืกื4 ืืื ืืื ืขืงืกื3. ืื ืืืกืึธืจื ืคืื ืืขื ืฆืืืึทื ื ืืื ืึทื ืืืึทื ื ืืฆื, ืืื ืคืจืืขืจ, ืกืืึธืื ืึทืจืึธืคึผ ืขืืืขืืข ืึทืคึผืขืจืืืฉืึทื ื, ืึทืืึท ืืื ืื ืกืืึธืืื ื ืืืืื. ืืขื ืคืจืืื ืืืืฃ ืืขื
ืื ืืจืืืข ืคึผืจืึธืืืขื ืืืขืื fsync()
, ืขืจืืืืฉืึทื ืืืืึทื ืืื 2018. ืืขืจื ืึธื, ืืื ืื ืคืจืืืืืืขืจืง ืคืื ืื PostgreSQL ืคึผืจืืืขืงื, ืขืก ืืื ืืขืคืื ืขื ืึทื ืืืื ืื ืคึฟืื ืงืฆืืข fsync()
ืืขืคึผืืึธื ืืขืจื ืึท ืืขืืช, ืขืก ืืึทืจืงืก "ืฉืืืฆืืง" ืืืขืืขืจ ืืื "ืจืืื". ืืื ืึท ืจืขืืืืืึทื, ืื ืคืืืืขื ืืข ืจืืคื fsync()
ืืึธื ืืึธืจื ืืฉื ืืื ืึทืืึท ืืืขืืขืจ. ืืืืึทื ืคืื ืืขื, ืืึทืืึทืคืืื ืืืขืืขืจ ืืขื ืขื ืกืืึธืจื ืืื ืืึผืจืื ืืื ืงืืื ืืึธื ืืขืฉืจืืื ืฆื ืืืกืง. ืืึธืก ืืื ืึท ืคืึทืงืืืฉ ืืืืืืง, ืืืืึทื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืืจืึทืืื ืึทื ืขืืืขืืข ืืึทืื ืืขื ืขื ืืขืฉืจืืื ืฆื ืืืกืง, ืึธืืขืจ ืืื ืคืึทืงื ืขืก ืืืขื ื ืืฉื ืืืื. ืืืขืืืข ืืืจืืคืืื fsync()
ืืขื ืขื ืืขืืื, ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืึทืืึท ืกืืืืึทืืืึธื ืก ืงืขื ืขื ืืึธื ืึผืืขื ืืึธืจื ืืฉื ืฆื ืงืึทืืืึทื ืื ืคึผืจืึธืืืขื. ืื ืืขื, ืืืขื ืืึธืก ืืึทืคึผืึทื ื, PostgreSQL ืืื ืื ืืขืจืข ืึทืคึผืืึทืงืืืฉืึทื ื ืงืจืึทื. O_SYNC
ืึธืืขืจ ืืื ืึท ืคืึธื O_DSYNC
. ืืื ืืขื ืฆืืืึทื ื, ืื ืกืืกืืขื ืืืขื ืืึทืจืืื ืขืจืจืึธืจืก ืืืึธืก ืงืขื ืคึผืึทืกืืจื ืืืขื ืคึผืขืจืคืึธืจืืื ื ืกืคึผืขืฆืืคืืฉ ืืึทืื ืฉืจืืึทืื ืึทืคึผืขืจืืืฉืึทื ื, ืึธืืขืจ ืืขื ืฆืืืึทื ื ืจืืงืืืืืขืจื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืคืืจื ืื ืืึทืคืขืจื ืืื. ืืืืขื ืขื ืืขืจ ืืืขืื ืืื
ืขืคื ืืขืงืขืก ืืื ืื O_SYNC ืืื O_DSYNC ืคืืึทืืก
ืืื ืก ืฆืืจืืงืงืืืขื ืฆื ืื ืืืกืงืืกืืข ืคืื โโืื ืืื ืืงืก ืืขืงืึทื ืืืึทืื ืืืึธืก ืฆืืฉืืขืื ืคึผืขืจืกืืกืืขื ื ืืึทืื ืกืืึธืจืืืืฉ. ื ืืืืื, ืืืจ ืืขื ืขื ืืขืจืขืื ืืืขืื ืื ื ืืฆื ืคืื ืื ืคืึธื O_SYNC
ืึธืืขืจ ืคืึธื O_DSYNC
ืืืขื ืขืคื ืืขืงืขืก ื ืืฆื ืกืืกืืขื ืจืืคื write()
ืื ืกืืกืืขื ืืื ืืขืืขืื, ืจืืกืคึผืขืงืืืืืื, ืงืึทืืึทื ืื fsync()
ะธ fdatasync()
. ืื write()
ะธ fdatasync()
). ืืขืจ ืืืืคึผื ืืืกืึธืจื ืคืื ืืขื ืฆืืืึทื ื ืืื ืึทื ืึทืืข ืฉืจืืึทืื ืึทืคึผืขืจืืืฉืึทื ื ื ืืฆื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืงืข ืืืกืงืจืืคึผืืึธืจ ืืืขื ืืืื ืกืื ืืงืจืึทื ืืืื, ืืืึธืก ืงืขื ืขื ืืึทืืจืขื ืขืฆื ืื ืคืืืืงืืื ืฆื ืกืืจืืงืืืจ ืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึธื.
ื ืืฆื ืืืจืขืงื ื / ืึธ ืืื ืื ืึธ_ืืืจืขืงื ืคืึธื
ืกืืกืืขื ืจืืคื open()
ืฉืืืฆื ืื ืคืึธื O_DIRECT
, ืืืึธืก ืืื ืืืืืื ื ืฆื ืืืืคึผืึทืก ืื ืึทืคึผืขืจืืืืื ื ืกืืกืืขื ืงืึทืฉ, ืืืจืืคืืจื I / O ืึทืคึผืขืจืืืฉืึทื ื, ืืืืื ืื ืืขืจืึทืงืืื ื ืืื ืื ืืืกืง. ืืึธืก, ืืื ืคืืืข ืงืึทืกืขืก, ืืืื ืึทื ืื ืฉืจืืึทืื ืงืึทืืึทื ืื ืืจืืืก ืืืจื ืื ืคึผืจืึธืืจืึทื ืืืขื ืืืื ืืืืื ืืืืขืจืืขืืขืฆื ืืื ืงืึทืืึทื ืื ืึทืืืขื ืฆื ืึทืจืืขืื ืืื ืื ืืืกืง. ืึธืืขืจ, ืืื ืึทืืืขืืืื, ืืขื ืืขืงืึทื ืืืึทื ืืื ื ืืฉื ืึท ืคืึทืจืืืึทื ืคึฟืึทืจ ืื ืคืึทื ืืงืฉืึทื ื fsync()
ืึธืืขืจ fdatasync()
. ืืขืจ ืคืึทืงื ืืื ืึทื ืืขืจ ืืืกืง ืืื ืงืขื ืขื O_DIRECT
, O_DSYNC
, ืืืึธืก ืืืขื ืืืื ืขื ืึทื ืืขืืขืจ ืฉืจืืึทืื ืึธืคึผืขืจืึทืฆืืข ืืืขื ืืืื ื ืืืืขืืื ืืขื ืืืจื ืึท ืจืืคื fdatasync()
.
ืขืก ืคืืจืงืขืจื ืืืืก ืึทื ืื XFS ืคืืืขืกืืกืืขื ืืื ืืขืฆืื ืก ืฆืืืขืืขืื ืึท "ืฉื ืขื ืืจื" ืคึฟืึทืจ O_DIRECT|O_DSYNC
-ืืึทืื ืจืขืงืึธืจืืก. ืืืื ืื ืืืึธืง ืืื ืึธืืืืขืจืจืืืึทื ื ืืฆื O_DIRECT|O_DSYNC
, ืืขืืึธืื XFS, ืึทื ืฉืืึธื ืคืื ืคืืึทืฉืื ื ืื ืงืึทืฉ, ืืืขื ืืืกืคืืจื ืื FUA ืฉืจืืึทืื ืืึทืคึฟืขื ืืืื ืื ืืืื ืฉืืืฆื ืขืก. ืืื ืืืขืจืึทืคืืื ืืขื ื ืืฆื ืื ื ืืฆื blktrace
ืืืืฃ ืึท ืืื ืืงืก 5.4 / ืืืื ืื 20.04 ืกืืกืืขื. ืืขืจ ืฆืืืึทื ื ืืึธื ืืืื ืืขืจ ืขืคืขืงืืืื, ืืืืึทื ืขืก ืฉืจืืืื ืื ืืื ืืืื ืกืืืข ืคืื โโโโืืึทืื ืฆื ืืืกืง ืืื ื ืืฆื ืืืื ืึธืคึผืขืจืึทืฆืืข, ื ืืฉื ืฆืืืื (ืฉืจืืึทืื ืืื ืืืืึทื ืื ืงืึทืฉ). ืืื ืืขืคืื ืขื ืึท ืืื ืง ืฆื
sync_file_range() ืคึฟืื ืงืฆืืข
ืืื ืืงืก ืืื ืึท ืกืืกืืขื ืจืืคื sync_file_range()
ืืขืจ ืืึทืคึฟืขื ืืื ืืขืืืื ืฆื ืืืื "ืืืืขืจ ืืขืคืขืจืืขื". ืขืก ืืื ื ืืฉื ืจืขืงืึทืืขื ืืื ืฆื ื ืืฆื ืขืก. ืคึฟืขืึดืงืืืื ืืื ืืืื ืืืฉืขืจื sync_file_range()
ืืืืขืจ ืืื ืืืกืงืจืืืื ืืื fdatasync()
. ืื sync_file_range()
ืืืขื ื ืืฆื ZFS ืืื ื ืืฉื ืืืกืฉืขืคึผื ืืึทืื ืฆื ืืืกืง. ืืขืจืคืึทืจืื ื ืืขืจืฆืืืื ืืืจ ืึทื ืจืึทืจืขืื ืืขืืืืื ื ืงืึธื ืงืขื ืึทื ืืืึทืืื ืืึทืื. ืืขืจืืืขืจ, ืืื ืืืึธืื ืจืขืงืึธืืขื ืืืจื ืฆื ื ืืฆื ืืขื ืกืืกืืขื ืจืืคื ืกืืึทืื ืืขืืึทืืจืข ื ืืืืืง.
ืกืืกืืขื ืจืืคื ืฆื ืืขืืคื ืขื ืฉืืจ ืืึทืื ืคึผืขืจืกืืกืืึทื ืก
ืืื ืืื ืืขืงืืืขื ืฆื ืื ืืกืงื ื ืึทื ืขืก ืืขื ืขื ืืจืื ืึทืคึผืจืึธืืืฉืื ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืืืจืืคืืจื ืคึผืขืจืกืืกืืขื ื ื / ืึธ ืึทืคึผืขืจืืืฉืึทื ื. ืืื ืึทืืข ืืึทืจืคื ืึท ืคืื ืงืฆืืข ืจืืคื fsync()
ืคึฟืึทืจ ืื ืืืขืืืืืึทืืขืจ ืืื ืื ืืขืงืข ืืื ืืืฉืืคื. ืืืก ืืขื ืขื ืื ืึทืคึผืจืึธืืืฉืื:
- ืคืื ืงืฆืืข ืจืืคื
fdatasync()
ืึธืืขืจfsync()
ื ืึธื ืคึฟืื ืงืฆืืขwrite()
(ืืขืกืขืจ ืฆื ื ืืฆืfdatasync()
). - ืืจืืขืื ืืื ืึท ืืขืงืข ืืืกืงืจืืคึผืืึธืจ ืืขืขืคื ื ืืื ืึท ืคืึธื
O_DSYNC
ืึธืืขืจO_SYNC
(ืืขืกืขืจ - ืืื ืึท ืคืึธืO_DSYNC
). - ืืึทืคึฟืขืื ืืึทื ืืฅ
pwritev2()
ืืื ืคืึธืRWF_DSYNC
ืึธืืขืจRWF_SYNC
(ืคึผืจืขืคืขืจืึทืืื ืืื ืึท ืคืึธืRWF_DSYNC
).
ืคืึธืจืฉืืขืืื ื ื ืึธืืขืก
ืืื ืืื ื ืืฉื ืืขืืืกืื ืื ืืืืคืคืืจืื ื ืคืื ืื ืคืืจืฉืืืขื ืข ืืขืงืึทื ืืืึทืื ืืืึธืก ืืื ืืึธื ืืืืกืืขืคืึธืจืฉื. ืื ืืืคืขืจืึทื ืกืื ืืื ืืืืขืจืงื ืืื ืื ืืืืงืืึทื ืคืื ืืืืขืจ ืึทืจืืขื ืืขื ืขื ืืืืขืจ ืงืืืื. ืืึธืก ืืืื ื ืึทื ืืื ืงืขื ืืืื ืคืึทืืฉ, ืืื ืึทื ืืื ืื ืืขืจืข ืื ืึธืื ืื ืืขืืืข ืืึทื ืงืขื ืืืืึทืื ืคืึทืจืฉืืืขื ืข ืจืขืืืืืึทืื. ืขืจืฉืืขืจ, ืืื ืืืขื ืจืขืื ืืืขืื ืืืึธืก ืึทืคืขืงืฅ ืคืึธืจืฉืืขืืื ื ืืขืจ, ืืื ืืขืืึธืื ืืืขืื ืืืึธืก ืึทืคืขืงืฅ ืคืึธืจืฉืืขืืื ื ืืืืื ืืงืขืจ.
- ืึธืืืืขืจืจืืืืื ื ืืขืงืข ืืึทืื ืืื ืคืึทืกืืขืจ ืืื ืึทืืื ื ืืึทืื ืฆื ืึท ืืขืงืข (ืื ืคืึธืจืฉืืขืืื ื ืืขืืืื ืขื ืงืขื ืขื ืืืื 2-100%). ืึทืืึทืืฉืื ื ืืึทืื ืฆื ืึท ืืขืงืข ืจืืงืืืืืขืจื ื ืึธื ืขื ืืขืจืื ืืขื ืฆื ืื ืืขืืึทืืึทืืึท ืคืื ืืขืจ ืืขืงืข, ืืคืืื ื ืึธื ืื ืกืืกืืขื ืจืืคื
fallocate()
, ืึธืืขืจ ืื ืืึทืื ืึทืืื ืคืื ืืขื ืืืืจืงืื ื ืงืขื ืืืึทืื. ืืื ืจืขืงืึธืืขื ืืืจื, ืคึฟืึทืจ ืืขืกืืขืจ ืคืึธืจืฉืืขืืื ื, ืฆื ืจืืคืfallocate()
ืฆื ืคืึทืจ - ืึทืืึทืงืืื ืื ืคืืจืืื ืื ืคึผืืึทืฅ. ืืขืืึธืื ืืขื ืคึผืืึทืฅ ืืืื ืืืื ืืคืืจืืฉ ืึธื ืืขืคืืื ืืื ืืขืจืึธืก ืืื ืืขืจืืคืfsync()
. ืืึธืก ืืืขื ืคืึทืจืฉืึทืคื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืืึทืงืก ืืื ืื ืืขืงืข ืกืืกืืขื ืฆื ืืืื ืื ืืขืฆืืืื ื ืืื "ืึทืืึธืงืึทืืขื" ืึทื ืฉืืึธื ืคืื "ืึทื ืึทืืึธืงืึทืืขื". ืืึธืก ืืื ืึท ืงืืืื (ืืืขืื 2%) ืคืึธืจืฉืืขืืื ื ืคึฟืึทืจืืขืกืขืจืื ื. ืืืื, ืขืืืขืืข ืืืกืงืก ืงืขื ืืึธืื ืึท ืกืืึธืืขืจ ืขืจืฉืืขืจ ืืืึธืง ืึทืงืกืขืก ืึธืคึผืขืจืึทืฆืืข ืืื ืื ืืขืจืข. ืืขื ืืืื ืึทื ืคืืืื ื ืื ืคึผืืึทืฅ ืืื ืืขืจืึธืก ืงืขื ืขื ืคืืจื ืฆื ืึท ืืึทืืืืืืง (ืืืขืื 100%) ืคืึธืจืฉืืขืืื ื ืคึฟืึทืจืืขืกืขืจืื ื. ืืื ืืึทืืื ืืขืจ, ืืึธืก ืงืขื ืคึผืึทืกืืจื ืืื ืืืกืงืก.AWS EBS (ืืึธืก ืืื ืึทื ืึทืคืืฉืึทื ืืึทืื, ืืื ืงืขื ื ืืฉื ืืึทืฉืืขืืืงื ืืื). ืืขืจ ืืขืืืืงืขืจ ืืืื ืคึฟืึทืจ ืกืืึธืจืืืืฉ.GCP ืคึผืขืจืกืืกืืขื ื ืืืกืง (ืืื ืืึธืก ืืื ืฉืืื ืืึทืึทืืืขืจ ืืื ืคึฟืึธืจืืึทืฆืืข, ืืืฉืืขืืืงื ืืืจื ืืขืกืฅ). ืื ืืขืจืข ืขืงืกืคึผืขืจืฅ ืืึธืื ืืขืืื ืื ืืขืืืขืึธืืกืขืจืืืึทืฆืืข ืฉืืึทืืืช ืฆื ืคืึทืจืฉืืืขื ืข ืืืกืงืก. - ืื ืืืืื ืืงืขืจืข ืกืืกืืขื ืจืืคื, ืื ืืขืืขืจ ืื ืคืึธืจืฉืืขืืื ื (ืื ืืขืืืื ืก ืงืขื ืขื ืืืื ืืืขืื 5%). ืขืก ืงืืงื ืืื ืึท ืจืืคื
open()
ืืื ืคืึธืO_DSYNC
ืึธืืขืจ ืจืืคืpwritev2()
ืืื ืคืึธืRWF_SYNC
ืคืึทืกืืขืจ ืจืืคืfdatasync()
. ืืื ืืึธืฉืขื ืึทื ืื ืคืื ื ืืึธ ืืื ืึทื ืืื ืืขื ืฆืืืึทื ื, ืื ืคืึทืงื ืึทื ืืืืื ืืงืขืจืข ืกืืกืืขื ืจืืคื ืฆื ืกืึธืืืืข ืื ืืขืืืข ืึทืจืืขื (ืืืื ืจืืคื ืึทื ืฉืืึธื ืคืื ืฆืืืื) ืฉืคึผืืื ืึท ืจืึธืืข. ืึธืืขืจ ืืขืจ ืคืึธืจืฉืืขืืื ื ืืืืืง ืืื ืืืืขืจ ืงืืืื, ืึทืืื ืืืจ ืงืขื ืขื ืืืืื ืืืื ืึธืจืืจื ืขืก ืืื ื ืืฆื ืขืคึผืขืก ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืึธืก ืืื ื ืืฉื ืคืืจื ืฆื ืื ืงืึทืืคึผืืึทืงืืืฉืึทื ืคืื ืืืึทื ืืึธืืืง.
ืืืื ืืืจ ืืขื ื ืืื ืืขืจืขืกืืจื ืืื ืื ืืขืืข ืคืื โโืกืึทืกืืืื ืึทืืึทื ืืึทืื ืกืืึธืจืืืืฉ, ืืึธ ืืขื ืขื ืขืืืขืืข ื ืืฆืืง ืืึทืืขืจืืึทืืก:
ืืื / ืึธ ืึทืงืกืขืก ืืขืืืึธืืก - ืึทื ืืืืขืจืืืืง ืคืื ืื ืืึทืกืืงืก ืคืื ืึทืจืืึทื ืฉืจืืึทื / ืจืขืืืืืึทื ืืขืงืึทื ืืืึทืื.ืื ืฉืืจืื ื ืืึทืื ืจืืืฉืึทื ืืืกืง - ืึท ืืขืจืฆืืืืื ื ืืืขืื ืืืึธืก ืืึทืคึผืึทื ื ืฆื ืื ืืึทืื ืืืืฃ ืื ืืืขื ืคืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืื ืืืกืง.ืืืขื ืืึธื ืืืจ ืคืกืื ืง ืื ืืื Directory - ืืขืจ ืขื ืืคืขืจ ืฆื ืื ืงืฉืื ืคืื ืืืขื ืฆื ืฆืืืืืืfsync()
ืคึฟืึทืจ ืืืจืขืงืืขืจืื. ืืื ืึท ื ืึทืืฉืขื, ืขืก ืืืจื ืก ืืืืก ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืืึธืก ืืืขื ืืืจ ืฉืึทืคึฟื ืึท ื ืืึทืข ืืขืงืข, ืืื ืื ืกืืื ืคึฟืึทืจ ืืขื ืจืขืงืึธืืขื ืืึทืฆืืข ืืื ืึทื ืืื ืืื ืืงืก ืขืก ืงืขื ืขื ืืืื ืคืืืข ืืึทืืืืึทืื ืฆื ืืขืจ ืืขืืืืงืขืจ ืืขืงืข.SQL Server ืืืืฃ ืืื ืืงืก: FUA ืื ืืขืจื ืึทืืก - ืืึธ ืืื ืึท ืืึทืฉืจืืึทืืื ื ืคืื ืืื ืคึผืขืจืกืืกืืขื ื ืืึทืื ืกืืึธืจืืืืฉ ืืื ืืืคึผืืึทืืขื ืึทื ืืื SQL Server ืืืืฃ ืื ืืื ืืงืก ืคึผืืึทืืคืึธืจืืข. ืขืก ืืขื ืขื ืขืืืขืืข ืืฉืืงืึทืืืข ืงืึทืืคึผืขืจืึทืกืึทื ื ืฆืืืืฉื Windows ืืื ืืื ืืงืก ืกืืกืืขื ืจืืคื ืืึธ. ืืื ืืื ืึผืืขื ืืืืขืจ ืึทื ืขืก ืืื ืืขืืืขื ืืึทื ืง ืฆื ืืขื ืืึทืืขืจืืึทื ืึทื ืืื ืืขืืขืจื ื ืืืขืื ืื FUA ืึทืคึผืืึทืืึทืืืืฉืึทื ืคืื XFS.
ืืึธืื ืืืจ ืืืฅ ืคืึทืจืคืึทืื ืืึทืื ืืืึธืก ืืืจ ืืขืืึทื ืง ืืื ืกืืงืืืจืื ืกืืึธืจื ืืืืฃ ืืืกืง?
ืืงืืจ: www.habr.com