ααΏαααααΈα’αααΈ fio αα·α αα
ααΆαα’αα»ααααα
ααααα
fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest
α’αααααααΆααααααααΌαααΎααααααα α αΎααα·αα·αααααΎαααΆααΆαααααΈ 99 αααααααα
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 αααααα ααααα»αααααα’αααααΉαα’ααααααΏαα αΎαα
- αααααα
fio αα·ααα·α ααΆα α¨α (ααΈαα»ααα·ααααα αΆαααΆααααααααα fdatasync) α - ααΆαβααΎβααΊβααααΆααβααβααΆβαααααβαα½αβααβααααααβααΈ fioα
ααΏααααα’αααΈ fio αα·α αα
ααΎα’αααΈαα ααΆ WAL αα αααα»α αα
ααΆααααααΆααΌαααααΆααα·ααααααααααΎ
αα
ααααααΆαααΈααααααααααααααΌααααα
ααααΆαααααααααα α¬ααααΎαα
αα
α»ααααααααΆαααααααααααααααΆαααααΆαα α.α αααααααΆααααα·ααααα·ααΆααα
αααα»α WAL αααααΆα―αααΆαααααααΆαα
αααα»αααΆααααα»αααΆααααΆααα etcd ααααΌαααααααΆααααΆαααααα»αααΆααΆαα» 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 ααΉααααα»αααα
ααΆααααΆααααααΆαααα ααααα»αααΆαα½α fio
ααααα·αααΎα’αααααααΌαααΆαααΆααααααααΆααΎααα ααααα»αααααα’αααααΆαααααΉα etcd ααΌαααααΎ fio αααααΆα§αααααααααΎααααααααα»α I/O ααααααα·ααα ααΆαα½αααααααΌαααΆαα αα αΆααααα»αα α·αααααΆ ααααα·ααααα·ααΆαααΆαα’αΆα ααΆαααΆααα»αααααΆααααΆααα ααΆαααααΎααααΆααααα αα·αα’ααααΆα ααααΆααααΆα αααΎαααααΆαα α ααααααααααα ααΆαααααα fio αα·ααΆαααααΎααΆααα ααΆααΆααααΆαααΆααααααααΆα αααΎα α αΎαααΆααααααααααααααααΆαααααααααααααΆαααααΎαααααα»αααΆαααΆα I/O αα»αααααΆααααΆααα ααΎααααΈααα½αααΆααα½αααααααααααααΆαααααααΆαα etcd α’ααααα½αααααααΆααααΆααΆαααααΎαααααααααααααα»αααΈ fio ααΊαα αα·ααααα»αααΆααααα’αΆα ααααΎαα ααΆααα ααΉαααααα»αααΆαααααααααΈ etcd αα ααααααααα―αααΆα WAL α
ααΌα
αααα fio αα½ααααααααΎαααααα»ααααααααΈααααΆααααααααΆαααααααααΆαααα
ααΆααα―αααΆα ααΆααααααααΈαα½ααααΉαααΆαααΆαα α
ααααααααα
α ααα»α’αααΈααΆαααΆ fio αα·αααααΆαα αα·ααααααααααΎαααααααα αααΆα
αα
αααα»αααΆααααααΆαααα ααΎααααααΆααα’αααΈααααΈαα·ααα½αα ααΎαβααΆαβα
ααααα
ααα»αααααααααΆαααααα αΆααα αααα αΆααΈαααααΌααααααααΆαα ααΈαα½α ααΎααΆααααα»α I/O ααα etcd αααααΎααα
αααααααααα
WAL ααΎααα
ααΌα
α’αααΈ? ααΎβααΆαβα α
βααΌαααααβααααααααβα’αααΈβααααΌαβααΆαβααααΎ? ααΎαααααααααΆααΆαααα αααα»αααΆ? ααΈααΈα ααααα·αααΎααΎαααααΎααααα½αααΆααααα ααΎααΎααααααΎαααααα»αααΆαααΆαααααααααααΆααΆαα½α fio αααΆαααΌα
ααααα
? αα»αααααα
ααΆ fio ααΊααΆα§ααααααααα’αΆα
ααααααααΆαααΆαα½αααΉααααααΎαααΆα
αααΎαα ααΎαααΆααααααααΆααααα αΆααΆααααΈαααΆαα½αααΉααα·ααΈααΆααααααα½α - αααααααΎααΆααααααααΆ
ααααΌαα‘αΎα ααΎαααΆαααααΎ strace ααΎααααΈαα»ααα server etcd αααααΆαα Kubernetes αα αααααααα·αααΆααααα»ααα ααΎ clusterα ααΎαααΎαααΆαααααααααΆ WAL ααααΎαααααΆααα’ααααΆαααα αααΌα ααααΆα 2200-2400 ααα ααΌα αααααα αααα»αααΆααααααααΆαα ααΎααααααΆα ααΎαααΆααααααΆαααααΆαααΆαααααα -bs=2300 (bs ααΆααααααΆααα ααα·αααΆαααααααΆααααΆαα» fio ααΈαα½αα)α α αααΆαααΆααα αααααΆαα» etcd α’αΆαααααααΎαααα etcd ααΆαα ααα αΆα ααααααααΆαααΆααααααααα αα·ααααααΆααααααααααα fdatasync α ααααα·αααΎα’αααααΆαααααΆααΈαααΌααααααααααΆααα ααΌααα·αα·αααααΎαααααΎαααΆα etcd ααααα’αααααΆαα½αααΉααααααααααΆαα ααΎααααΈααα±ααααΎαα ααα½ααα·αααααΆααα
αααααΆαααα ααΎααααΈααα½αααΆααααα·αααα’α’αααΈα’αααΈαααααααααααα―αααΆα etcd αααα»αααααΎ ααΎαααΆαα αΆααααααΎαααΆααΆαα½αααΉααααααΎα strace αα·α -ffttT α ααΌα αααα ααΎαααΆαααααΆααΆααα·αα·αααααΎαααααΎαααΆααααααα»ααΆα αα·ααααααααΆαααααααααα½αααΆααΈαα½αααα αααα»αα―αααΆαααΆα ααααα‘αααα½α α αΎαααααα½αααΆααααΆαααΆααααααα’α·αα’αααΈααΆαα αΆααααααΎα αα·αααααααααααΆαα α ααααααααααΈαα½αααααααα ααΎαααΆαααααΎ lsof ααΎααααΈαααααΆααααΆααα·ααΆαααααααΎαα’αααΈαααααα strace αα·αααΎαααΆααΎα’ααααα·αααααΆα―αααΆααα½αααΆαααα»αααααΌαααΆαααααΎααααΆαααααααΆαααααααααααΆαα½αα ααΌα αααααααααΆααααα½αααΈ strace αααααααααααΆααααα αΆαααΆαααΎααααΌαααΆαααα½αα αααα·αα·αααααααΆααααΎααααΆαααααααΆααααααΆααααΆ wal_fsync_duration_seconds ααΈ etcd ααΊααααααΆαα½αααΉαααΆαα α fdatasync ααΆαα½αα’ααααα·αααααΆα―αααΆα WAL α
ααΎαααΆαααααααΆααα―αααΆααααααΆαα fio α αΎαααααΎαααΎααααααΎααααααΆααααααααΈαααααααΎα ααΌα αααα fio ααΉααααααΎαααααα»αααααααααΉα etcd α ααΎαααααΆααα·αα·αααααΆαα α ααΌαααααααΆααααααααα αα·αααααααααααααΆαααααααΎαααΆα fio ααΈ strace ααααααααΉα etcd α
ααΎαααΆαααααΎαααΎαααααααα»αααααααααααΌαααααααααααΆαααΆαααααα --size ααΎααααΈααααΆαα±ααααΆααααα»α I/O ααΆααααΌαααΈ fio α αααα»αααααΈααααααΎα αααααΊααΆα ααα½αααα»ααααααααααααααα αααααααααα»αα ααΆαααααα ααΆαααΆααΆααααααααααΆαααα ααΉαα ααα½αααααΆαα α ααααααααααααα (αα·α fdatasync) α αααααΆαααααααααΆααααΆαααα bs α ααα½αααααΆαα α fdatasync = size/bs α αααααΆαααΎαα αΆααα’αΆααααααααΎααΆααα ααΎαααααΌαααααΆαααααΌαααααααααΆααααΎααααΈααααΆαα α αΎαααΎαααΆαααααΆααΆ 10^4 ααΉααααααααααΆαααααααΆααααΎα (αααααΊ 22 ααααΆαα)α ααααα·αααΎ --size ααΌα ααΆα ααα outliers α’αΆα ααΉαααΎαα‘αΎα (α§ααΆα ααα ααΆαα α fdatasync ααΆα αααΎαα αααΆααααααΌαααΆαααααααΆ αα·ααααααΆαααααααΆαααααΈ 99)α
ααΆαααααααΆααααααα½αα―αα
ααΎαβααΆαβαααα αΆαβα’αααβααΈβααααβααααΎ fio αα·αβααΎαβααΆβααΎβααααααβαααα»αβααΆαβααααΏαβααΏαβαααααααααΆααβααΎααααΈβα²αα etcd ααααΎαααΆαβααΆαβααα’βα¬βα’ααα α₯α‘αΌαβααα α’αααβα’αΆα
βααΆαααααβααΆβαααβαααα½αβα’αααβαααβααααΎβα§ααΆα ααα αααΆαααΈαβαα·αααα·αβαααβααΆαβααααααβαααα»α SSD αα
βαααα»α
ααααα: www.habr.com