etcd เดฏเตเดŸเต† เดฎเดคเดฟเดฏเดพเดฏ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเดฟเดธเตเด•เตเด•เตพ เดŽเด™เตเด™เดจเต† เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚

เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: etcd เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเต เดชเดฐเดฟเดนเดพเดฐเด‚ เดคเต‡เดŸเดฟ IBM เด•เตเดฒเต—เดกเต เดŽเดžเตเดšเดฟเดจเต€เดฏเตผเดฎเดพเตผ เดจเดŸเดคเตเดคเดฟเดฏ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด—เดตเต‡เดทเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฃเต เดˆ เดฒเต‡เด–เดจเด‚. เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดšเตเดฎเดคเดฒ เดžเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เดณเตเดŸเต† เดชเตเดฐเดคเดฟเดซเดฒเดจเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เด—เดคเดฟ เดตเดฟเดถเดพเดฒเดฎเดพเดฏ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚.

etcd เดฏเตเดŸเต† เดฎเดคเดฟเดฏเดพเดฏ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเดฟเดธเตเด•เตเด•เตพ เดŽเด™เตเด™เดจเต† เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚

เดฎเตเดดเตเดตเตป เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเด‚เด•เตเดทเดฟเดชเตเดค เดธเด‚เด—เตเดฐเดนเด‚: เดซเดฟเดฏเต‹เดฏเตเด‚ เดฎเดฑเตเดฑเตเด‚

เด’เดฐเต etcd เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดตเต‡เด—เดคเดฏเต† เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเด•เดŸเดจเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต etcd เดตเดฟเดตเดฟเดง เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เตเด•เตพ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดคเดฟเดฒเตŠเดจเตเดจเดพเดฃเต wal_fsync_duration_seconds. เดฎเตเดคเดฒเดพเดฏเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เด…เดคเต เดชเดฑเดฏเตเดจเตเดจเตเดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เดฟเดจเตเดฑเต† 99-เดพเด‚ เดถเดคเดฎเดพเดจเด‚ 10 เดŽเด‚.เดŽเดธเดฟเตฝ เด•เดตเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเด‚เดญเดฐเดฃเด‚ เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเต‡เด—เดคเตเดคเดฟเตฝ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚โ€ฆ

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

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

เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดจเต‹เด•เตเด•เดพเดจเตเด‚ 99-เดพเดฎเดคเตเดคเต† เดชเต†เตผเดธเดจเตเดฑเตˆเตฝ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดจเตเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเตเดณเตเดณเต‚ fdatasync 10 เดŽเด‚.เดŽเดธเต. เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเตเดฐเตˆเดตเต เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เด‡เดคเดพ:

fsync/fdatasync/sync_file_range:
  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]

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

  1. เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เตพ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเต --size ะธ --bs เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‡เดธเดฟเดจเดพเดฏเดฟ. เด…เตผเดคเตเดฅเดตเดคเตเดคเดพเดฏ เดซเดฒเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต fio, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•. เด…เดต เดŽเด™เตเด™เดจเต† เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเต เดšเตเดตเดŸเต† เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเตเด‚.
  2. เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดธเดฎเดฏเดคเตเดคเต เดฎเดพเดคเตเดฐเด‚ fio เดกเดฟเดธเตเด•เต เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดคเดคเตเดคเดฟเตฝ, เดฎเดฑเตเดฑเต เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ เดกเดฟเดธเตเด•เดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต (เด…เดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดต เด•เต‚เดŸเดพเดคเต† wal_fsync_duration_seconds). เดˆ เด…เดงเดฟเด• เดฒเต‹เดกเต เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ wal_fsync_duration_seconds. เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ 99-เดพเดฎเดคเตเดคเต† เดชเต†เตผเดธเต†เตปเดฑเตเดฑเตˆเตฝ fio, 10 ms-เตฝ เด…เตฝเดชเตเดชเด‚ เด•เตเดฑเดตเต เดฎเดพเดคเตเดฐเด‚, เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดชเต†เตผเดซเต‹เดฎเตปเดธเต เดฎเดคเดฟเดฏเดพเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดจเดฒเตเดฒ เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต.
  3. เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดคเดฟเดชเตเดชเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต fio 3.5 เตฝ เด•เตเดฑเดตเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเตเด•เตพ เดซเดฒเด™เตเด™เตพ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ fdatasync เดถเดคเดฎเดพเดจเด‚ เดฐเต‚เดชเดคเตเดคเดฟเตฝ.
  4. เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดจเดฟเด—เดฎเดจเด‚ เดชเตŠเดคเตเดตเดพเดฏ เดจเดฟเด—เดฎเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เด‰เดฆเตเดงเดฐเดฃเดฟ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต fio.

เดซเดฟเดฏเต‹เดฏเต†เดฏเตเด‚ เดฎเดฑเตเดฑเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ

WALs เดฎเตเดคเดฒเดพเดฏเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เตเดฑเดšเตเดšเต เดตเดพเด•เตเด•เตเด•เตพ

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

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

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

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

เดซเดฟเดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเด‚เดญเดฐเดฃเดคเตเดคเต† เดตเดฟเดฒเดฎเดคเดฟเด•เตเด•เตเดจเตเดจเต

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

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

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

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

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

เด‡เดคเดฟเดจเต เดฐเดฃเตเดŸเต เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

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

เด’เดฐเต‡ เด•เดฎเดพเตปเดกเต เด…เดงเดฟเดทเตโ€Œเด เดฟเดค เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดฒเต‚เดŸเต† เดžเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต lsof ะธ strace:

  • เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต† lsof เดชเตเดฐเต‹เดธเดธเตเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดซเดฏเตฝ เดกเดฟเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด…เดต เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเดฒเตเด•เดณเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚.
  • เดธเดนเดพเดฏเดคเตเดคเต‹เดŸเต† strace เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเด•เตเดฐเดฟเดฏ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต เด…เดคเต เด•เดพเดฃเตเด•. เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดตเดดเดฟเดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเด‚, เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเตเดฑเต† เดชเดฟเตปเด—เดพเดฎเดฟเด•เดณเตเด‚ เด•เดฎเดพเตปเดกเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดซเต‹เตผเด•เตเด•เดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพเด•เตเด•เต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† etcd เด…เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดพเดฃเต.

เดžเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดคเดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต strace เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† etcd เดธเต†เตผเดตเตผ เดจเดฟเดทเตโ€Œเด•เตเดฐเดฟเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดชเตเดชเต‹เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป.

เด…เดคเดฟเดจเดพเตฝ, WAL เดฑเต†เด•เตเด•เต‹เตผเดกเต เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดตเดณเดฐเต† เดธเดพเดจเตเดฆเตเดฐเดฎเดพเดฏเดฟ เด—เตเดฐเต‚เดชเตเดชเตเดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ, เดญเต‚เดฐเดฟเดชเด•เตเดทเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ 2200-2400 เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟเดฏเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต† เด•เดฎเดพเตปเดกเต เดซเตเดฒเดพเด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต --bs=2300 (bs เด“เดฐเต‹ เดฑเตˆเดฑเตเดฑเต เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต†เดฏเตเด‚ เดฌเตˆเดฑเตเดฑเดฟเดฒเต† เดตเดฒเตเดชเตเดชเดฎเดพเดฃเต fio).

เดชเดคเดฟเดชเตเดชเต, เดตเดฟเดจเตเดฏเดพเดธเด‚, เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดตเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต etcd เดฑเตˆเดฑเตเดฑเต เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเตเดŸเต† เดตเดฒเตเดชเตเดชเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเดพเด‚ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•. - เด‡เดคเต เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต fdatasync. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏ เด‰เดชเดฏเต‹เด— เด•เต‡เดธเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเด• strace เด•เดพเดฒเดฟเด•เดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† etcd เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ.

เดคเตเดŸเตผเดจเตเดจเต, เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ etcd เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดตเตเด‚ เดธเดฎเด—เตเดฐเดตเตเดฎเดพเดฏ เด†เดถเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด…เดคเต เดคเดพเดดเต† เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต. strace เดชเดคเดพเด•เด•เตพ เด•เตŠเดฃเตเดŸเต -ffttT. เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเด•เตพ เด•เตเดฏเดพเดชเตโ€Œเดšเตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด“เดฐเต‹เดจเตเดจเดฟเดจเตเดฑเต†เดฏเตเด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดพเดจเตเด‚ เด‡เดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดฟ. เด•เต‚เดŸเดพเดคเต†, เด“เดฐเต‹ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเดฟเดจเตเดฑเต†เดฏเตเด‚ เด†เดฐเด‚เดญ เดธเดฎเดฏเดคเตเดคเต†เดฏเตเด‚ เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เดฒเดญเดฟเดšเตเดšเต.

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

เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป fio etcd-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดœเต‹เดฒเดฟเดญเดพเดฐเด‚, เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเตเดŸเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเด เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดŸเดพเดธเตเด•เตเด•เดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เดถเดฐเดฟเดฏเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เตพ เดชเตเดฐเต‹เด—เดคเดฟเดฏเดฟเดฒเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเตเดฑเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฑเตบ เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดตเดฏเตเดŸเต† เดฆเตˆเตผเด˜เตเดฏเด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต fio เดจเดฟเดจเตเดจเต strace (เด‡เดคเต เดฎเตเดคเดฒเดพเดฏเดตเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดšเต†เดฏเตเดคเดคเตเดชเต‹เดฒเต†).

เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด• เดถเตเดฐเดฆเตเดง เดšเต†เดฒเตเดคเตเดคเดฟ --size. เด‡เดคเต เดซเดฟเดฏเต‹ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดฎเตŠเดคเตเดคเด‚ I/O เดฒเต‹เดกเดฟเดจเต† เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เดฎเต€เดกเดฟเดฏเดฏเตเด•เตเด•เต เดŽเดดเตเดคเดฟเดฏ เดฎเตŠเดคเตเดคเด‚ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดฎเดพเดฃเต. เด‡เดคเต เด•เต‹เดณเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด†เดจเตเดชเดพเดคเดฟเด•เดฎเดพเดฃเต write (เด’เดชเตเดชเด‚ fdatasync). เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดพเดฐเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ bs เด•เต‹เดณเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ fdatasync เดคเตเดฒเตเดฏเดฎเดพเดฃเต size / bs.

เดถเดคเดฎเดพเดจเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดคเดฟเดจเดพเตฝ, เดธเดพเดฎเตเดชเดฟเดณเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เดจเตเดธเดฐเดฟเดšเตเดšเต เดชเตเดฐเดพเดงเดพเดจเตเดฏเดฎเตเดณเตเดณเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด…เดคเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต 10^4 (เด‡เดคเต 22 MB เดตเดฒเตเดชเตเดชเดตเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต) เดฎเดคเดฟเดฏเดพเด•เตเด‚. เดšเต†เดฑเดฟเดฏ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ --size เด•เต‚เดŸเตเดคเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดถเดฌเตเดฆเด‚ เดจเตฝเด•เดฟ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เต‹เดณเตเด•เตพ fdatasync, เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ 99-เดพเด‚ เดถเดคเดฎเดพเดจเดคเตเดคเต† เดฌเดพเดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต).

เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดŽเด™เตเด™เดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดฒเต‡เด–เดจเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต fio etcd เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจ เดฎเต€เดกเดฟเดฏ เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฃเต‹ เดŽเดจเตเดจเต เด’เดฐเดพเตพเด•เตเด•เต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดพเด‚. เด‡เดชเตเดชเต‹เตพ เด…เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต‡เดคเดพเดฃเต! เดธเต‡เดตเดจเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต SSD-เด…เดงเดฟเดทเตเด เดฟเดค เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด‰เดณเตเดณ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเดพเด‚ IBM เด•เตเดฒเต—เดกเต.

เดตเดฟเดตเตผเดคเตเดคเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟ.เดŽเดธเต

เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เด‰เดชเดฏเต‹เด— เด•เต‡เดธเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ fio เดฎเดฑเตเดฑเต เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ, เด•เดพเดฃเตเด• เดชเตเดฐเดฎเดพเดฃเต€เด•เดฐเดฃเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเดฆเตเดงเดคเดฟ เดถเต‡เด–เดฐเด™เตเด™เตพ (เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เดชเดฑเดžเตเดžเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด•เต‚เดŸเตเดคเตฝ เด…เดตเดฏเดฟเตฝ เดชเดฒเดคเตเด‚ เด‰เดฃเตเดŸเต).

เดตเดฟเดตเตผเดคเตเดคเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ PPS

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

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

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