เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชชเซ€เชก เชฏเซ‹เช—เซเชฏ เช›เซ‡? เชšเชพเชฒเซ‹ fio เชจเซ‡ เชชเซ‚เช›เซ€เช

เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชชเซ€เชก เชฏเซ‹เช—เซเชฏ เช›เซ‡? เชšเชพเชฒเซ‹ fio เชจเซ‡ เชชเซ‚เช›เซ€เช

fio เช…เชจเซ‡ etcd เชตเชฟเชถเซ‡ เชŸเซ‚เช‚เช•เซ€ เชตเชพเชฐเซเชคเชพ

เช•เซเชฒเชธเซเชŸเชฐ เช•เชพเชฎเช—เซ€เชฐเซ€ เชตเช—เซ‡เชฐเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เชคเซ‡เชจเชพ เชธเช‚เช—เซเชฐเชนเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. etcd เช•เซ‡เชŸเชฒเชพเช• เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชจเชฟเช•เชพเชธ เช•เชฐเซ‡ เช›เซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเช‡เชšเซเช›เชฟเชค เชธเช‚เช—เซเชฐเชน เชชเซเชฐเชฆเชฐเซเชถเชจ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, wal_fsync_duration_seconds เชฎเซ‡เชŸเซเชฐเชฟเช•. เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡เชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹ เช•เชนเซ‡ เช›เซ‡: เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐเซเชฏเชพเชชเซเชค เชเชกเชชเซ€ เช—เชฃเชตเชพ เชฎเชพเชŸเซ‡, เช† เชฎเซ‡เชŸเซเชฐเชฟเช•เชจเซ€ 99เชฎเซ€ เชชเชฐเซเชธเซ‡เชจเซเชŸเชพเช‡เชฒ 10ms เช•เชฐเชคเชพเช‚ เช“เช›เซ€ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช. เชœเซ‹ เชคเชฎเซ‡ Linux เชฎเชถเซ€เชจเซ‹ เชชเชฐ เชเช• etcd เช•เซเชฒเชธเซเชŸเชฐ เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพ เชฎเชพเช—เซ‹ เช›เซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ‹ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเซ‚เชฐเชคเซ‹ เชเชกเชชเซ€ เช›เซ‡ (เชฆเชพ.เชค. SSD), เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชซเชฟเชฏเซ‹ I/O เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชธเชพเชงเชจ เช›เซ‡. เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹, เชœเซเชฏเชพเช‚ เชŸเซ‡เชธเซเชŸ-เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเช‰เชจเซเชŸ เชชเซ‹เชˆเชจเซเชŸ เชนเซ‡เช เชณเชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช›เซ‡:

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

เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชœเซ‹เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเชชเชพเชธเซ‹ เช•เซ‡ เชธเชฎเชฏเช—เชพเชณเชพเชจเซ€ 99เชฎเซ€ เชŸเช•เชพเชตเชพเชฐเซ€ เช›เซ‡ fdatasync 10 ms เช•เชฐเชคเชพ เช“เช›เชพ เชœเซ‹ เชเชฎ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชตเซเชฏเชพเชœเชฌเซ€ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช›เซ‡. เช…เชนเซ€เช‚ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡:

  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 เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเซเชฏเชพ เช›เซ‡. fio เชฎเชพเช‚เชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชชเชฐเชฟเชฃเชพเชฎ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹ เช†เชชเซ‹. เชคเซ‡เชฎเชจเซ‡ เช•เซเชฏเชพเช‚เชฅเซ€ เชฎเซ‡เชณเชตเชตเซเช‚? เชตเชพเช‚เชšเชตเซเช‚ เช…เชฎเซ‡ fio เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เชถเซ€เช–เซเชฏเชพ.
  • เชชเชฐเซ€เช•เซเชทเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชคเชฎเชพเชฎ I/O เชฒเซ‹เชก fio เชฎเชพเช‚เชฅเซ€ เช†เชตเซ‡ เช›เซ‡. เชตเชพเชธเซเชคเชตเชฟเช• เชœเซ€เชตเชจเชจเชพ เชฆเซƒเชถเซเชฏเชฎเชพเช‚, เชธเช‚เชญเชตเชคเชƒ เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ wal_fsync_duration_seconds เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เช…เชจเซเชฏ เชฒเซ‡เช–เชจ เชตเชฟเชจเช‚เชคเซ€เช“ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡. เชตเชงเชพเชฐเชพเชจเซ‹ เชญเชพเชฐ wal_fsync_duration_seconds เชจเซ€ เช•เชฟเช‚เชฎเชค เชตเชงเชพเชฐเชถเซ‡. เชคเซ‡เชฅเซ€ เชœเซ‹ 99เชฎเซ€ เชชเชฐเซเชธเซ‡เชจเซเชŸเชพเชˆเชฒ 10ms เชจเซ€ เชจเชœเซ€เช• เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซเช‚ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชชเซ€เชก เชธเชฎเชพเชชเซเชค เชฅเชˆ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.
  • เชธเช‚เชธเซเช•เชฐเชฃ เชฒเซ‹ เชซเชฟเชฏเซ‹ 3.5 เช•เชฐเชคเชพ เช“เช›เซเช‚ เชจเชฅเซ€ (เช…เช—เชพเช‰เชจเชพ เชฒเซ‹เช•เซ‹ fdatasync เชธเชฎเชฏเช—เชพเชณเซ‹ เชชเชฐเซเชธเชจเซเชŸเชพเช‡เชฒเซเชธ เชฌเชคเชพเชตเชคเชพ เชจเชฅเซ€).
  • เช‰เชชเชฐ เชฎเชพเชคเซเชฐ fio เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ€ เชธเซเชจเชฟเชชเซ‡เชŸ เช›เซ‡.

fio เช…เชจเซ‡ etcd เชตเชฟเชถเซ‡ เชฒเชพเช‚เชฌเซ€ เชตเชพเชฐเซเชคเชพ

เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚ WAL เชถเซเช‚ เช›เซ‡

เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡ เช†เช—เชณ เชฒเช–เซ‹ เชฒเซ‹เช—; etcd เชชเชฃ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เช…เชนเซ€เช‚ เชฐเชพเชˆเชŸ-เชนเซ‡เชก เชฒเซ‹เช— (WAL)เชจเซ€ เชตเชฟเช—เชคเชตเชพเชฐ เชšเชฐเซเชšเชพ เช•เชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚. เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชœเชพเชฃเชตเซเช‚ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡ เช•เซ‡ etcd เช•เซเชฒเชธเซเชŸเชฐเชจเชพ เชฆเชฐเซ‡เช• เชธเชญเซเชฏ เชคเซ‡เชจเซ‡ เชธเชคเชค เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‡ เช›เซ‡. etcd เชธเซเชŸเซ‹เชฐ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฆเชฐเซ‡เช• เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เช“เชชเชฐเซ‡เชถเชจ (เชœเซ‡เชฎ เช•เซ‡ เช…เชชเชกเซ‡เชŸ) WAL เชชเชฐ เชฒเช–เซ‡ เช›เซ‡. เชœเซ‹ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชญเซเชฏเซ‹เชฎเชพเช‚เชฅเซ€ เชเช• เช•เซเชฐเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชธเซเชจเซ‡เชชเชถเซ‹เชŸ เชตเชšเซเชšเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชฅเชพเชฏ เช›เซ‡, เชคเซ‹ เชคเซ‡ WAL เชธเชพเชฎเช—เซเชฐเซ€ เชฆเซเชตเชพเชฐเชพ เช›เซ‡เชฒเซเชฒเชพ เชธเซเชจเซ‡เชชเชถเซ‹เชŸเชฅเซ€ เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ เชตเซเชฏเชตเชนเชพเชฐเซ‹ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชธเซเชŸเซ‹เชฐเชฎเชพเช‚ เช•เซ€ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชนเชพเชฒเชจเซ€ เช•เซ€เชจเซ€ เช•เชฟเช‚เชฎเชค เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ etcd เช“เชชเชฐเซ‡เชถเชจเชจเซ‡ WAL เชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชชเชฐเซเชธเชฟเชธเซเชŸเชจเซเชŸ เชธเซเชŸเซ‹เชฐเซ‡เชœเชฎเชพเช‚ เชจเชฟเชฏเชฎเชฟเชค เชซเชพเช‡เชฒ เช›เซ‡. เชตเช—เซ‡เชฐเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชšเชพเชฒเซ เชฐเชพเช–เชคเชพ เชชเชนเซ‡เชฒเชพ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช–เชพเชคเชฐเซ€ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช เช•เซ‡ WAL เชเชจเซเชŸเซเชฐเซ€ เช–เชฐเซ‡เช–เชฐ เช†เชตเซ€ เช›เซ‡. Linux เชชเชฐ, เช† เชฎเชพเชŸเซ‡ เชเช• เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เชชเซ‚เชฐเชคเซ‹ เชจเชฅเซ€. เชฒเช–เซ€, เช•เชพเชฐเชฃ เช•เซ‡ เชญเซŒเชคเชฟเช• เชธเช‚เช—เซเชฐเชน เชชเชฐ เชตเชพเชธเซเชคเชตเชฟเช• เชฒเช–เชตเชพเชฎเชพเช‚ เชตเชฟเชฒเช‚เชฌ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 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 เช•เชฐเชคเชพ เช“เช›เซ‹ เชธเชฎเชฏ เชฒเซ‡ เชคเซ‹ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชเชกเชชเซ€ เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ เช‰เชชเชฏเซ‹เช—เซ€ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชชเซ‹เชธเซเชŸเชฎเชพเช‚ เช…เชฎเซ‡ เชซเช•เซเชค เช† เชฎเซ‡เชŸเซเชฐเชฟเช• เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

fio เชธเชพเชฅเซ‡ เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‹ เช…เช‚เชฆเชพเชœ เชฒเช—เชพเชตเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ€เช

เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช•เซ‡ เชคเชฎเชพเชฐเซเช‚ เชธเซเชŸเซ‹เชฐเซ‡เชœ etcd เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ, fio เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชเช• เช–เซ‚เชฌ เชœ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ I/O เชฒเซ‹เชก เชชเชฐเซ€เช•เซเชทเชฃ เชธเชพเชงเชจ. เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชกเชฟเชธเซเช• เช“เชชเชฐเซ‡เชถเชจเซเชธ เช–เซ‚เชฌ เชœ เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡: เชธเชฟเช‚เช•เซเชฐเชจเชธ เช…เชจเซ‡ เช…เชธเซเชฎเซ‡เชณ, เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเชพ เช˜เชฃเชพ เชตเชฐเซเช—เซ‹, เชตเช—เซ‡เชฐเซ‡. เชชเชฐเชฟเชฃเชพเชฎเซ‡, fio เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชคเชฆเซเชฆเชจ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชคเซ‡เชฎเชพเช‚ เช˜เชฃเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฎเชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชฏเซ‹เชœเชจเซ‹ เช–เซ‚เชฌ เชœ เช…เชฒเช— I/O เชตเชฐเซเช•เชฒเซ‹เชก เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ‡ เช›เซ‡. etcd เชฎเชพเชŸเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เช†เช‚เช•เชกเชพ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช เช•เซ‡ WAL เชซเชพเชˆเชฒเซ‹ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡ fio เชฎเชพเช‚เชฅเซ€ เชŸเซ‡เชธเซเชŸ เชฐเชพเชˆเชŸ เชฒเซ‹เชก etcd เชจเชพ เชตเชพเชธเซเชคเชตเชฟเช• เชฒเซ‹เชกเชจเซ€ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชจเชœเซ€เช• เช›เซ‡.

เชคเซ‡เชฅเซ€, fio เช, เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚, เชซเชพเช‡เชฒ เชชเชฐ เชธเชณเช‚เช— เชฒเช–เชพเชฃเซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชฒเซ‹เชก เชฌเชจเชพเชตเชตเซ‹ เชœเซ‹เชˆเช, เชฆเชฐเซ‡เช• เชฒเช–เชพเชฃเชฎเชพเช‚ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชถเซ‡. เชฒเช–เซ€fdatasync เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เชฆเซเชตเชพเชฐเชพ เช…เชจเซเชธเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. fio เชจเซ‡ เช…เชจเซเช•เซเชฐเชฎเชฟเช• เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ --rw=write เชตเชฟเช•เชฒเซเชชเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. fio เชฎเชพเชŸเซ‡ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡ เชฐเชพเช‡เชŸ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชฒเช–เซ‹, เชคเชฎเชพเชฐเซ‡ --ioengine=sync เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช. เช›เซ‡เชฒเซเชฒเซ‡, เชฆเชฐเซ‡เช• เชฒเช–เชพเชฃ เชชเช›เซ€ fdatasync เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ --fdatasync=1 เชชเชฐเชฟเชฎเชพเชฃ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เช…เชจเซเชฏ เชฌเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ (--size เช…เชจเซ‡ -bs) เชธเซเช•เซเชฐเชฟเชชเซเชŸ-เชตเชฟเชถเชฟเชทเซเชŸ เช›เซ‡. เช†เช—เชฒเชพ เชตเชฟเชญเชพเช—เชฎเชพเช‚, เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เชคเซ‡ เชฌเชคเชพเชตเซ€เชถเซเช‚.

เชถเชพ เชฎเชพเชŸเซ‡ fio เช…เชจเซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเซ€เช–เซเชฏเชพ

เช† เชชเซ‹เชธเซเชŸเชฎเชพเช‚, เช…เชฎเซ‡ เชเช• เชตเชพเชธเซเชคเชตเชฟเช• เช•เซ‡เชธเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เช›เซ‡ เช•เซเชฏเซเชฌเชฐเซเชจเซ‡เชŸเชฟเชธ v1.13 เชœเซ‡เชจเซเช‚ เช…เชฎเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชธเชพเชฅเซ‡ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚. etcd v3.2.24 เช SSD เชชเชฐ เชนเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. Etcd เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเซ‡ fdatasync เชฒเซ‡เชŸเชจเซเชธเซ€ เช–เซ‚เชฌ เชŠเช‚เชšเซ€ เชฆเชฐเซเชถเชพเชตเซ€ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เช•เช‚เชˆ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เชจ เชนเชคเซเช‚. เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชตเชฟเชšเชฟเชคเซเชฐ เชนเชคเชพ เช…เชจเซ‡ เช…เชฎเชจเซ‡ เช–เชฐเซ‡เช–เชฐ เช–เชฌเชฐ เชจ เชนเชคเซ€ เช•เซ‡ เชคเซ‡เชจเซ‹ เช…เชฐเซเชฅ เชถเซเช‚ เช›เซ‡. เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡ เชธเชฎเชœเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚ เช•เซ‡ เชธเชฎเชธเซเชฏเชพ เชถเซเช‚ เช›เซ‡: เชญเซŒเชคเชฟเช• SSDs เช…เชฅเชตเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒเชพเชˆเชเซ‡เชถเชจ เชธเซเชคเชฐเชฎเชพเช‚. เชตเชงเซเชฎเชพเช‚, เช…เชฎเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช…เชจเซ‡ เชธเซ‰เชซเซเชŸเชตเซ‡เชฐ เช—เซ‹เช เชตเชฃเซ€เชฎเชพเช‚ เชตเชพเชฐเช‚เชตเชพเชฐ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชคเซ‡เชฎเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชจเซ€ เชฐเซ€เชคเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฎเซ‡ เชฆเชฐเซ‡เช• เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชฎเชพเช‚ etcd เชšเชฒเชพเชตเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เชœเซ‹เชˆ เชถเช•เซ€เช เช›เซ€เช, เชชเชฐเช‚เชคเซ เชคเซ‡ เช–เซ‚เชฌ เชœ เชฎเซเชถเซเช•เซ‡เชฒเซ€ เช›เซ‡. เช…เชฎเซ‡ เชšเซ‹เช•เซเช•เชธ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เชฐเซ€เชค เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เชนเชคเชพ. เช…เชฎเซ‡ เชตเช—เซ‡เชฐเซ‡ เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚เชฅเซ€ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซ€เช เช›เซ€เช เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชชเชพเชธเชตเชพ เชฎเชพเช—เซ€เช เช›เซ€เช.

เชชเชฐเช‚เชคเซ เช† เชฎเชพเชŸเซ‡, เชฌเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเชตเชพเชจเซ€ เชนเชคเซ€. เชชเซเชฐเชฅเชฎ, WAL เชชเชฐ เชฒเช–เชคเซ€ เชตเช–เชคเซ‡ etcd เชœเซ‡ I/O เชฒเซ‹เชก เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชคเซ‡ เช•เซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡? เช•เชฏเชพ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡? เชฐเซ‡เช•เซ‹เชฐเซเชกเชจเซเช‚ เช•เชฆ เช•เซ‡เชŸเชฒเซเช‚ เช›เซ‡? เชฌเซ€เชœเซเช‚, เชœเซ‹ เช†เชชเชฃเซ‡ เช† เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌ เช†เชชเซ€เช, เชคเซ‹ เช†เชชเชฃเซ‡ เชซเชฟเช“ เชธเชพเชฅเซ‡ เชธเชฎเชพเชจ เชตเชฐเซเช•เชฒเซ‹เชกเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชฟเชค เช•เชฐเซ€เชถเซเช‚? เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚ เช•เซ‡ fio เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เชธเชพเชฅเซ‡ เช–เซ‚เชฌ เชœ เชฒเชตเชšเซ€เช• เชธเชพเชงเชจ เช›เซ‡. เช…เชฎเซ‡ เชฌเช‚เชจเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เชเช• เช…เชญเชฟเช—เชฎเชฎเชพเช‚ เชนเชฒ เช•เชฐเซ€ - เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ lsof ะธ เชธเซเชŸเซเชฐเซ‡เชธ. lsof เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเซเชตเชพเชฐเชพ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชคเชฎเชพเชฎ เชซเชพเช‡เชฒ เชตเชฐเซเชฃเชจเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชซเชพเช‡เชฒเซ‹เชจเซ€ เชฏเชพเชฆเซ€ เช†เชชเซ‡ เช›เซ‡. เช…เชจเซ‡ เชธเซเชŸเซเชฐเซ‡เชธ เชธเชพเชฅเซ‡, เชคเชฎเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชšเช•เชพเชธเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชฅเชตเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. strace เชคเชชเชพเชธเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ‡เชฒเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ (เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“)เชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ‡ เช›เชพเชชเซ‡ เช›เซ‡. เชฌเชพเชฆเชฎเชพเช‚ เช–เซ‚เชฌ เชœ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ etcd เชฎเชพเชคเซเชฐ เชเช• เชธเชฎเชพเชจ เช…เชญเชฟเช—เชฎ เช…เชชเชจเชพเชตเซ‡ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เช•เซ‹เชˆ เชญเชพเชฐ เชจ เชนเชคเซ‹ เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ etcd เชธเชฐเซเชตเชฐเชจเซเช‚ เช…เชจเซเชตเซ‡เชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซŒเชชเซเชฐเชฅเชฎ เชธเซเชŸเซเชฐเซ‡เชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เช…เชฎเซ‡ เชœเซ‹เชฏเซเช‚ เช•เซ‡ เชฒเช—เชญเช— เชคเชฎเชพเชฎ WAL เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฒเช—เชญเช— เชธเชฎเชพเชจ เช•เชฆเชจเชพ เชนเชคเชพ: 2200-2400 เชฌเชพเช‡เชŸเซเชธ. เชคเซ‡เชฅเซ€, เชชเซ‹เชธเซเชŸเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช†เชฆเซ‡เชถเชฎเชพเช‚, เช…เชฎเซ‡ เชชเชฐเชฟเชฎเชพเชฃ -bs=2300 (bs เชเชŸเชฒเซ‡ เชฆเชฐเซ‡เช• เชซเชฟเช“ เชเชจเซเชŸเซเชฐเซ€ เชฎเชพเชŸเซ‡ เชฌเชพเชˆเชŸเชฎเชพเช‚ เชฎเชพเชช) เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡. เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ etcd เชเชจเซเชŸเซเชฐเซ€เชจเซเช‚ เช•เชฆ etcd เชธเช‚เชธเซเช•เชฐเชฃ, เชตเชฟเชคเชฐเชฃ, เชชเชฐเชฟเชฎเชพเชฃ เชฎเซ‚เชฒเซเชฏเซ‹ เชตเช—เซ‡เชฐเซ‡ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡, เช…เชจเซ‡ fdatasync เชธเชฎเชฏเช—เชพเชณเชพเชจเซ‡ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชฎเชพเชจ เชฆเซƒเชถเซเชฏ เช›เซ‡, เชคเซ‹ เชšเซ‹เช•เซเช•เชธ เชธเช‚เช–เซเชฏเชพเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ€ เชตเช—เซ‡เชฐเซ‡เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เชธเซเชŸเซเชฐเซ‡เชธ เชธเชพเชฅเซ‡ เชคเชชเชพเชธเซ‹.

เชชเช›เซ€, etcd เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชถเซเช‚ เช•เชฐเซ€ เชฐเชนเซ€ เช›เซ‡ เชคเซ‡เชจเซ‹ เชธเชพเชฐเซ‹ เช–เซเชฏเชพเชฒ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ strace เช…เชจเซ‡ -ffttT เชตเชฟเช•เชฒเซเชชเซ‹เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚. เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช•เชจเชพ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชเช• เช…เชฒเช— เชซเชพเช‡เชฒเชฎเชพเช‚ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹, เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเชจเซ€ เชถเชฐเซ‚เช†เชค เช…เชจเซ‡ เช…เชตเชงเชฟ เชตเชฟเชถเซ‡ เชตเชฟเช—เชคเชตเชพเชฐ เช…เชนเซ‡เชตเชพเชฒเซ‹ เชชเชฃ เชฎเซ‡เชณเชตเซเชฏเชพ. เช…เชฎเซ‡ strace เช†เช‰เชŸเชชเซเชŸเชจเชพ เช…เชฎเชพเชฐเชพ เชชเซƒเชฅเซเชฅเช•เชฐเชฃเชจเซ€ เชชเซเชทเซเชŸเชฟ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ lsof เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช…เชจเซ‡ เชœเซเช“ เช•เซ‡ เช•เชฏเชพ เชนเซ‡เชคเซ เชฎเชพเชŸเซ‡ เช•เชˆ เชซเชพเช‡เชฒ เชกเชฟเชธเซเช•เซเชฐเซ€เชชเซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡. เชคเซ‡เชฅเซ€ เชธเซเชŸเซเชฐเซ‡เชธเชจเซ€ เชฎเชฆเชฆเชฅเซ€, เช‰เชชเชฐ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซ‡เชถเชจ เชธเชฎเชฏเชจเชพ เช†เช‚เช•เชกเชพ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ etcd เชฎเชพเช‚เชฅเซ€ wal_fsync_duration_seconds WAL เชซเชพเช‡เชฒ เชตเชฐเซเชฃเชจเช•เชฐเซเชคเชพเช“ เชธเชพเชฅเซ‡ fdatasync เช•เซ‰เชฒเซเชธ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชค เช›เซ‡.

เช…เชฎเซ‡ fio เชฎเชพเชŸเซ‡เชจเชพ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชฏเชพ เช…เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฎเชพเชŸเซ‡ เชตเชฟเช•เชฒเซเชชเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเชพ เชœเซ‡เชฅเซ€ fio เช etcd เชœเซ‡เชตเซ‹ เชœ เชฒเซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡. เช…เชฎเซ‡ etcd เชจเซ€ เชœเซ‡เชฎ strace เชฎเชพเช‚เชฅเซ€ fio เชšเชฒเชพเชตเซ€เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเซเชธ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เช…เชตเชงเชฟ เชชเชฃ เชคเชชเชพเชธเซ€.

เช…เชฎเซ‡ fio เชจเชพ เชธเชฎเช—เซเชฐ I/O เชฒเซ‹เชกเชจเซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ --size เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชจเซ€ เช•เชฟเช‚เชฎเชค เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชชเชธเช‚เชฆ เช•เชฐเซ€ เช›เซ‡. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช† เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฐ เชฒเช–เซ‡เชฒ เชฌเชพเชˆเชŸเซเชธเชจเซ€ เช•เซเชฒ เชธเช‚เช–เซเชฏเชพ เช›เซ‡. เชคเซ‡ เชฒเช–เชตเชพ (เช…เชจเซ‡ fdatasync) เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเชพ เชธเซ€เชงเชพ เชชเซเชฐเชฎเชพเชฃเชธเชฐ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡. bs เชจเชพ เชšเซ‹เช•เซเช•เชธ เชฎเซ‚เชฒเซเชฏ เชฎเชพเชŸเซ‡, fdatasync เช•เซ‰เชฒเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ = เช•เชฆ/bs. เช…เชฎเชจเซ‡ เชชเชฐเซเชธเซ‡เชจเซเชŸเชพเชˆเชฒเชฎเชพเช‚ เชฐเชธ เชนเซ‹เชตเชพเชฅเซ€, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเชพ เชจเชฎเซ‚เชจเชพเช“ เชนเซ‹เชตเชพ เชœเชฐเซ‚เชฐเซ€ เชนเชคเชพ, เช…เชจเซ‡ เช…เชฎเซ‡ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€ เช•เซ‡ 10^4 เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเชพ เชนเชถเซ‡ (เชคเซ‡ 22 เชฎเซ‡เชฌเซ€เชฌเชพเชˆเชŸ เช›เซ‡). เชœเซ‹ --size เชจเชพเชจเซ€ เชนเซ‹เชฏ, เชคเซ‹ เช†เช‰เชŸเชฒเซ€เชฏเชฐ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช˜เชฃเชพ fdatasync เช•เซ‰เชฒ เชธเชพเชฎเชพเชจเซเชฏ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชฎเชฏ เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ 99เชฎเซ€ เชชเชฐเซเชธเซ‡เชจเซเชŸเชพเชˆเชฒเชจเซ‡ เช…เชธเชฐ เช•เชฐเซ‡ เช›เซ‡).

เชคเซ‡ เชœเชพเชคเซ‡ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹

เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชฌเชคเชพเชตเซเชฏเซเช‚ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ fio เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช…เชจเซ‡ เชœเซเช“ เช•เซ‡ เชถเซเช‚ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชเชŸเชฒเซ‹ เชเชกเชชเซ€ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชธเชพเชฐเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‡. เชนเชตเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช…เชœเชฎเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, SSD เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เช†เช‡เชฌเซ€เชเชฎ เช•เซเชฒเชพเช‰เชก.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹