etcd рдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ fio рд╕рдБрдЧ рдбрд┐рд╕реНрдХрд╣рд░реВ рдХрд╕рд░реА рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ

рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: рдпреЛ рд▓реЗрдЦ etcd рдбрд╛рдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рд╕рдВрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреА IBM рдХреНрд▓рд╛рдЙрдб рдИрдиреНрдЬрд┐рдирд┐рдпрд░рд╣рд░реБ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдПрдХ рдорд┐рдиреА-рдЕрдиреБрд╕рдиреНрдзрд╛рди рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╣реЛред рдпрд╕реНрддреИ рдХрд╛рд░реНрдп рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдерд┐рдпреЛ, рддрд░ рд▓реЗрдЦрдХрд╣рд░реВрдХреЛ рд╡рд┐рдЪрд╛рд░ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рд╡реНрдпрд╛рдкрдХ рд╕рдиреНрджрд░реНрднрдорд╛ рд░реЛрдЪрдХ рд╣реБрди рд╕рдХреНрдЫред

etcd рдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ fio рд╕рдБрдЧ рдбрд┐рд╕реНрдХрд╣рд░реВ рдХрд╕рд░реА рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ

рд╕рдореНрдкреВрд░реНрдг рд▓реЗрдЦрдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢: fio рд░ etcd

рдПрдХ etcd рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдзреЗрд░реИ рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рднрдгреНрдбрд╛рд░рдг рдХреЛ рдЧрддрд┐ рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред etcd рдкреНрд░рджрд░реНрд╢рди рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рд░реНрдпрд╛рдд рдЧрд░реНрджрдЫред рддреА рдордзреНрдпреЗ рдПрдХ рд╣реЛ wal_fsync_duration_secondsред рдЖрджрд┐ рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдпреЛ рднрдиреНрдЫрдпрджрд┐ рдпреЛ рдореЗрдЯреНрд░рд┐рдХрдХреЛ 99 рдФрдВ рдкреНрд░рддрд┐рд╢рдд 10 ms рднрдиреНрджрд╛ рдмрдвреА рдЫреИрди рднрдиреЗ рддреНрдпреЛ рднрдгреНрдбрд╛рд░рдг рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдорд╛рдиреНрди рд╕рдХрд┐рдиреНрдЫ ...

рдпрджрд┐ рддрдкрд╛рдЗрдБ рд▓рд┐рдирдХреНрд╕ рдореЗрд╢рд┐рдирд╣рд░реВрдорд╛ etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдбреНрд░рд╛рдЗрднрд╣рд░реВ (рдЬрд╕реНрддреИ SSDs) рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рд╣рд╛рдореА рд▓реЛрдХрдкреНрд░рд┐рдп I/O рдкрд░реАрдХреНрд╖рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреМрдВред fioред рдХреЗрд╡рд▓ рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН (рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ test-data рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдбреНрд░рд╛рдЗрднрдХреЛ рдорд╛рдЙрдиреНрдЯ рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рднрд╛рдЬрдирдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ):

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

рдЖрдЙрдЯрдкреБрдЯ рд╣реЗрд░реНрди рд░ рдпреЛ 99th рдкреНрд░рддрд┐рд╢рддрдорд╛ рдлрд┐рдЯ рд╣реБрдиреНрдЫ рдХрд┐ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫ fdatasync 10 ms рдорд╛ред рдпрджрд┐ рддреНрдпрд╕реЛ рд╣реЛ рднрдиреЗ, рддрдкрд╛рдИрдВрдХреЛ рдбреНрд░рд╛рдЗрдн рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдЫред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ рдЫ:

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.

fio рд░ etcd рдмрд╛рд░реЗ рд╡рд┐рд╡рд░рдг

WALs рдЖрджрд┐ рдмрд╛рд░реЗ рдХреЗрд╣реА рд╢рдмреНрджрд╣рд░реВ

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреНрд░рдпреЛрдЧ рд╕рдХреНрд░рд┐рдп рд▓рдЧрд┐рдЩ (рд▓реЗрдЦрди рдЕрдЧрд╛рдбрд┐ рд▓рдЧрд┐рдЩ, WAL)ред рдЖрджрд┐ рдпреЛ рдкрдирд┐ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред WAL рдХреЛ рдЫрд▓рдлрд▓ рдпрд╕ рд▓реЗрдЦрдХреЛ рджрд╛рдпрд░рд╛рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЫ, рддрд░ рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдХреБрд░рд╛рд╣рд░реВ рдпрд╣рд╛рдБ рдЫрдиреН: рдкреНрд░рддреНрдпреЗрдХ etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрд▓реЗ рдирд┐рд░рдиреНрддрд░ рднрдгреНрдбрд╛рд░рдгрдорд╛ WAL рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫред etcd рд▓реЗ WAL рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБ рдЕрдШрд┐ рдХреЗрд╣рд┐ рдкреНрд░рдореБрдЦ-рдорд╛рди рд╕реНрдЯреЛрд░ рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ (рдЬрд╕реНрддреИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ) рд▓реЗрдЦреНрдЫред рдпрджрд┐ рдиреЛрдб рдХреНрд░реНрдпрд╛рд╕ рд╣реБрдиреНрдЫ рд░ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВ рдмреАрдЪ рдкреБрди: рд╕реБрд░реБ рд╣реБрдиреНрдЫ рднрдиреЗ, etcd рд▓реЗ WAL рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЕрдШрд┐рд▓реНрд▓реЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рдкрдЫрд┐ рдЧрд░рд┐рдПрдХрд╛ рд▓реЗрдирджреЗрдирд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред

рдпрд╕рд░реА, рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рдЧреНрд░рд╛рд╣рдХрд▓реЗ KV рд╕реНрдЯреЛрд░рдорд╛ рдХреБрдЮреНрдЬреА рдердкреНрдЫ рд╡рд╛ рдЕрд╡рд╕реНрдерд┐рдд рдХреБрдЮреНрдЬреАрдХреЛ рдорд╛рди рдЕрдкрдбреЗрдЯ рдЧрд░реНрджрдЫ, etcd рд▓реЗ WAL рдорд╛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╡рд┐рд╡рд░рдг рдердкреНрдЫ, рдЬреБрди рдирд┐рд░рдиреНрддрд░ рднрдгреНрдбрд╛рд░рдгрдорд╛ рдирд┐рдпрдорд┐рдд рдлрд╛рдЗрд▓ рд╣реЛред etcd 100% рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрдкрд░реНрджрдЫ рдХрд┐ WAL рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЕрдЧрд╛рдбрд┐ рдмрдвреНрдиреБ рдЕрдШрд┐ рдмрдЪрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рд▓рд┐рдирдХреНрд╕рдорд╛ рдпреЛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рдпреЛ рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрди write, рднреМрддрд┐рдХ рдорд╛рдзреНрдпрдордорд╛ рд▓реЗрдЦреНрдиреЗ рдХрд╛рд░реНрдп рдЖрдлреИрдорд╛ рдврд┐рд▓рд╛рдЗ рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд▓рд┐рдирдХреНрд╕рд▓реЗ рдХреЗрд╣реА рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдореЗрдореЛрд░реАрдорд╛ рдХрд░реНрдиреЗрд▓ рдХреНрдпрд╛рд╕ (рдЬрд╕реНрддреИ рдкреГрд╖реНрда рдХреНрдпрд╛рд╕) рдорд╛ 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 рднрдиреНрджрд╛ рдХрдо рдерд┐рдпреЛред рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рднрдгреНрдбрд╛рд░рдг-рд╕рдореНрдмрдиреНрдзрд┐рдд рдореЗрдЯреНрд░рд┐рдХреНрд╕рд╣рд░реВ рдЫрдиреН, рддрд░ рдпреЛ рд▓реЗрдЦ рддреНрдпрд╕рдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рд╣реБрдиреЗрдЫред

fio рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрдгреНрдбрд╛рд░рдг рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрджреИ

рддрдкрд╛рдИрдВрд▓реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ etcd рд╕рдБрдЧ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд╢реНрдЪрд┐рдд рднрдгреНрдбрд╛рд░рдг рдЙрдкрдпреБрдХреНрдд рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ fio - рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп I/O рдкрд░реАрдХреНрд╖рдХред рджрд┐рдорд╛рдЧрдорд╛ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН рдХрд┐ рдбрд┐рд╕реНрдХ I/O рдзреЗрд░реИ рдлрд░рдХ рддрд░рд┐рдХрд╛рдорд╛ рд╣реБрди рд╕рдХреНрдЫ: рд╕рд┐рдВрдХ/рдПрд╕рд┐рдиреНрдХ, рдзреЗрд░реИ рдлрд░рдХ syscall рдХрдХреНрд╖рд╛рд╣рд░реВ, рд░ рдпрд╕реНрддреИред рд╕рд┐рдХреНрдХрд╛рдХреЛ рдЕрд░реНрдХреЛ рдкрд╛рдЯреЛ рдкрдирд┐ рдпрд╣реА рд╣реЛ fio рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛред рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛ рдзреЗрд░реИ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдЫрдиреН, рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдирд╣рд░реВрд▓реЗ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдлрд░рдХ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫред etcd рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдЪрд┐рдд рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ fio рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд▓реЗрдЦрди рд▓реЛрдб WAL рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ etcd рдХреЛ рд▓реЗрдЦрди рд▓реЛрдб рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрдкрд░реНрдЫ:

  • рдпрд╕рдХреЛ рдорддрд▓рдм рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ fio рд▓реЛрдб рдХрдореНрддрд┐рдорд╛ рдлрд╛рдЗрд▓рдорд╛ рд▓рдЧрд╛рддрд╛рд░ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реБрдиреБрдкрд░реНрдЫ, рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдЦрди рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред writeрдкрдЫрд┐ fdatasync.
  • рдХреНрд░рдорд┐рдХ рд░реЗрдХрд░реНрдбрд┐рдЩ рд╕рдХреНрд╖рдо рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдЭрдгреНрдбрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ --rw=write.
  • рдХрд┐ fio рдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓реЗрдЦреЗ write (рд░ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рд╣реЛрдЗрди - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, pwrite), рдЭрдгреНрдбрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН --ioengine=sync.
  • рдЕрдиреНрддрдорд╛, рдЭрдгреНрдбрд╛ --fdatasync=1 рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ write рд╣реБрдиреБрдкрд░реНрдЫ fdatasync.
  • рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рджреБрдИ рдЕрдиреНрдп рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ: --size ╨╕ --bs - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдпреЛрдЧ рдорд╛рдорд▓рд╛ рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ рднрд┐рдиреНрди рд╣реБрди рд╕рдХреНрдЫред рдЕрд░реНрдХреЛ рдЦрдгреНрдбрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╕рд░реА рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫред

рд╣рд╛рдореАрд▓реЗ рдХрд┐рди fio рдЫрдиреЛрдЯ рдЧрд░реНрдпреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╣рд╛рдореАрд▓реЗ рд╕рд┐рдХреНрдпреМрдВ

рдпреЛ рдиреЛрдЯ рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реЗрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗрд╕рдмрд╛рдЯ рдЖрдПрдХреЛ рд╣реЛред рд╣рд╛рдореАрд╕рдБрдЧ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рдХреЛ рдирд┐рдЧрд░рд╛рдиреАрдХреЛ рд╕рд╛рде Kubernetes v1.13 рдорд╛ рдХреНрд▓рд╕реНрдЯрд░ рдерд┐рдпреЛред SSDs etcd v3.2.24 рдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред Etcd рдореЗрдЯреНрд░рд┐рдХреНрд╕рд▓реЗ рдзреЗрд░реИ рдЙрдЪреНрдЪ рд╡рд┐рд▓рдореНрдмрддрд╛рд╣рд░реВ рджреЗрдЦрд╛рдпреЛ fdatasync, рдХреНрд▓рд╕реНрдЯрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реБрдБрджрд╛ рдкрдирд┐ред рд╣рд╛рдореАрд▓реЗ рдпреА рдореЗрдЯреНрд░рд┐рдХрд╣рд░реВ рдзреЗрд░реИ рд╢рдВрдХрд╛рд╕реНрдкрдж рднрдПрдХреЛ рднреЗрдЯреНрдЯрд╛рдпреМрдВ рд░ рд╣рд╛рдореА рдирд┐рд╢реНрдЪрд┐рдд рдерд┐рдПрдиреМрдВ рдХрд┐ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрдЫрдиреНред рдердк рд░реВрдкрдорд╛, рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╢рд┐рдирд╣рд░реВ рдерд┐рдП, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдврд┐рд▓рд╛рдЗ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рдирдХреЛ рдХрд╛рд░рдгрд▓реЗ рд╣реЛ рд╡рд╛ SSDs рджреЛрд╖ рдерд┐рдпреЛ рднрдиреЗрд░ рднрдиреНрди рдЕрд╕рдореНрднрд╡ рдерд┐рдпреЛред

рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдпреМрдВ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдкреНрд░рддреНрдпреЗрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ 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 рдЖрджрд┐ рдореЗрд▓ рдХрд▓рд╣рд░реВрдмрд╛рдЯ fdatasync WAL рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧред

рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди fio etcd рдмрд╛рдЯ рд▓реЛрдб рдЬрд╕реНрддреИ рдХрд╛рд░реНрдпрднрд╛рд░, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛рдЧрдЬрд╛рдд рдЕрдзреНрдпрдпрди рдЧрд░рд┐рдпреЛ рд░ рд╣рд╛рдореНрд░реЛ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдЪрдпрди рдЧрд░рд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдпреМрдВ рдХрд┐ рд╕рд╣реА рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдерд┐рдП рд░ рдЪрд▓рд╛рдПрд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЕрд╡рдзрд┐ рдкреБрд╖реНрдЯрд┐ рдЧрд░реНтАНрдпреМрдВ fio рдмрд╛рдЯ strace (рдЬрд╕реНрддреИ etcd рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ)ред

рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдЗрдпреЛ --sizeред рдпрд╕рд▓реЗ fio рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХреБрд▓ I/O рд▓реЛрдб рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрджрдЫред рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпреЛ рдорд┐рдбрд┐рдпрд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред рдпреЛ рдХрд▓ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдзрд╛ рд╕рдорд╛рдиреБрдкрд╛рддрд┐рдХ рдЫ write (рд░ fdatasync)ред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреЛ рд▓рд╛рдЧреА bs рдХрд▓рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ fdatasync рдмрд░рд╛рдмрд░реА size / bs.

рд╣рд╛рдореАрд▓реЗ рдкрд░реНрд╕реЗрдиреНрдЯрд╛рдЗрд▓рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреЗрдХреЛ рд╣реБрдирд╛рд▓реЗ, рд╣рд╛рдореА рдирдореВрдирд╛рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдкрдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╣реБрди рдкрд░реНрдпрд╛рдкреНрдд рдареВрд▓реЛ рд╣реБрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рд░ рддреНрдпреЛ рдирд┐рд░реНрдгрдп рдЧрд░реЗ 10^4 (рдЬреБрди 22 MB рдХреЛ рдЖрдХрд╛рд░ рд╕рдВрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ) рдкрд░реНрдпрд╛рдкреНрдд рд╣реБрдиреЗрдЫред рд╕рд╛рдиреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдорд╛рдирд╣рд░реВ --size рдердк рд╕реНрдкрд╖реНрдЯ рдЖрд╡рд╛рдЬ рджрд┐рдпреЛ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрд▓рд╣рд░реВ fdatasync, рдЬрд╕рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп рднрдиреНрджрд╛ рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдиреНрдЫ рд░ 99 рдФрдВ рдкреНрд░рддрд┐рд╢рддрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрдЫ)ред

рдпреЛ рддрд┐рдореАрдорд╛ рднрд░ рдкрд░реНрдЫ

рд▓реЗрдЦрд▓реЗ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдБрдЫ fio рддрдкрд╛рдИрд▓реЗ рдЗрддреНрдпрд╛рджрд┐рдХреЛ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрднрд┐рдкреНрд░реЗрд░рд┐рдд рдорд┐рдбрд┐рдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдЫ рдХрд┐ рдЫреИрди рднрдиреЗрд░ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЕрдм рдпреЛ рддрдкрд╛рдИрдВ рдорд╛ рдирд┐рд░реНрднрд░ рдЫ! рддрдкрд╛рдИрдВрд▓реЗ рд╕реЗрд╡рд╛рдорд╛ SSD-рдЖрдзрд╛рд░рд┐рдд рднрдгреНрдбрд╛рд░рдгрдХреЛ рд╕рд╛рде рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдЕрдиреНрд╡реЗрд╖рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЖрдИрдмреАрдПрдо рдХреНрд▓рд╛рдЙрдб.

рдЕрдиреБрд╡рд╛рджрдХрдмрд╛рдЯ PS

рдкреНрд░рдпреЛрдЧрдХреЛ рддрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рд╕рд╛рде fio рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдХрд╛рдЧрдЬрд╛рдд рд╡рд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдгреНрдбрд╛рд░рд╣рд░реВ (рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХрд╛ рднрдиреНрджрд╛ рдзреЗрд░реИ рддреНрдпрд╣рд╛рдБ рдЫрдиреН)ред

рдЕрдиреБрд╡рд╛рджрдХрдмрд╛рдЯ PPS

рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди