เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจชเฉ€เจก เจ†เจฆเจฟ เจฒเจˆ เจขเฉเจ•เจตเฉ€เจ‚ เจนเฉˆ? เจ†เจ“ เจซเจฟเจ“ เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เฉ€เจ

เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจชเฉ€เจก เจ†เจฆเจฟ เจฒเจˆ เจขเฉเจ•เจตเฉ€เจ‚ เจนเฉˆ? เจ†เจ“ เจซเจฟเจ“ เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เฉ€เจ

เจซเจฟเจ“ เจ…เจคเฉ‡ เจ†เจฆเจฟ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจ•เจนเจพเจฃเฉ€

เจ•เจฒเฉฑเจธเจŸเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ†เจฆเจฟ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ‡เจธเจฆเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค etcd เจ•เฉเจ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจเจ•เจธเจชเฉ‹เจฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ Prometheusเจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, wal_fsync_duration_seconds เจฎเฉˆเจŸเฉเจฐเจฟเจ•เฅค etcd เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ: เจธเจŸเฉ‹เจฐเฉ‡เจœ เจจเฉ‚เฉฐ เจ•เจพเจซเจผเฉ€ เจคเฉ‡เจœเจผ เจฎเฉฐเจจเฉ‡ เจœเจพเจฃ เจฒเจˆ, เจ‡เจธ เจฎเฉˆเจŸเฉเจฐเจฟเจ• เจฆเจพ 99เจตเจพเจ‚ เจชเฉเจฐเจคเฉ€เจธเจผเจค 10ms เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฒเฉ€เจจเจ•เจธ เจฎเจธเจผเฉ€เจจเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• etcd เจ•เจฒเฉฑเจธเจŸเจฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ•เฉ€ เจคเฉเจนเจพเจกเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ•เจพเจซเจผเฉ€ เจคเฉ‡เจœเจผ เจนเฉˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ SSD), เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจซเจฟเจ“ I/O เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเจธเจฟเฉฑเจง เจธเฉฐเจฆ เจนเฉˆเฅค เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“, เจœเจฟเฉฑเจฅเฉ‡ test-data เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฎเจพเจŠเจ‚เจŸ เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจนเฉˆ:

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 เจ…เจคเฉ‡ etcd เจฌเจพเจฐเฉ‡ เจฒเฉฐเจฌเฉ€ เจ•เจนเจพเจฃเฉ€

เจ†เจฆเจฟ เจตเจฟเฉฑเจš WAL เจ•เฉ€ เจนเฉˆ?

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ เจฒเจฟเจ–เจฃ-เจ…เฉฑเจ—เฉ‡ เจฒเจพเจ—; etcd เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจฅเฉ‡ เจฐเจพเจˆเจŸ-เจนเฉ‡เจก เจฒเฉŒเจ— (WAL) เจฌเจพเจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจšเจฐเจšเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจธเจพเจกเฉ‡ เจฒเจˆ เจ‡เจน เจœเจพเจฃเจจเจพ เจ•เจพเจซเจผเฉ€ เจนเฉˆ เจ•เจฟ etcd เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพ เจนเจฐเฉ‡เจ• เจฎเฉˆเจ‚เจฌเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจจเจฟเจฐเฉฐเจคเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค etcd เจธเจŸเฉ‹เจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ WAL เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจ•เฉเฉฐเจœเฉ€-เจฎเฉเฉฑเจฒ เจ•เจพเจฐเจตเจพเจˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เฉฑเจชเจกเฉ‡เจŸ) เจฒเจฟเจ–เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เฉเจฐเฉˆเจธเจผ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน WAL เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉเจ†เจฐเจพ เจ†เจ–เจฐเฉ€ เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจฅเจพเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เฉเฉฐเจœเฉ€-เจฎเฉเฉฑเจฒ เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉเฉฐเจœเฉ€ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ, etcd เจ“เจชเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ WAL เจตเจฟเฉฑเจš เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจจเจฟเจฐเฉฐเจคเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจซเจพเจˆเจฒ เจนเฉˆเฅค etcd เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฏเจ•เฉ€เจจเฉ€ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ WAL เจเจ‚เจŸเจฐเฉ€ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ†เจˆ เจนเฉˆเฅค เจฒเฉ€เจจเจ•เจธ 'เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจฒเจฟเจ–เจฃ เจฆเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจญเฉŒเจคเจฟเจ• เจธเจŸเฉ‹เจฐเฉ‡เจœ เจจเฉ‚เฉฐ เจ…เจธเจฒ เจฒเจฟเจ–เจฃ เจตเจฟเฉฑเจš เจฆเฉ‡เจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฒเฉ€เจจเจ•เจธ เจ•เฉเจ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจ•เจฐเจจเจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เฉฑเจ• เจชเฉฐเจจเจพ เจ•เฉˆเจธเจผ) เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• 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 เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเฉ‚เฉฐ เจจเฉเจ•เจธเจพเจจ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค etcd เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆเจ•เจฟ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจจเฉ‚เฉฐ เจ•เจพเจซเจผเฉ€ เจคเฉ‡เจœเจผ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ, 99เจตเฉ‡เจ‚ เจชเจฐเจธเฉˆเจ‚เจŸเจพเจˆเจฒ เจตเจฟเฉฑเจš, fdatasync เจ•เจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ WAL เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฃ เจฒเจˆ 10ms เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฒเจˆ เจนเฉ‹เจฐ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจนเจจ, เจชเจฐ เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจ‡เจธ เจฎเฉˆเจŸเฉเจฐเจฟเจ• เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚.

fio เจจเจพเจฒ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเจพ เจ…เจจเฉเจฎเจพเจจ เจฒเจ—เจพเจ‡เจ† เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจคเฉเจนเจพเจกเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ etcd เจฒเจˆ เจขเฉเจ•เจตเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ fio เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹, เจ‡เฉฑเจ• เจฌเจนเฉเจค เจฎเจธเจผเจนเฉ‚เจฐ I/O เจฒเฉ‹เจก เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจŸเฉ‚เจฒเฅค เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจกเจฟเจธเจ• เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฌเจนเฉเจค เจตเฉฑเจ–เจฐเฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ: เจธเจฎเจ•เจพเจฒเฉ€ เจ…เจคเฉ‡ เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ, เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจˆ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚, เจ†เจฆเจฟเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจซเจฟเจ“ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจ•เจพเจซเจผเฉ€ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฎเจพเจชเจฆเฉฐเจก เจนเจจ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉฐเจœเฉ‹เจ— เจฌเจนเฉเจค เจตเฉฑเจ–เจฐเฉ‡ I/O เจตเจฐเจ•เจฒเฉ‹เจก เจชเฉˆเจฆเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค etcd เจฒเจˆ เจขเฉเจ•เจตเฉ‡เจ‚ เจ…เฉฐเจ•เฉœเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ WAL เจซเจพเจˆเจฒเจพเจ‚ เจฒเจฟเจ–เจฃ เจตเฉ‡เจฒเฉ‡ fio เจคเฉ‹เจ‚ เจŸเฉˆเจธเจŸ เจฒเจฟเจ–เจฃ เจฆเจพ เจฒเฉ‹เจก etcd เจคเฉ‹เจ‚ เจ…เจธเจฒ เจฒเฉ‹เจก เจฆเฉ‡ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉ‹เจตเฉ‡เฅค

เจ‡เจธ เจฒเจˆ, fio เจจเฉ‚เฉฐ, เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ, เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉเจฐเจฎเจตเจพเจฐ เจฒเจฟเจ–เจคเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจฆเจพ เจ‡เฉฑเจ• เจฒเฉ‹เจก เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจนเจฐเฉ‡เจ• เจฒเจฟเจ–เจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจฒเจฟเจ–เจฃ เจฆเฉ€fdatasync เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆเฅค fio เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจตเจพเจฐ เจฒเจฟเจ–เจฃ เจฒเจˆ --rw=write เจตเจฟเจ•เจฒเจช เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค fio เจฒเจˆ เจฒเจฟเจ–เจฃ เจตเฉ‡เจฒเฉ‡, เจจเจพ เจ•เจฟ เจฒเจฟเจ–เจฃ เจตเฉ‡เจฒเฉ‡ เจฐเจพเจˆเจŸ เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจฒเจฟเจ–เฉ‹, เจคเฉเจนเจพเจจเฉ‚เฉฐ --ioengine=sync เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจนเจฐเฉ‡เจ• เจฒเจฟเจ–เจค เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ fdatasync เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ --fdatasync=1 เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจธ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจฆเฉ‹ เจตเจฟเจ•เจฒเจช (--เจ†เจ•เจพเจฐ เจ…เจคเฉ‡ -bs) เจธเจ•เฉเจฐเจฟเจชเจŸ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจนเจจเฅค เจ…เจ—เจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจนเฉˆเฅค

fio เจ•เจฟเจ‰เจ‚ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจธเจฟเฉฑเจ–เจฟเจ†

เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ…เจธเจฒ เจ•เฉ‡เจธ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚. เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจนเฉˆ เจ•เจฌเจฐเจจเฉ‡เจŸเจฟเจธ v1.13 เจœเจฟเจธเจฆเฉ€ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจจเจพเจฒ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เฉ€เจคเฉ€เฅค etcd v3.2.24 เจจเฉ‚เฉฐ เจ‡เฉฑเจ• SSD เจ‰เฉฑเจคเฉ‡ เจนเฉ‹เจธเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค Etcd เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‡ fdatasync เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฆเจฟเจ–เจพเจ‡เจ†, เจญเจพเจตเฉ‡เจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจธเฉ€เฅค เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจ…เจœเฉ€เจฌ เจธเจจ เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจชเจคเจพ เจธเฉ€ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ•เฉ€ เจฎเจคเจฒเจฌ เจนเฉˆเฅค เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจธเจผเจพเจฎเจฒ เจธเจจ, เจ‡เจน เจธเจฎเจเจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจ•เฉ€ เจธเฉ€: เจญเฉŒเจคเจฟเจ• SSD เจตเจฟเฉฑเจš เจœเจพเจ‚ เจตเจฐเจšเฉเจ…เจฒเจพเจˆเจœเฉ‡เจธเจผเจจ เจฒเฉ‡เจ…เจฐ เจตเจฟเฉฑเจšเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ…เจ•เจธเจฐ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ…เจคเฉ‡ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เฉ‡ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจนเจฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš etcd เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจ‡เจน เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเฉฐเจฐเจšเจจเจพ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจพเจซเจผเฉ€ เจธเจฐเจฒ เจคเจฐเฉ€เจ•เจพ เจฒเฉฑเจญ เจฐเจนเฉ‡ เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€ เจ•เจฟ เจ•เฉ€ เจ…เจธเฉ€เจ‚ etcd เจคเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจธเจฎเจเจฆเฉ‡ เจนเจพเจ‚เฅค

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

เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ etcd เจธเจฐเจตเจฐ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจŸเจฐเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจฆเฉ‹เจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจฒเฉ‹เจก เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจ•เจฟ เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ WAL เจฐเจฟเจ•เจพเจฐเจก เจ‡เฉฑเจ•เฉ‹ เจ†เจ•เจพเจฐ เจฆเฉ‡ เจธเจจ: 2200-2400 เจฌเจพเจˆเจŸเฅค เจ‡เจธเจฒเจˆ, เจชเฉ‹เจธเจŸ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจก เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ -bs=2300 (bs เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจนเจฐเฉ‡เจ• fio เจเจ‚เจŸเจฐเฉ€ เจฒเจˆ เจฌเจพเจˆเจŸเจธ เจตเจฟเฉฑเจš เจ†เจ•เจพเจฐ) เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ etcd เจเจ‚เจŸเจฐเฉ€ เจฆเจพ เจ†เจ•เจพเจฐ etcd เจธเฉฐเจธเจ•เจฐเจฃ, เจตเฉฐเจก, เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฎเฉเฉฑเจฒ, เจ†เจฆเจฟ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ fdatasync เจฎเจฟเจ†เจฆ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเฉ€ เจ…เจœเจฟเจนเจพ เจนเฉ€ เจฆเฉเจฐเจฟเจธเจผ เจนเฉˆ, เจคเจพเจ‚ เจธเจนเฉ€ เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ เจธเจŸเจฐเฉ‡เจธ เจจเจพเจฒ เจ†เจชเจฃเฉ€เจ†เจ‚ etcd เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹เฅค

เจซเจฟเจฐ, etcd เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ•เฉ€ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจตเจฟเจšเจพเจฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเจŸเฉเจฐเฉˆเจธ เจ…เจคเฉ‡ -ffttT เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจšเจพเจˆเจฒเจก เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจฆเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ…เจคเฉ‡ เจฎเจฟเจ†เจฆ เจฌเจพเจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจตเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เจ†เจ‚เฅค เจ…เจธเฉ€เจ‚ เจธเจŸเฉเจฐเฉˆเจธ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฆเฉ‡ เจธเจพเจกเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจจ เจฒเจˆ lsof เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจซเจพเจˆเจฒ เจกเจฟเจธเจ•เฉเจฐเจฟเจชเจŸเจฐ เจ•เจฟเจธ เจฎเจ•เจธเจฆ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจฐเจฟเจนเจพ เจธเฉ€เฅค เจ‡เจธ เจฒเจˆ เจธเจŸเจฐเฉ‡เจธ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ, เจ‰เฉฑเจชเจฐ เจฆเจฟเจ–เจพเจ เจ—เจ เจจเจคเฉ€เจœเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ. เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‡ เจชเฉเจธเจผเจŸเฉ€ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจ•เจฟ etcd เจคเฉ‹เจ‚ wal_fsync_duration_seconds WAL เจซเจพเจˆเจฒ เจกเจฟเจธเจ•เฉเจฐเจฟเจชเจŸเจฐเจพเจ‚ เจจเจพเจฒ fdatasync เจ•เจพเจฒเจพเจ‚ เจจเจพเจฒ เจ‡เจ•เจธเจพเจฐ เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ fio เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เฉ‡ เจ…เจคเฉ‡ เจธเจพเจกเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจˆ เจตเจฟเจ•เจฒเจช เจšเฉเจฃเฉ‡ เจคเจพเจ‚ เจœเฉ‹ fio etcd เจตเจฐเจ—เจพ เจฒเฉ‹เจก เจชเฉˆเจฆเจพ เจ•เจฐเฉ‡เฅค เจ…เจธเฉ€เจ‚ เจธเจŸเจฐเฉ‡เจธ เจคเฉ‹เจ‚ fio เจšเจฒเจพ เจ•เฉ‡ เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฟเจ†เจฆ เจฆเฉ€ เจตเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€, etcd เจตเจพเจ‚เจ—เฅค

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

เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹

เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเจ–เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ fio เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ•เฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ•เจฐเจจ เจฒเจˆ etcd เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจคเฉ‡เจœเจผ เจนเฉˆเฅค เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, SSD เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจพเจฒเฉ€เจ†เจ‚ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจ†เจˆเจฌเฉ€เจเจฎ เจฌเฉฑเจฆเจฒ.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹