etcd-เดฏเตเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดตเต‡เด—เดค? เดจเดฎเตเด•เตเด•เต เดซเดฟเดฏเต‹เดฏเต‹เดŸเต เดšเต‹เดฆเดฟเด•เตเด•เดพเด‚

etcd-เดฏเตเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดตเต‡เด—เดค? เดจเดฎเตเด•เตเด•เต เดซเดฟเดฏเต‹เดฏเต‹เดŸเต เดšเต‹เดฆเดฟเด•เตเด•เดพเด‚

เดซเดฟเดฏเต‹เดฏเต†เดฏเตเด‚ เดฎเดฑเตเดฑเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดšเต†เดฑเตเด•เดฅ

เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดชเตเดฐเด•เดŸเดจเด‚ เดคเตเดŸเด™เตเด™เดฟเดฏเดต เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. etcd เดšเดฟเดฒ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เตเด•เตพ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เดชเตเดฐเต‡เดพเดฎเดฟเดคเตเดคเดฟเดฏเดธเตเด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดชเตเดฐเด•เดŸเดจ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เดพเตป. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, wal_fsync_duration_seconds เดฎเต†เดŸเตเดฐเดฟเด•เต. เดคเตเดŸเด™เตเด™เดฟเดฏเดตเดฏเตเดŸเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเต: เดธเด‚เดญเดฐเดฃเด‚ เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเต‡เด—เดคเตเดคเดฟเตฝ เด•เดฃเด•เตเด•เดพเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เดฟเดจเตเดฑเต† 99-เดพเด‚ เดถเดคเดฎเดพเดจเด‚ 10ms-เตฝ เด•เตเดฑเดตเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดจเดฟเด™เตเด™เตพ Linux เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เด’เดฐเต etcd เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดชเดฆเตเดงเดคเดฟเดฏเดฟเดŸเตเด•เดฏเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเด‚เดญเดฐเดฃเด‚ เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเต เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฃเต‹ เดŽเดจเตเดจเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ (เด‰เดฆเดพ. SSD), เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ fio I/O เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดœเดจเดชเตเดฐเดฟเดฏ เด‰เดชเด•เดฐเดฃเดฎเดพเดฃเต. เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เด‡เดตเดฟเดŸเต† เดŸเต†เดธเตเดฑเตเดฑเต-เดกเดพเดฑเตเดฑ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฎเตŒเดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดพเดฃเต:

fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest

เดจเดฟเด™เตเด™เตพ เดซเดฒเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด•เดฏเตเด‚ เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเดฟเดจเตเดฑเต† 99-เดพเด‚ เดถเดคเดฎเดพเดจเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚ fdatasync 10 เดŽเด‚.เดŽเดธเดฟเตฝ เด•เตเดฑเดตเต. เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเตเดฏเดพเดฏเดฎเดพเดฏ เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เดธเด‚เดญเดฐเดฃเดฎเตเดฃเตเดŸเต. เดซเดฒเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ:

  sync (usec): min=534, max=15766, avg=1273.08, stdev=1084.70
  sync percentiles (usec):
   | 1.00th=[ 553], 5.00th=[ 578], 10.00th=[ 594], 20.00th=[ 627],
   | 30.00th=[ 709], 40.00th=[ 750], 50.00th=[ 783], 60.00th=[ 1549],
   | 70.00th=[ 1729], 80.00th=[ 1991], 90.00th=[ 2180], 95.00th=[ 2278],
   | 99.00th=[ 2376], 99.50th=[ 9634], 99.90th=[15795], 99.95th=[15795],
   | 99.99th=[15795]

เด•เตเดฑเดฟเดชเตเดชเตเด•เตพ

  • เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ --size, --bs เด“เดชเตเดทเดจเตเด•เตพ เดžเด™เตเด™เตพ เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดซเดฟเดฏเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดซเดฒเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดจเตฝเด•เตเด•. เด…เดต เดŽเดตเดฟเดŸเต† เดฒเดญเดฟเด•เตเด•เตเด‚? เดตเดพเดฏเดฟเด•เตเด•เตเด• เดซเดฟเดฏเต‹ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เดชเด เดฟเดšเตเดšเต.
  • เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดธเดฎเดฏเดคเตเดคเต, เดŽเดฒเตเดฒเดพ I/O เดฒเต‹เดกเตเด‚ เดซเดฟเดฏเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต. เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดค เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, wal_fsync_duration_seconds เดŽเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดต เด•เต‚เดŸเดพเดคเต† เดฎเดฑเตเดฑเต เดŽเดดเตเดคเตเดคเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต‡เด•เตเด•เต เดตเดฐเดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต. เด…เดงเดฟเด• เดฒเต‹เดกเต wal_fsync_duration_seconds-เดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เด…เดคเดฟเดจเดพเตฝ 99-เดพเดฎเดคเตเดคเต† เดชเต†เตผเดธเต†เตปเดฑเตเดฑเตˆเตฝ 10ms-เดจเต เด…เดŸเตเดคเตเดคเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดตเต‡เด—เดค เดคเต€เตผเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดชเดคเดฟเดชเตเดชเต เดŽเดŸเตเด•เตเด•เตเด• fio 3.5 เตฝ เด•เตเดฑเดตเดฒเตเดฒ (เดฎเตเดฎเตเดชเดคเตเดคเต†เดต fdatasync เดฆเตˆเตผเด˜เตเดฏ เดถเดคเดฎเดพเดจเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ).
  • เดซเดฟเดฏเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดซเดฒเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดธเตโ€Œเดจเดฟเดชเตเดชเดฑเตเดฑเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดฎเตเด•เดณเดฟเตฝ.

เดซเดฟเดฏเต‹เดฏเต†เดฏเตเด‚ เดฎเดฑเตเดฑเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดจเต€เดฃเตเดŸ เด•เดฅ

เดคเตเดŸเด™เตเด™เดฟเดฏเดตเดฏเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต WAL

เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดŽเดดเตเดคเดพเดจเตเดณเตเดณ เดฒเต‹เด—เต; etcd เด…เดคเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดฑเตˆเดฑเตเดฑเต-เดŽเดนเต†เดกเต เดฒเต‹เด—เต (WAL) เดžเด™เตเด™เตพ เด‡เดตเดฟเดŸเต† เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. etcd เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เด“เดฐเต‹ เด…เด‚เด—เดตเตเด‚ เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเตฝ เด…เดคเต เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด…เดฑเดฟเดžเตเดžเดพเตฝ เดฎเดคเดฟ. etcd เด“เดฐเต‹ เด•เต€-เดตเดพเดฒเตเดฏเต‚ เด“เดชเตเดชเดฑเต‡เดทเดจเตเด‚ (เด’เดฐเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดชเต‹เดฒเตเดณเตเดณเดต) เดธเตเดฑเตเดฑเต‹เดฑเดฟเตฝ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต WAL-เดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเดจเตเดจเต. เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดธเตโ€Œเดฑเตเดฑเต‹เดฑเต‡เดœเต เด…เด‚เด—เด™เตเด™เดณเดฟเตฝ เด’เดฐเดพเตพ เด•เตเดฐเดพเดทเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฑเต€เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตโ€Œเดคเดพเตฝ, WAL เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดฎเตเดคเดฒเตเดณเตเดณ เด‡เดŸเดชเดพเดŸเตเด•เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดฎเดพเดฏเดฟ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เด‡เดคเดฟเดจเต เด•เดดเดฟเดฏเตเด‚.

เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เด•เต€-เดตเดพเดฒเตเดฏเต‚ เดธเตเดฑเตเดฑเต‹เดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด•เต€ เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด’เดฐเต เด•เต€เดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, etcd เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดซเดฏเดฒเดพเดฏ WAL-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต. etcd เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดคเตเดŸเดฐเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต WAL เดŽเตปเดŸเตเดฐเดฟ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดธเด‚เดญเดตเดฟเดšเตเดšเดคเดพเดฃเต†เดจเตเดจเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‰เดฑเดชเตเดชเตเดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดฒเดฟเดจเด•เตเดธเดฟเตฝ, เด‡เดคเดฟเดจเต เด’เดฐเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เดฎเดคเดฟเดฏเดพเด•เดฟเดฒเตเดฒ. เดŽเดดเตเดคเตเด•, เด•เดพเดฐเดฃเด‚ เดซเดฟเดธเดฟเด•เตเด•เตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฏเดฅเดพเตผเดคเตเดฅ เดŽเดดเตเดคเตเดคเต เดตเตˆเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Linux เด’เดฐเต WAL เดŽเตปเดŸเตเดฐเดฟ เด•เต‡เตผเดฃเตฝ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเต† เด’เดฐเต เด•เดพเดทเต†เดฏเดฟเตฝ (เดชเต‡เดœเต เด•เดพเดทเต† เดชเต‹เดฒเต†เดฏเตเดณเตเดณเดต) เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเต‡เด•เตเด•เต เดธเด‚เดญเดฐเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเต, เดŽเดดเตเดคเดฟเดฏเดคเดฟเดจเต เดถเต‡เดทเด‚ fdatasync เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† etcd เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดซเดฒเดคเตเดคเดฟเตฝ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเต เดชเต‹เดฒเต† เดธเตเดŸเตเดฐเต†เดฏเตเดธเต, เด‡เดตเดฟเดŸเต† 8 เดŽเดจเตเดจเดคเต WAL เดซเดฏเตฝ เดกเดฟเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตผ เด†เดฃเต):

21:23:09.894875 lseek(8, 0, SEEK_CUR)   = 12808 <0.000012>
21:23:09.894911 write(8, ". 20210220361223255266632$10 20103026"34"rn3fo"..., 2296) = 2296 <0.000130>
21:23:09.895041 fdatasync(8)            = 0 <0.008314>

เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเดจเตเดจเดคเต เดคเตฝเด•เตเดทเดฃเด‚ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. fdatasync เด•เต‹เตพ เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, etcd เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเดคเตเดคเต† เดฌเดพเดงเดฟเด•เตเด•เตเด‚. เดคเตเดŸเด™เตเด™เดฟเดฏเดตเดฏเตเดŸเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเต99-เดพเดฎเดคเตเดคเต† เดชเต†เตผเดธเต†เตปเดฑเตเดฑเตˆเดฒเดฟเตฝ, fdatasync เด•เต‹เดณเตเด•เตพ WAL เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดพเตป 10ms-เตฝ เดคเดพเดดเต† เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเดพเตฝ, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฎเดคเดฟเดฏเดพเดฏ เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด‚. เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดฎเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เตเด•เตพ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ เดจเดฎเตเดฎเตพ เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตโ€Œเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเด‚เดญเดฐเดฃเด‚ etcd-เด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹ เดŽเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดตเดณเดฐเต† เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ I/O เดฒเต‹เดกเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดŸเต‚เดณเดพเดฏ fio เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เดกเดฟเดธเตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดตเดณเดฐเต† เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเดคเต เด“เตผเด•เตเด•เดฃเด‚: เดธเดฟเตปเด•เตเดฐเดฃเดธเต, เด…เดธเดฟเตปเด•เตเดฐเดฃเดธเต, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเดŸเต† เดชเดฒ เด•เตเดฒเดพเดธเตเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต. เดซเดฒเดฎเดพเดฏเดฟ, เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เด‡เดคเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‰เดฃเตเดŸเต, เด…เดตเดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เดตเตเดฏเดคเตเดฏเดธเตเดค เด•เต‹เดฎเตเดชเดฟเดจเต‡เดทเดจเตเด•เตพ เดตเดณเดฐเต† เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ I/O เดตเตผเด•เตเด•เตเดฒเต‹เดกเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. etcd-เดฏเตโ€Œเด•เตเด•เต เดฎเดคเดฟเดฏเดพเดฏ เด•เดฃเด•เตเด•เตเด•เตพ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, WAL เดซเดฏเดฒเตเด•เตพ เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ fio-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเต†เดธเตเดฑเตเดฑเต เดฑเตˆเดฑเตเดฑเต เดฒเต‹เดกเต, etcd-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฏเดฅเดพเตผเดคเตเดฅ เดฒเต‹เดกเดฟเดจเต‹เดŸเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เด…เดŸเตเดคเตเดคเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด‰เดฑเดชเตเดชเดพเด•เตเด•เดฃเด‚.

เด…เดคเดฟเดจเดพเตฝ, เดซเดฟเดฏเต‹ เด•เตเดฑเดžเตเดžเดคเต, เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดฑเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเต‹เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดฃเด‚, เด“เดฐเต‹ เดฑเตˆเดฑเตเดฑเดฟเดฒเตเด‚ เด’เดฐเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดŽเดดเตเดคเตเด•เดคเตเดŸเตผเดจเตเดจเต fdatasync เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ. เดซเดฟเดฏเต‹เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดธเต€เด•เตเดตเตปเดทเตเดฏเตฝ เดฑเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เต --rw=write เด“เดชเตเดทเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต. fio เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚, เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ เดฑเตˆเดฑเตเดฑเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดŽเดดเตเดคเตเด•, เดจเดฟเด™เตเด™เตพ --ioengine=sync เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฃเด‚. เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เด“เดฐเต‹ เดฑเตˆเดฑเตเดฑเดฟเดจเตเดถเต‡เดทเดตเตเด‚ fdatasync เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ --fdatasync=1 เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเต† เดฎเดฑเตเดฑเต เดฐเดฃเตเดŸเต เด“เดชเตเดทเดจเตเด•เตพ (--size, -bs) เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸเดฎเดพเดฃเต. เด…เดŸเตเดคเตเดค เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ, เด…เดต เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดพเดฃเดฟเดšเตเดšเตเดคเดฐเดพเด‚.

เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดซเดฟเดฏเต‹, เด…เดคเต เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดชเด เดฟเดšเตเดšเต

เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ, เดžเด™เตเด™เตพ เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เด•เต‡เดธเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเตผ เด‰เดฃเตเดŸเต เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเต v1.13 เดžเด™เตเด™เตพ เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเตŠเดชเตเดชเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเดšเตเดšเต. etcd v3.2.24 เด’เดฐเต SSD-เดฏเดฟเตฝ เดนเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเต. Etcd เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต, เด•เตเดฒเดธเตเดฑเตเดฑเตผ เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚, fdatasync เดฒเต‡เดฑเตเดฑเตปเดธเดฟเด•เตพ เดตเดณเดฐเต† เด‰เดฏเตผเดจเตเดจเดคเดพเดฏเดฟ เด•เดพเดฃเดฟเดšเตเดšเต. เด…เดณเดตเตเด•เตพ เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดต เดŽเดจเตเดคเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เดถเดฐเดฟเด•เตเด•เตเด‚ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดคเดพเดฃเต เดชเตเดฐเดถเตเดจเด‚ เดŽเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต: เดซเดฟเดธเดฟเด•เตเด•เตฝ เดŽเดธเตเดŽเดธเตเดกเดฟเด•เดณเดฟเดฒเต‹ เดตเดฟเตผเดšเตเดšเตเดตเดฒเตˆเดธเต‡เดทเตป เดฒเต†เดฏเดฑเดฟเดฒเต‹. เด•เต‚เดŸเดพเดคเต†, เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ, เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เดžเด™เตเด™เตพ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดฟ, เด…เดตเดฏเตเดŸเต† เดซเดฒเด™เตเด™เตพ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฎเดพเตผเด—เด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดžเด™เตเด™เตพเด•เตเด•เต เดŽเดฒเตเดฒเดพ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเดฒเตเด‚ etcd เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดจเต‹เด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚, เดชเด•เตเดทเต‡ เด…เดคเต เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต. เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดžเด™เตเด™เตพ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เด’เดฐเต เดฎเดพเตผเด—เด‚ เดคเต‡เดŸเตเด•เดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต. etcd-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดžเด™เตเด™เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดจเดพเตฝ เด‡เดคเดฟเดจเต เดฐเดฃเตเดŸเต เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต. เด†เดฆเตเดฏเด‚, WAL-เดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ etcd เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ I/O เดฒเต‹เดกเต เดŽเด™เตเด™เดจเต†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚? เดเดคเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเดพเดฃเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต? เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เดณเตเดŸเต† เดตเดฒเตเดชเตเดชเด‚ เดŽเดจเตเดคเดพเดฃเต? เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เดˆ เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เต เดžเด™เตเด™เตพ เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดฟเดฏเดพเตฝ, เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเดฎเดพเดจเดฎเดพเดฏ เดœเต‹เดฒเดฟเดญเดพเดฐเด‚ เดŽเด™เตเด™เดจเต† เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด‚? เดจเดฟเดฐเดตเดงเดฟ เด“เดชเตเดทเดจเตเด•เดณเตเดณเตเดณ เดตเดณเดฐเต† เดซเตเดฒเต†เด•เตเดธเดฟเดฌเดฟเตพ เดŸเต‚เดณเดพเดฃเต เดซเดฟเดฏเต‹ เดŽเดจเตเดจเดคเต เดฎเดฑเด•เตเด•เดฐเตเดคเต. เดžเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเด‚ เด’เดฐเต เดธเดฎเต€เดชเดจเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต - เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต lsof ะธ เดธเตเดŸเตเดฐเต†เดฏเตเดธเต. เดชเตเดฐเต‹เดธเดธเตเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดซเดฏเตฝ เดกเดฟเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เด…เดจเตเดฌเดจเตเดง เดซเดฏเดฒเตเด•เดณเตเด‚ lsof เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด•เต‚เดŸเดพเดคเต†, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดชเตเดฐเต‹เดธเดธเตเดธเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต เด…เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚. เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเด‚ เดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เด…เดคเดฟเดจเตเดฑเต† เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเดธเตเด•เดณเตเด‚). เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดตเดณเดฐเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ etcd เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดธเดฎเต€เดชเดจเดฎเดพเดฃเต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดฒเต‹เดกเต เด‡เดฒเตเดฒเดพเดคเดฟเดฐเตเดจเตเดจเดชเตเดชเต‹เตพ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเดจเดพเดฏเดฟ etcd เดธเต†เตผเดตเตผ เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ WAL เดฑเต†เด•เตเด•เต‹เตผเดกเตเด•เดณเตเด‚ เดเด•เดฆเต‡เดถเด‚ เด’เดฐเต‡ เดตเดฒเตเดชเตเดชเดฎเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฃเตเดŸเต: 2200โ€“2400 เดฌเตˆเดฑเตเดฑเตเด•เตพ. เด…เดคเดฟเดจเดพเตฝ, เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต† เด•เดฎเดพเตปเดกเดฟเตฝ, เดžเด™เตเด™เตพ -bs=2300 เดŽเดจเตเดจ เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟ (bs เดŽเดจเตเดจเดพเตฝ เด“เดฐเต‹ เดซเดฟเดฏเต‹ เดŽเตปเดŸเตเดฐเดฟเดฏเตเดŸเต†เดฏเตเด‚ เดฌเตˆเดฑเตเดฑเตเด•เดณเดฟเดฒเต† เดตเดฒเตเดชเตเดชเด‚). etcd เดŽเตปเดŸเตเดฐเดฟเดฏเตเดŸเต† เดตเดฒเตเดชเตเดชเด‚ etcd เดชเดคเดฟเดชเตเดชเต, เดตเดฟเดคเดฐเดฃเด‚, เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดตเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต fdatasync เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดธเดพเดนเดšเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด•เตƒเดคเตเดฏเดฎเดพเดฏ เดธเด‚เด–เตเดฏเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เดจเดฟเด™เตเด™เดณเตเดŸเต† etcd เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.

เดคเตเดŸเตผเดจเตเดจเต, etcd เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฒเตเดฒ เด†เดถเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด…เดคเต เดธเตโ€ŒเดŸเตเดฐเต‡เดธเตเด‚ -ffttT เด“เดชเตเดทเดจเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต. เด…เดคเดฟเดจเดพเตฝ เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เด“เดฐเต‹เดจเตเดจเดฟเดจเตเดฑเต†เดฏเตเด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเดฏเดฒเดฟเตฝ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเด‚ เด“เดฐเต‹ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเดฟเดจเตเดฑเต†เดฏเตเด‚ เด†เดฐเด‚เดญเดคเตเดคเต†เดฏเตเด‚ เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดถเดฆเดฎเดพเดฏ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดจเต‡เดŸเดพเดจเตเด‚ เดžเด™เตเด™เตพ เดถเตเดฐเดฎเดฟเดšเตเดšเต. เดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเดจเตเดฑเต† เดตเดฟเดถเด•เดฒเดจเด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดเดคเต เดซเดฏเตฝ เดกเดฟเดธเตโ€Œเด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเตผ เดเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเต เด•เดพเดฃเดพเดจเตเด‚ เดžเด™เตเด™เตพ lsof เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เด…เดคเดฟเดจเดพเตฝ เดธเตโ€ŒเดŸเตเดฐเต‡เดธเดฟเดจเตเดฑเต† เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต†, เดฎเตเด•เดณเดฟเตฝ เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเดฒเด™เตเด™เตพ เดฒเดญเดฟเดšเตเดšเต. etcd-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ wal_fsync_duration_seconds, WAL เดซเดฏเตฝ เดกเดฟเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ fdatasync เด•เต‹เดณเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดคเดพเดฏเดฟ เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเตป เดธเดฎเดฏ เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเดšเตเดšเต.

เดžเด™เตเด™เตพ เดซเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเตเดณเตเดณ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเดฒเต‚เดŸเต† เดชเต‹เดฏเดฟ เดžเด™เตเด™เดณเตเดŸเต† เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด“เดชเตเดทเดจเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต, เด…เดคเตเดตเดดเดฟ fio etcd เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต เดฒเต‹เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚. etcd เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดธเตโ€ŒเดŸเตเดฐเต‡เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเดฟเดฏเต‹ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เดฆเตˆเตผเด˜เตเดฏเดตเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต.

เดซเดฟเดฏเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเตเดดเตเดตเตป I/O เดฒเต‹เดกเดฟเดจเต†เดฏเตเด‚ เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต --size เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดžเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดพเดชเต‚เตผเดตเตเดตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดฟเดฏ เดฎเตŠเดคเตเดคเด‚ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดฎเดพเดฃเดฟเดคเต. เด‡เดคเต เดฑเตˆเดฑเตเดฑเต (เด’เดชเตเดชเด‚ fdatasync) เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด†เดจเตเดชเดพเดคเดฟเด•เดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟ. bs-เดจเตเดฑเต† เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดจเต, fdatasync เด•เต‹เดณเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ = เดตเดฒเตเดชเตเดชเด‚/bs. เดชเต†เตผเดธเต†เตปเดฑเตเดฑเตˆเดฒเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดชเตเดชเต เดตเดฐเตเดคเตเดคเดพเตป เดฎเดคเดฟเดฏเดพเดฏ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เดžเด™เตเด™เตพเด•เตเด•เต 10^4 เดฎเดคเดฟเดฏเดพเด•เตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฃเด•เตเด•เดพเด•เตเด•เดฟ (เด…เดคเต 22 เดฎเต†เดฌเดฟเดฌเตˆเดฑเตเดฑเตเด•เตพ). --size เดšเต†เดฑเตเดคเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด”เดŸเตเดŸเตโ€Œเดฒเดฑเตเด•เตพ เดธเด‚เดญเดตเดฟเด•เตเด•เดพเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดฐเดตเดงเดฟ fdatasync เด•เต‹เดณเตเด•เตพ เดชเดคเดฟเดตเดฟเดฒเตเด‚ เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ 99-เดพเดฎเดคเตเดคเต† เดชเต†เตผเดธเต†เดจเตเดฑเตˆเดฒเดฟเดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต).

เด‡เดคเต เดธเตเดตเดฏเด‚ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•

เดซเดฟเดฏเต‹ เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ etcd เดจเดจเตเดจเดพเดฏเดฟ เดชเต†เตผเดซเต‹เด‚ เดšเต†เดฏเตเดฏเดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฏ เดธเตโ€Œเดฑเตเดฑเต‹เดฑเต‡เดœเต เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏเดคเดพเดฃเต‹ เดŽเดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เด•เดพเดฃเดฟเดšเตเดšเตเดคเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ SSD เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเตเดณเตเดณ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚ IBM เด•เตเดฒเต—เดกเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•