рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ

╨Т рдЕрдиреНрддрд┐рдо рдкрдЯрдХ рд╣рд╛рдореАрд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдпреМрдВред рдЖрдЬ рд╣рд╛рдореА рд▓рд┐рдирдХреНрд╕рдорд╛ рдлрд╛рдИрд▓ рдкреНрд░рдгрд╛рд▓реА рд░ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ - рдЗрдиреНрдЯрд░рдмреЗрдиреНрдЪ, рдлрд┐рдУ, рдПрдЪрдбреАрдкрд╛рд░реНрдо, рдПрд╕ рд░ рдмреЛрдиреАред

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ
╨д╨╛╤В╨╛ - рдбреЗрдирд┐рдпрд▓ рд▓реЗрднрд┐рд╕ рдкреЗрд▓реБрд╕реА - рдЕрдирд╕реНрдкреНрд▓рд╛рд╕

Fio

Fio (Flexible I/O Tester рдХреЛ рд▓рд╛рдЧрд┐ рдЦрдбрд╛ рд╣реБрдиреНрдЫ) рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдбрд┐рд╕реНрдХ I/O рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ рдкрдирд┐ рдЪрд▓рд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ - рддрдкрд╛рдИрд▓реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд╕рд╛рдЗрдЧрд╡рд┐рдиред рд╕реЗрдЯрдЕрдк рдЧрд╛рдЗрдб рднрд┐рддреНрд░ рдЫ GitHub рдорд╛ fio рднрдгреНрдбрд╛рд░рд╣рд░реВ.

рд▓реЗрдЦрдХ рдлрд┐рдУ - рдЬреЗрдиреНрд╕ рдПрдХреНрд╕рдмреЛ (рдЬреЗрдиреНрд╕ рдПрдХреНрд╕рдмреЛ), рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рд▓рд┐рдирдХреНрд╕ рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдорд╛ IO рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХреЛ рд▓рд╛рдЧрд┐ blktrace I/O рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ рдЯреНрд░реЗрд╕ рдЧрд░реНрдиред рдЙрд╣рд╛рдБрд▓реЗ fio рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ, рдХрд┐рдирднрдиреЗ рдо рдерд╛рдХреЗрдХреЛ рдЫреБ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЛрдбрд╣рд░реВ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред

рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ IOPS рд░ рдкреНрд░рдгрд╛рд▓реА рдереНрд░реБрдкреБрдЯ рдЧрдгрдирд╛ рдЧрд░реНрдиреЗрдЫ, рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ I/O рдЕрдкрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдордХреЛ рдЧрд╣рд┐рд░рд╛рдЗ рдЕрдиреБрдорд╛рди рдЧрд░реНрди рдкрдирд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓рд╣рд░реВ (.fio рд╡рд┐рд╕реНрддрд╛рд░) рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫ рдЬрд╕рдорд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд░ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрддрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рдЕрдирд┐рдпрдорд┐рдд рд▓реЗрдЦрди, рдкрдвреНрдиреЗ рд░ рдЕрдзрд┐рд▓реЗрдЦрди рдЫред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд┐рд▓реЛ рдХреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдлрд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА:

[global]
	name=fio-rand-read
	filename=fio-rand-read
	rw=randread
	bs=4K
	direct=0
	numjobs=1
	time_based=1
	runtime=900

рдЖрдЬ fio рдареВрд▓рд╛ рдХрдореНрдкрдиреАрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ - рддрд┐рдиреАрд╣рд░реВ рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫрдиреН рд╕реБрд╕реЗ, рдиреБрдЯрд╛рдирд┐рдХреНрд╕ ╨╕ рдЖрдИрдмреАрдПрдо.

Hdparm

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреНрдпрд╛рдирд╛рдбрд╛рд▓реА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдорд╛рд░реНрдХ рд▓рд░реНрдб рджреНрд╡рд╛рд░рд╛ 2005 рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛред рдЙрдиреА рдЕрдЭреИ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд░ рдзреЗрд░реИ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рддрд░рдг рдХреЛ рднрд╛рдЧ рд╣реЛред hdparm рдХреЛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдбреНрд░рд╛рдЗрдн рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБ рд╣реЛред рддрд░ рдЙрдкрдХрд░рдг рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рд╕рд░рд▓ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕реНрддреИ рдкрдвреНрдиреЗ рдЧрддрд┐ред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдХрдиреНрд╕реЛрд▓рдорд╛ рдЖрджреЗрд╢ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН:

$ sudo hdparm -t /dev/sdb

рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдпрд╕реНрддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреЗрдЫ:

Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec

рдбреНрд░рд╛рдЗрднрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рд╕рдиреНрджрд░реНрднрдорд╛, hdparm рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрдпрд╛рд╕ рдореЗрдореЛрд░реАрдХреЛ рд╕рд╛рдЗрдЬ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди, рдирд┐рджреНрд░рд╛ рдореЛрдб рд░ рдкрд╛рд╡рд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрди рд░ SSD рдорд╛ рдбрд╛рдЯрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдкрдорд╛ рдореЗрдЯрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддрд░ рдХрд╕рд░реА рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреБрд╣реЛрд╕реН ArchLinux рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВ, рдкреНрд░рдгрд╛рд▓реА рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдирд╛рд▓реЗ рдбрд┐рд╕реНрдХрдорд╛ рдбрд╛рдЯрд╛ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рдмрдирд╛рдЙрди рд░ рдбреНрд░рд╛рдЗрднрд▓рд╛рдИ рдкрдирд┐ рдХреНрд╖рддрд┐ рдкреБрд░реНтАНрдпрд╛рдЙрди рд╕рдХреНрдЫред hdparm рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреБ рдЕрдШрд┐, рдпреЛ рдореНрдпрд╛рдиреБрдЕрд▓ рдкрдвреНрди рд░рд╛рдореНрд░реЛ рдЫ - рдХреЗрд╡рд▓ рдХрдиреНрд╕реЛрд▓рдорд╛ рдЖрджреЗрд╢ man hdparm рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

S

рдпреЛ I/O рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╣реЛред рдЙрдкрдпреЛрдЧрд┐рддрд╛рдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВ рдерд┐рдП рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реА AlgoDev рд╕рдореВрд╣рдмрд╛рдЯ, рдЬрд╕рдорд╛ рдЗрдЯрд╛рд▓рд┐рдпрди рдХрд░реНрдордЪрд╛рд░реАрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН рдореЛрдбреЗрдирд╛ рд░ рд░реЗрдЧрд┐рдпреЛ рдЗрдорд┐рд▓рд┐рдпрд╛ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп.

рд╕рдмреИ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВ bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд╣реБрдиреН, рдореВрд▓реНрдпрд╛рдЩреНрдХрдирдХрд░реНрддрд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди - рдереНрд░реБрдкреБрдЯ, рд╡рд┐рд▓рдореНрдмрддрд╛, рдЕрдиреБрд╕реВрдЪрдХ рдкреНрд░рджрд░реНрд╢рдиред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, throughput-sync.sh рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд▓реЗ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдкрдвреНрди рд╡рд╛ рд▓реЗрдЦреНрди рдЕрдиреБрд░реЛрдзрд╣рд░реВ "рдмрдордмрд╛рд░" рдЧрд░реНрдЫ (рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ fio рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ)ред рдпрд╣рд╛рдБ рдпреЛ рд▓рд┐рдкрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб.

рдЕрд░реНрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ - comm_startup_lat.sh - рдбрд┐рд╕реНрдХрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдкрдвреНрдирдХреЛ рд╡рд┐рд▓рдореНрдмрддрд╛ рдорд╛рдкрди рдЧрд░реНрджрдЫ рдЬрдм рдХреНрдпрд╛рд╕ "рдЪрд┐рд╕реЛ" рд╣реБрдиреНрдЫ (рдЬрдм рдпрд╕рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдбрд╛рдЯрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджреИрди)ред рдХреЛрдб рдкрдирд┐ рднрдгреНрдбрд╛рд░рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ.

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ
╨д╨╛╤В╨╛ - Ag├к Barros - рдЕрдирд╕реНрдкреНрд▓рд╛рд╕

рдмреЛрдиреА

1989 рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ред рдпрд╕рдХреЛ рд▓реЗрдЦрдХ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рдЯрд┐рдо рдмреНрд░реЗ рдерд┐рдПред рдмреЛрдиреАрдХреЛ рд╕рд╣рдпреЛрдЧрдорд╛ рдЙрдирд▓реЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдП рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд╕рдВрд▓рдЧреНрди рдХрдореНрдкреНрдпреБрдЯрд░ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рдирдпрд╛рдБ рдЕрдХреНрд╕рдлреЛрд░реНрдб рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджрдХреЛрд╢ рд╡рд╛рдЯрд░рд▓реВ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдорд╛ред

рдмреЛрдиреА рдкреВрд░рд╛ рдЧрд░реНрджрдЫ рдбрд┐рд╕реНрдХрдорд╛ рдбрд╛рдЯрд╛рдХреЛ рдЕрдирд┐рдпрдорд┐рдд рдкрдарди рд░ рд▓реЗрдЦрдиред рдкрдЫрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рджреЗрдЦрд╛рдЙрдБрдЫ рдЬрд╕реНрддреИ рдкреНрд░рддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░рд┐рдПрдХреЛ рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ CPU-рд╕реЗрдХреЗрдиреНрдб, рд╕рд╛рдереИ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рд╕реНрддрд░ рдкреНрд░рддрд┐рд╢рддрдХреЛ рд░реВрдкрдорд╛ред рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рд╕реНрд░реЛрдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рдЫ Google Code рдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН.

рдмреЛрдиреАрдорд╛ рдЖрдзрд╛рд░рд┐рдд, рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрдн рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдЕрд░реНрдХреЛ рд╕реЗрдЯ рдмрдирд╛рдЗрдПрдХреЛ рдЫ - рдмреЛрдиреА++ (C рдХреЛ рд╕рдЯреНрдЯрд╛ C++ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ)ред рдпрд╕рд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, zcav рд╡рд┐рднрд┐рдиреНрди HDD рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиред рдмреЛрдиреА++ рдкрдирд┐ ╨┐╨╛╨┤╤Е╨╛╨┤╨╕╤В рдореЗрд▓ рд╕рд░реНрднрд░ рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ред

рдЕрдиреНрддрд░рдмреЗрдВрдЪ

рдЙрдкрдпреЛрдЧрд┐рддрд╛рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реЗрдХреЛ рдЫ рдХреЛрди рдХреЛрд▓рд┐рд╡рд╛рд╕ (Con Kolivas), рдЕрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛рд▓реА рдПрдиреЗрд╕реНрдереЗрдЯрд┐рд╕реНрдЯ рдЬреЛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдХреЛ рд╡рд┐рдХрд╛рд╕рдорд╛ рдЖрдлреНрдиреЛ рдпреЛрдЧрджрд╛рдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рдЪрд┐рдд рдЫрдиреН рд░ "рдирд┐рд╖реНрдкрдХреНрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдиреБрд╕реВрдЪрдХ" Interbench рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ I/O рдЕрдиреБрд╕реВрдЪрдХ рд░ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫред

рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛ рдЗрдиреНрдЯрд░рдмреЗрдиреНрдЪрд▓реЗ CPU рдЕрдиреБрд╕реВрдЪрдХрдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрдХрд░рдг рдЧрд░реНрджрдЫред рдпреА рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдбрд┐рдпреЛ рд░ рднрд┐рдбрд┐рдпреЛрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди, рдХрдореНрдкреНрдпреБрдЯрд░ рдЧреЗрдорд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗ, рд╡рд╛ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордорд╛ рд╕рдВрд╡рд╛рдж рдмрдХреНрд╕ рддрд╛рдиреЗрд░ рдмрд╕реНрди рд╕рдХреНрдЫрдиреНред

рд╕реНрд░реЛрдд рдХреЛрдб, рдЙрдкрдХрд░рдг рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдг рд░ рд╕рд┐рдлрд╛рд░рд┐рд╕рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ GitHub рдорд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдгреНрдбрд╛рд░.

рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрд╣рд░реВрдорд╛ рдХреЗ рд▓реЗрдЦреНрдЫреМрдВ:

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВ: 5 рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рдлрд╛рдЗрд▓ рдмреНрдпрд╛рдХрдЕрдк: рдбрд╛рдЯрд╛ рд╣рд╛рдирд┐ рд╡рд┐рд░реБрджреНрдз рдХрд╕рд░реА рдмреАрдорд╛ рдЧрд░реНрдиреЗ
рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдорд╛ рдкреНрд░рдгрд╛рд▓реА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрдн рдХрд╕рд░реА рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ?
рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реНрдЯреНрдпрд╛рдиреНрдб: рдХреНрд▓рд╛рдЙрдбрд▓реЗ рдХрд╕рд░реА рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫ

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рд╕реАрдорд╛рдорд╛ рдЧреНрдпрд╛рдЬреЗрдЯрд╣рд░реВрдХреЛ рдирд┐рд░реАрдХреНрд╖рдг: рдЧреЛрдкреНрдп рдбрд╛рдЯрд╛ рдЧреБрдорд╛рдЙрди рдХрд╕рд░реА рдХрд╛рд░реНрдп рдЧрд░реНрдиреЗ?
рд▓рд┐рдирдХреНрд╕рдорд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗ: рдЦреБрд▓рд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд┐рдЩ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВ: рдХрд┐рди "рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВ" рдЖрд╡рд╢реНрдпрдХ рдЫ?

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

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