рдПрдХ рдФрд░ рдХрд╛рд░рдг рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдЖрдЦрд┐рд░реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рдХреБрдмрд░рдиреЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдХрд┐ рдереЙрдЯреНрд╕рдкреЙрдЯ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕рдорд░реНрдерди рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдЖрдЬ рдореИрдВ рдПрдХ рдЫреЛрдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХрдо рджрд┐рд▓рдЪрд╕реНрдк рдбрд┐рдмрдЧрд┐рдВрдЧ рдЗрддрд┐рд╣рд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реБрдЖ рд╣реИред рд▓реЗрдЦ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг! = рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рдиред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ cgroup рдФрд░ рдЙрдЪреНрдЪ рдорд╢реАрди рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЗрд╖реНрдЯрддрдо рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддреА рд╣реИрдВред


рдЫрд╡рд┐


рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЖрдВрддрд░рд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ b CI / CD рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХреАред рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк "рдбреЙрдХрдЯрд░рд╛рдЗрдЬ" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдЕрдЪрд╛рдирдХ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдХрдВрдЬреВрд╕реА рдирд╣реАрдВ рдХреА: рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреЙрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдФрд░ рдореЗрдореЛрд░реА (5 рд╕реАрдкреАрдпреВ / 30 рдЬреАрдмреА рд░реИрдо) рдХреА рд╕реАрдорд╛рдПрдВ рдереАрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдкрд░, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ (10 Kb) рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рднреА рдЕрдиреБрд░реЛрдз рдЙрдбрд╝ рдЬрд╛рдПрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, 72 рд╕реАрдкреАрдпреВ / 512 рдЬреАрдмреА рд░реИрдо рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдПрдВрдб рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ, рд╣рдо рдЙрддреНрдкрд╛рдж рдХреА 3-4 рдкреНрд░рддрд┐рдпрд╛рдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдФрд░ рдлрд┐рд░ рдмреНрд░реЗрдХ рд╢реБрд░реВ рд╣реЛ рдЧрдПред рдХреБрдЫ рдорд┐рд▓рд┐рд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реАрдЬрд╝ рдЕрдм 1 рд╕реЗ 2 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд▓рдЯрдХрд╛ рджреА рдЧрдИ рдереА, рдФрд░ рдЗрд╕рдиреЗ рд╕реАрдЖрдИ рдХрд╛рд░реНрдп рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ред рдореБрдЭреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдерд╛ред


рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдбреЙрдХрд░ рдореЗрдВ рдПрдХ рдЖрд╡реЗрджрди рдХреЛ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рдВрджрд┐рдЧреНрдз рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдордВрджреА (рдЬрдм рдирдВрдЧреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдпрд╛ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХреЗред рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдордиреЗ Sysbench рдкреИрдХреЗрдЬ рд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ ред рд╣рдордиреЗ рд╕реАрдкреАрдпреВ, рдбрд┐рд╕реНрдХ, рдореЗрдореЛрд░реА рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХреА - рд╕рдм рдХреБрдЫ рдирдВрдЧреЗ рдзрд╛рддреБ рдкрд░ рд╕рдорд╛рди рдерд╛ред рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХреА рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рд╣реИ: рдЗрд╕реЗ рдлрд┐рд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рдХрд┐рд╕реА рд╕рдВрд╕рд╛рдзрди (рд╕реАрдкреАрдпреВ, рд░реИрдо, рдбрд┐рд╕реНрдХ, рдиреЗрдЯрд╡рд░реНрдХ) рдХреА рдХрдореА рд╣реЛрддреА рд╣реИ, рддреЛ рдХреБрдЫ рдХреЙрд▓ рдореЗрдВ рд╕рдордп рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ - рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдзреАрдорд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рд╣реБрдЖред рд╕рдордп рдЕрдиреБрдкрд╛рдд рдХрд╛рд░реНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдерд╛ - рдХреЗрд╡рд▓ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдирдВрдЧреЗ рдзрд╛рддреБ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рдереАред рдХреБрдЫ рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрд░реЛрдд рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИред рдЬрдм рд╣рдордиреЗ рдЕрдЪрд╛рдирдХ рдпрд╣ рдкрд╛рдпрд╛ рддреЛ рд╣рдо рд╣рд╛рд░ рдорд╛рдирдиреЗ рдХреЛ рддреИрдпрд╛рд░ рдереЗред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд▓реЗрдЦрдХ рдПрдХ рд╕рдорд╛рди рд░рд╣рд╕реНрдпрдордп рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдЬрдм рджреЛ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рдиреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдиреЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдорд╛рд░ рдбрд╛рд▓рд╛, рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд╛рдПрдВ рдмрд╣реБрдд рдорд╛рдореВрд▓реА рдореВрд▓реНрдпреЛрдВ рдкрд░ рд╕реЗрдЯ рдХреА рдЧрдИрдВред рд╣рдордиреЗ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖ рджрд┐рдП:


  1. рдореБрдЦреНрдп рдХрд╛рд░рдг рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╣реА рд╣реИред рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдбреЗрдВрдЯреНрд░реА рдХреИрд╢ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдиреЗ рдХреЙрд▓ рдХреЛ __d_lookup_loop рдХрд░реНрдиреЗрд▓ рдкрд░ __d_lookup_loop , рдЬрд┐рд╕рдиреЗ рд╕реАрдзреЗ рджреВрд╕рд░реЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ред
  2. рд▓реЗрдЦрдХ рдиреЗ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП perf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдХ рдорд╣рд╛рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдЯреВрд▓ рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ (рдЬреЛ рдПрдХ рджрдпрд╛ рд╣реИ!)ред

perf (рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА perf_events рдпрд╛ perf tools рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдкреВрд░реНрд╡ рдореЗрдВ Linux, PCL рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 2.6.31 рд╕реЗ рдЙрдкрд▓рдмреНрдз рд▓рд┐рдирдХреНрд╕ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╣реИред рдпреВрдЬрд░ рд╕реНрдкреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдпреВрдЯрд┐рд▓рд┐рдЯреА, perf, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдпрд╣ subcommands рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИред

рдпрд╣ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо (рдХрд░реНрдиреЗрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди) рдХреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдкрд░реЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдХрд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░реНрдЯрд┐рдорд░) рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ, рдЯреНрд░реЗрд╕ рдкреЙрдЗрдВрдЯреНрд╕ рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рд╕реИрдВрдкрд▓ (рдЬреИрд╕реЗ, рдХреЗрдкреНрд░реЛрдмреНрд╕ рдпрд╛ рдЕрдкрдмреНрд░реЛрдЬрд╝) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред 2012 рдореЗрдВ, рджреЛ рдЖрдИрдмреАрдПрдо рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдиреЗ рдУрдкреНрд░реЗрдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкрд░рдлреИрдХреНрдЯ (рдУрдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде) рдХреЛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рджреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдЙрдВрдЯрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЯреВрд▓реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рджреАред

рддреЛ рд╣рдордиреЗ рд╕реЛрдЪрд╛: рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ? рд╣рдордиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢реБрд░реВ рдХреАрдВ, рдФрд░ рд╕рднреА рдореЗрдВ рдПрдХ рд╣реА рдореВрд▓ рдерд╛ред рд╣рдореЗрдВ рд╣реЛрд╢ рдЖрдпрд╛ рдХрд┐ рд╣рдордиреЗ рдирд┐рд╢рд╛рди рдкрд░ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдерд╛! рдкреВрд░реНрдг рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░, рд╣рдордиреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рдо рдПрдХ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЦреЛрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗред


рдиреАрдЪреЗ рдПрдХ рд╕реНрд╡рд╕реНрде (рддреЗрдЬ) рдорд╢реАрди (рдмрд╛рдПрдВ) рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ (рджрд╛рдПрдВ) рдЪрд▓ рд░рд╣реЗ рдереЙрдЯрд╕реНрдкреЙрдЯ рдХреЗ рдкрд╣рд▓реЗ 10 рд╕реЗрдХрдВрдб рдХреА рд╕рдВрдкреВрд░реНрдг рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рджреА рдЧрдИ рд╣реИрдВред
рдЫрд╡рд┐


рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рджрд╛рдИрдВ рдУрд░ рдкрд╣рд▓реЗ 5 рдХреЙрд▓ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╕рдордп рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд░реНрдиреЗрд▓ рд╕реНрдерд╛рди рдкрд░ рдмрд┐рддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдмрд╛рдИрдВ рдУрд░ - рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╣рдорд╛рд░реА рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ posix_fadvise рдХреЙрд▓ рд╣рд░ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред


рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЗрд░рд╛рджреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреЙрдЬрд╝рд┐рдХреНрд╕_рдлреИрдбрд╡рд┐рдЬрд╝ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИред

рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдкрд░, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЬрдЧрд╣ рдорд┐рд▓реА, рдЬреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдХреА рд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рдереА:


рдЫрд╡рд┐


рдпрд╣ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓реЙрдЧрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ glog рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рд░реЗрдЦрд╛ ( LogFileObject::Write ) рд╕рдВрднрд╡рддрдГ рдкреВрд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрде рд╣реИред рдЗрд╕реЗ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП "рд▓реЙрдЧ рдЗрди рдлрд╛рдЗрд▓" (рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдЕрдХреНрд╕рд░ рд▓реЙрдЧ рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ fadvise рднрд╛рдЧ рдХреЛ --drop_log_memory=false рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


  if (file_length_ >= logging::kPageSize) { // don't evict the most recent page uint32 len = file_length_ & ~(logging::kPageSize тАФ 1); posix_fadvise(fileno(file_), 0, len, POSIX_FADV_DONTNEED); } } 

рдЬреЛ рд╣рдо, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдФрд░ ... рдмреБрд▓реНрд╕рдЖрдИ рдореЗрдВ!


рдЫрд╡рд┐


рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдм 8 (рдЖрда!) Milliseconds рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдереЛрдбрд╝рд╛ рдЧреБрдЧрд▓реА, рд╣рдореЗрдВ рдпрд╣ рдорд┐рд▓рд╛: https://issues.apache.org/jira/browse/MESOS-920 рдФрд░ рдпрд╣ рднреА: https://github.com/google/glog/pull/145 , рдЬреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдирд┐рд╖реЗрдз рдХреЗ рдЕрд╕рд▓реА рдХрд╛рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░рд╛ рдХреВрдмрдбрд╝ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрднрд╛рд╕реА рдорд╢реАрди / рдирдВрдЧреЗ рдзрд╛рддреБ рдкрд░ рдПрдХ рд╣реА рдмрд╛рдд рд╣реБрдИ рдереА, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдорд╢реАрди / рдХрд░реНрдиреЗрд▓ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА 1 рдкреНрд░рддрд┐ рдереА, рдЗрд╕рд▓рд┐рдП рдлрдбрд╡реАрд╕ рдХреЙрд▓ рдХреА рддреАрд╡реНрд░рддрд╛ рдмрд╣реБрдд рдХрдо рдереА, рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреА рдХрдореА рдмрддрд╛рддреА рдереАред рд▓реЙрдЧрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ 3-4 рдЧреБрдирд╛ рдмрдврд╝рд╛рдирд╛ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рд╣реИред


рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ:


рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирдИ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрдИ рд▓реЛрдЧ рдореБрдЦреНрдп рдмрд╛рдд рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ: рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдкреГрдердХ" рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕рднреА рдореБрдЦреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддреА рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ , рд░реИрдо , рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП ред рдФрд░ рдЪреВрдВрдХрд┐ рдХрд░реНрдиреЗрд▓ рдПрдХ рдЕрддреНрдпрдВрдд рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреБрд░реНрдШрдЯрдирд╛рдПрдВ рдХрд╣реАрдВ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рдЬреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Sysdig рд▓реЗрдЦ рд╕реЗ __d_lookup_loop рдореЗрдВ )ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╕реЗ рднреА рдмрджрддрд░ рдпрд╛ рдмреЗрд╣рддрд░ рд╣реИрдВред рд╡реЗ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдмрд╕ рдпрд╛рдж рд░рдЦреЗрдВ: рдХрд░реНрдиреЗрд▓ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рд╣реИ, рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕реНрдерд╛рди рдореЗрдВ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдУред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдШрд░реНрд╖ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП "рдкрддрд▓реЗ" рдЕрд▓рдЧрд╛рд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЛрдбрд╝рдиреЗ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рдЫрд┐рдкреЗ рд╣реБрдП рдЪреИрдирд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЕрд╡рд╕рд░ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкреВрд░реНрдг рд╣реИ - рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рдЬреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдбреЙрдХрдЯрд░ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреВрд░реНрдг рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

Source: https://habr.com/ru/post/hi429788/


All Articles