
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдФрд░ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рд╡рд┐рд╖рдп рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдмреНрд▓реЙрдХ рд╕реНрдЯреИрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдПрдХ рдореЗрдЬрдмрд╛рди рдХреЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВред
рдЙрджрд╛рд╣рд░рдг 1. рдкрд░реАрдХреНрд╖рдг
рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛
рд╣рдорд╛рд░реЗ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЙрддреНрдкрд╛рдж рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╕рд┐рдВрдереЗрдЯрд┐рдХреНрд╕ рд╣реИ, рдФрд░ рдмрд╛рдж рдореЗрдВ - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░реАрдХреНрд╖рдгред рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП Intel Optane рдбреНрд░рд╛рдЗрд╡ рдорд┐рд▓реАред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА
рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдореЗрдВ Optane рдбреНрд░рд╛рдЗрд╡ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред
рдбрд┐рд╕реНрдХ рдХреЛ рдПрдХ рдорд╛рдирдХ рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдПрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рддрд╣рдд рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдбрд┐рд╕реНрдХ рдиреЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛: рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐ 1 рд╕реНрдЯреНрд░реАрдо 1 рдЕрдиреБрд░реЛрдз рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рд╕рд╛рде, 4Kbytes рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ ~ 70Kiops рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдордп рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ: рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз рд▓рдЧрднрдЧ 13 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб!
рдпрд╣ рдЕрдЬреАрдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
рд╡рд┐рдирд┐рд░реНрджреЗрд╢ "рд╡рд┐рд▓рдВрдмрддрд╛ - 10 ┬╡ рдкрдврд╝реЗрдВ" рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ 30% рдЕрдзрд┐рдХ рдорд┐рд▓рд╛, рдЕрдВрддрд░ рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдбрд┐рд╕реНрдХ рдХреЛ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдПрдХ рдФрд░ "рддрд╛рдЬрд╝рд╛" рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ?
рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдирдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рд╡рд┐рд▓рдВрдмрддрд╛ рдХрдо рд╣реЛ рдЧрдИ, рд╕реАрдкреАрдпреВ рдкреНрд░рддрд┐ рд╢реЗрд▓реНрдл, 1 рд╕реНрдЯреНрд░реАрдо рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз, 4K рдмрд╛рдЗрдЯреНрд╕ рдмреНрд▓реЙрдХ, ~ рдЕрдиреБрд░реЛрдз рдкрд░ ~ 9 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдкрд░ 106Kiopsред
рдФрд░ рдлрд┐рд░ рдпрд╣ рд╡рд┐рд╕реНрддреГрдд
рдкреИрд░реЛрдВ рд╕реЗ
рдкрд░рд┐рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ
рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЖрдЦрд┐рд░ рд╣рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ? рдкреВрд░реНрдг рдХреЗ рд╕рд╛рде
, рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛рдЙрдВрдЯрд░ рд░реАрдбрд┐рдВрдЧ рд▓реЗрдВ: рдирд┐рд░реНрджреЗрд╢ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛, рдХреИрд╢ рдорд┐рд╕, рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЧрдИ рд╢рд╛рдЦрд╛рдПрдВ рдЖрджрд┐ред (рдкреАрдПрдордпреВ рдЗрд╡реЗрдВрдЯреНрд╕)
- рд╕реНрдерд┐рд░ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реЗрдВ, рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
- рдЧрддрд┐рд╢реАрд▓ рдЕрдиреБрд░реЗрдЦрдг рдЖрдЪрд░рдг
рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕реАрдкреАрдпреВ рдирдореВрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдПрдХ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкреВрд░реЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд░рдирд┐рдВрдЧ
рдкрд░рдлреЗрдХреНрдЯ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдзреНрд╡рдЬ
-F # рд╣реИ , рдЬрд╣рд╛рдВ
# рдирдореВрдирд╛рдХрд░рдг рдЖрд╡реГрддреНрддрд┐ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рд░реНрдЯреНрдЬ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИ, рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдзрд┐рдХ рдмреНрд░реЗрдХ рд▓рд╛рддрд╛ рд╣реИред рдХрдо рдЖрд╡реГрддреНрддрд┐, рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред
рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдФрд░ рдПрдХ рдЪрд╛рд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдПрдХ рднреА рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рди рдЖрдПрдВ рдЬрдм рдЗрд╕ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдорд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдХрд╛рдо рдирдореВрдиреЛрдВ рдореЗрдВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдПрдХ рдЕрдиреНрдп рдмрд┐рдВрджреБ рдЬреЛ рд╢реБрд░реВ рдореЗрдВ рднреНрд░рд╛рдордХ рд╣реИ - рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдзреНрд╡рдЬ
-fno-omit-рдлреНрд░реЗрдо-рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рдВрднрд╡ рд╣реИред рдЕрдиреНрдпрдерд╛, рдлрд╝рдВрдХреНрд╢рди рдирд╛рдореЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЯреНрд░реЗрд╕ рдореЗрдВ, рд╣рдо рдареЛрд╕
рдЕрдЬреНрдЮрд╛рдд рдорд╛рди рджреЗрдЦреЗрдВрдЧреЗред рдХреБрдЫ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рддреАрдХ рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
someutil-dbg ред рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрдг рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреАрдВ:
- Git рд╕реЗ fio рд▓рд┐рдпрд╛: //git.kernel.dk/fio.git, рдЯреИрдЧ fio-3.9
- Makefile рдореЗрдВ CPPFLAGS рдХреЗ рд▓рд┐рдП -fno -omit-рдлрд╝реНрд░реЗрдо-рдкреЙрдЗрдВрдЯрд░ рд╡рд┐рдХрд▓реНрдк
- рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ -j8
perf record -g ~/fio/fio --name=test --rw=randread --bs=4k --ioengine=pvsync2 --filename=/dev/nvme0n1 --direct=1 --hipri --filesize=1G
рдирд┐рд╢рд╛рди рдХреЗ рдвреЗрд░ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП -g рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЖрдк рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
perf report -g fractal
-G рднрдЧреНрди рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддрд┐рд╢рдд рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдирдореВрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреВрд░реНрдг рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ 100% рдХреЗ рд░реВрдк рдореЗрдВ рд▓реА рдЧрдИ рд╣реИред
"рддрд╛рдЬрд╛ рдмрд┐рд▓реНрдб" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд▓рдВрдмреА рдлрд┐рдпреЛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЗ рдЕрдВрдд рдХреА рдУрд░, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ:

рдФрд░ "рдкреБрд░рд╛рдиреЗ рдмрд┐рд▓реНрдб" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░:

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕реБрдВрджрд░ рд▓реМ рдЪрд╛рд╣рд┐рдПред
рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдлреНрд▓реЗрдордЧреНрд░рд╛рдо
рд╕реБрдВрджрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдЙрдкрдХрд░рдг рд╣реИрдВ:
- рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд▓реМ
- рдлреНрд▓реЗрдорд╕реНрдХреЛрдк , рдЬреЛ рдПрдХрддреНрд░рд┐рдд рдирдореВрдиреЛрдВ рд╕реЗ рд╕рдордп рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЦреЛрдЬ рдХреЛрдб рд╕реАрдкреАрдпреВ рдХреЛ рдХрдо рдлрдЯрдиреЗ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдпреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╕рд╣реА
рд╕реНрдХреНрд░рд┐рдкреНрдЯ> рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ
рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ
svg рдореЗрдВ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗрдВ:
FlameGraph/stackcollapse-perf.pl ./result | FlameGraph/flamegraph.pl > ./result.svg
рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреЛрд▓реЗрдВ рдФрд░ рдПрдХ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред
рдЖрдк рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдкрд░рд┐рдгрд╛рдо рдХреЛ рдлреНрд▓реЗрдорд╕реНрдХреЛрдк / рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ /
- рдЕрдЬрдЧрд░ рдХреЛ рдЪрд▓рд╛рдПрдБ ред/run.py
- рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдХреЗ 5000 рдкреЛрд░реНрдЯ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
рд╣рдо рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?
рдПрдХ рдЕрдЪреНрдЫрд╛ рдлрд┐рдпреЛ
рдорддрджрд╛рди рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддрд╛ рд╣реИ:
рдПрдХ рдмреБрд░рд╛ рдлрд┐рдпреЛ рдХрд╣реАрдВ рднреА рд╕рдордп рдмрд┐рддрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорддрджрд╛рди рдореЗрдВ рдирд╣реАрдВ:
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорддрджрд╛рди рдкреБрд░рд╛рдиреЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдЬрдЧрд╣ 4.15 рдХрд░реНрдиреЗрд▓ рдПрдХ рд╣реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдирд╡реАрдПрдо рдбрд┐рд╕реНрдХ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдорддрджрд╛рди рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдорддрджрд╛рди
sysfs рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ:
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди,
RWF_HIPRI рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде
preadv2 рдХреЙрд▓ рдХрд╛
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдорддрджрд╛рди рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддред рдФрд░, рдпрджрд┐ рдЖрдк рд▓реМ рдЧреНрд░рд╛рдл (рдпрд╛ рдкреВрд░реНрдг
рд░рд┐рдкреЛрд░реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдкрд┐рдЫрд▓реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ) рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рджреВрд╕рд░реА рдЪреАрдЬрд╝ рдЬреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ рд╡рд╣ рд╣реИ submit_bio () рдлрд╝рдВрдХреНрд╢рди рдФрд░ io_schedule () рдХреЙрд▓ рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрд▓ рд╕реНрдЯреИрдХред рдЪрд▓рд┐рдП submit_bio () рдХреЗ рдЕрдВрддрд░ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред
рдзреАрдорд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо "рдкреБрд░рд╛рдирд╛ рдмрд┐рд▓реНрдб":
рдлрд╛рд╕реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо "рддрд╛рдЬрд╝рд╛":
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдзреАрдореЗ рдордВрдЪ рдкрд░, рдЕрдиреБрд░реЛрдз рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реА рд╕рдордп
рдХрд┐рдпрдмрд░ рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ ред рдЖрдк
рд╣рдорд╛рд░реЗ рд▓реЗрдЦ рдореЗрдВ I / O рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░
рдХрд┐рдмрд░ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕реА fio рдкрд░реАрдХреНрд╖рдг рдиреЗ рд▓рдЧрднрдЧ 10 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреА рдФрд╕рдд рд╡рд┐рд▓рдВрдмрддрд╛ рджрд┐рдЦрд╛рдИ, рдЬреИрд╕рд╛ рдХрд┐ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!
рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдореЗрдВ рдЕрдВрддрд░ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИ?
рдФрд░ рдЕрдЧрд░ рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛ рд╣реЛ?
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,
perf рдЖрдкрдХреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЗрдП рдкреНрд░рддрд┐ рдЪрдХреНрд░ рдХреИрд╢ рдорд┐рд╕ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:
perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles /root/fio/fio --clocksource=cpu --name=test --bs=4k --filename=/dev/nvme0n1p4 --direct=1 --ioengine=pvsync2 --hipri --rw=randread --filesize=4G --loops=10


рдпрд╣ рдЙрди рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдлрд╛рд╕реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реАрдкреАрдпреВ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХреИрд╢ рдХрд╛ рдХрдо рдкреНрд░рддрд┐рд╢рдд рд╣реЛрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗред
рдЙрджрд╛рд╣рд░рдг 2. рдХрд┐рд░рд╛рдиреЗ
рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдПрдХ рд╡рд┐рддрд░рд┐рдд рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХрд╛рдо рдореЗрдВ, рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдореЗрдЬрдмрд╛рди рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╕реАрдкреАрдпреВ рдкрд░ рд▓реЛрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рджреЗрдЦреА рдЧрдИред рдореЗрдЬрдмрд╛рди рд╕рд╣рдХрд░реНрдореА, рд╕рд╣рдХрд░реНрдореА рд╣реИрдВ, рдФрд░ рд╕рдорд╛рди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИрдВред
рд╕реАрдкреАрдпреВ рд▓реЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:
~
рдпрд╣ рд╕рдорд╕реНрдпрд╛ 09:23:46 рдкрд░ рдЙрдареА рдФрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реНрдиреЗрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреВрд░реЗ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ред
рдЗрддрдирд╛ рдзреАрдорд╛ рдХреНрдпреЛрдВ?
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдирдореВрдиреЗ рд▓рд┐рдП:
perf record -a -g -- sleep 22 perf script > perf.results
рд╕рднреА CPU рд╕реЗ рдирд┐рд╢рд╛рди рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
perf рдХреЗ рд▓рд┐рдП The
-a рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдмрдврд╝реЗ рд╣реБрдП CPU рд▓реЛрдб рдХреЗ рдХреНрд╖рдг рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
flamescope рдХреЗ рд╕рд╛рде
perf.results рдЦреЛрд▓реЗрдВред
рд╣рдорд╕реЗ рдкрд╣рд▓реЗ рдПрдХ "рд╣реАрдЯ рдореИрдк" рд╣реИ, рджреЛрдиреЛрдВ рдЕрдХреНрд╖ (рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ) рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХреНрд╕ рдЕрдХреНрд╖ рдкрд░, рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реЗрдХрдВрдб рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рдФрд░ рд╡рд╛рдИ рдЕрдХреНрд╖ рдкрд░, рдПрдХреНрд╕ рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ 20 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдЦрдВрдбреЛрдВ рдореЗрдВред рд╕рдордп рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рдФрд░ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдЪрд▓рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЪрдордХреАрд▓реЗ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдирдореВрдиреЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рд╕рдордп рд╕реАрдкреАрдпреВ рдиреЗ рд╕рдмрд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рджрд░рдЕрд╕рд▓, рд╣рдо рдмреАрдЪ рдореЗрдВ рд░реЗрдб рд╕реНрдкреЙрдЯ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдорд╛рдЙрд╕ рд╕реЗ рдЪреБрдиреЗрдВ, рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдЫреБрдкрд╛рддрд╛ рд╣реИ:
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЗрд╕рдореЗрдВ
tcp_recvmsg рдФрд░
skb_copy_datagram_iovec рдзреАрдорд╛ рд╕рдВрдЪрд╛рд▓рди рд╣реИред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЕрдиреНрдп рд╣реЛрд╕реНрдЯ рдХреЗ рдирдореВрдиреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдЬрд┐рд╕ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ:
рдЗрд╕ рддрдереНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рд╣реИ, рд╕рдорд╛рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬреЛ рдмрд┐рдирд╛ рд░реБрдХреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдПрдБ рд▓реЛрд╣реЗ рдХреА рддрд░рдл рдкреИрджрд╛ рд╣реБрдИ рд╣реИрдВред
Skb_copy_datagram_iovec рдлрд╝рдВрдХреНрд╢рди рдХрд░реНрдиреЗрд▓ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд╕рдВрд░рдЪрдирд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рд╣реЛрд╕реНрдЯ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЗрд╕реА рд╕рдордп, рд▓реЙрдЧ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдордВрдЪ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред BIOS рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдореЗрдореЛрд░реА рдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рдореЗрдЬрдмрд╛рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЕрдм рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
рдЙрдкрд╕рдВрд╣рд╛рд░
рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг
рдЖрдо рддреМрд░ рдкрд░, рдПрдХ рд╡реНрдпрд╕реНрдд рдкреНрд░рдгрд╛рд▓реА рдкрд░, рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛
perf рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЗрди рджреЗрд░реА рдХрд╛ рдЖрдХрд╛рд░ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рдЗрд╕ рджреЗрд░реА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:
~
рдЕрдВрддрд░ рдмрд╣реБрдд рд╣реА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ ~ 8 рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рд▓реЛрдб рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
~
рдпрд╣рд╛рдВ рдЕрдВрддрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо 1% рд╕реЗ рдХрдо рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рднрд╛рд░реА рд▓реЛрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рдЧрднрдЧ 7Kiops рдЦреЛрдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдмрд╣реБрдд рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ рдФрд░ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рдкреНрд░рдореБрдЦ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ -
sysbench :
~
рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдиреНрдпреВрдирддрдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдореЗрдВ 270 рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред
рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп
рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
perf рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдХреА рддрд░рд╣, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдирд┐рдХрдЯ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдг рдХреЗ рддрд╣рдд рдХреЛрдИ рднреА рд▓реЛрдб рд╕рд┐рд╕реНрдЯрдо рдмрджрддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ: