Yandex рдореЗрдВ рдкрд░реАрдХреНрд╖рдг: рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ Lunapark рдХрд╛ рдирд┐рд░реНрдорд╛рдг



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

рд╡реИрд╕реЗ, рдореИрдВ Yandex.Tank рдФрд░ рдЯреЗрд╕реНрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг 18 рдирд╡рдВрдмрд░ рдХреЛ 18:00 рд╕реЗ рдкрд╣рд▓реЗ рдЦреБрд▓рд╛ рд╣реЛрдЧрд╛ред рд╡рд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЛ рд▓рд╛рдЗрд╡ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред

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

рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░




рд╕реНрд╡рдЪрд╛рд▓рди рдкреНрд░рдгрд╛рд▓реА рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдорд╛рдирдХреАрдХреГрдд рдХрд░рдиреЗ, рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ (рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рд▓реЙрдЧ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдмрдврд╝рд╛рдиреЗ) рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЬреЗрдирдХрд┐рдВрд╕, рдорд╛рд╡реЗрди, рд░реЗрдХ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдЬ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдмрдбрд╝реЗ рдкрдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИред

рд▓реЛрдб рдЬрдирд░реЗрдЯрд░ рдПрдХ рд╡рд░реНрдХрд╣реЛрд░реНрд╕ рд╣реИ, рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛ рдПрдХ рд▓рдХреНрд╖реНрдп (рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ) рдкрд░ рд▓реЛрдб рдмрдирд╛рддрд╛ рд╣реИред рдХрд╣рд╛рдиреА Yandex.Tank рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧреА - рдпрд╣ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рд╢реВрдЯрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд░рд┐рдЪрд┐рдд JMeterред рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЯреИрдВрдХ 2012 рдореЗрдВ рдпрд╛рдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рдпрд╣ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ "рд╣реИрд▓реЛ, рдЖрдк рдХреИрд╕реЗ рд╣реИрдВ?" рд▓рд┐рдирдХреНрд╕ рдкрд░, рдФрд░ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

Yandex.Tank рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


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

#      sources.list: deb http://ppa.launchpad.net/yandex-load/main/ubuntu precise main deb-src http://ppa.launchpad.net/yandex-load/main/ubuntu precise main 


 apt-get update && sudo apt-get install yandex-load-tank-base 


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ MacOS рдкрд░ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рддреЛ рдЖрдк .deb рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрд╕рд╕реЗ .rpm рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░реАрдХрд╛ рд╣реИ, рдЧреАрдереВрдм рд╕реЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ред

 git clone https://github.com/yandex-load/yandex-tank.git 


рдЯреИрдВрдХ рдХреЛ рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдкрд╛рдпрдерди рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдлреИрдВрдЯрдо - рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рдЯреИрдВрдХ рдПрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ рднреАред рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдпрд╣рд╛рдБ рд╕реБрдиреА рдЬрд╛ рд╕рдХрддреА рд╣реИ ред

рдЖрд╡рд╢реНрдпрдХ рдЕрдЬрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:

 pip install ipaddr lxml progressbar psutil mysqldb sqlalchemy 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдкреНрд░реЗрдд рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдпрд╣рд╛рдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕реЗ рдХрд┐рд╕рдХреА рдЬрд░реВрд░рдд рд╣реИ - рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВред

рдпрд╣ рд╢реВрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдордп рд╣реИ


рдПрдХ рдЯреИрдВрдХ рдХреЛ рд╢реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ (рдЖрдЬ рдореЗрд░реЗ рдкрд╛рд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ KO рд╣реИ)ред рдореИрдВ рдЙрди рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдБрдЧрд╛ рдЬрд┐рдирдореЗрдВ рдХрдИ рд╣реИрдВ ; рдореИрдВ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:

 [phantom] address=example.org rps_schedule=line(1, 100, 10m) headers = [Host: example.org] [Connection: close] [Bloody: yes] uris=/ /list /img 


рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╕ рдпреИрдВрдбреЗрдХреНрд╕-рдЯреИрдВрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЯреИрдВрдХ рд╢реБрд░реВ рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ load.ini рдирд╛рдордХ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд░рд╕рд░рд╛рд╣рдЯ, рд╕рд░рд╕рд░рд╛рд╣рдЯ, рдЧреЛрд▓реА рдорд╛рд░ рджреЗрдЧрд╛, рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ * * .log рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ gnuplot рдореЗрдВ рдзрдХреЗрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдРрд╕реЗ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпрд╛ рд╣рдо рд╣реИрдВ?

рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдбрд╛рд▓реЗрдВ


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

 apt-get install python python-dev python-cairo pip install whisper carbon graphite-web django==1.5.1 Twisted==11.1.0 django-tagging 


рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (* .conf.example -> * .conf) рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
 for file in /opt/graphite/conf/*.example; \ do cp $file ${file%.*}; done 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЧреНрд░реЗрдлрд╛рдЗрдЯ 1 рдорд┐рдирдЯ рдХреЗ рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╣рд░ рд╕реЗрдХрдВрдб рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:

 [load] pattern = ^one_sec\.yandex_tank\. retentions = 1s:7d,5s:1y 


рдкреНрд░рд╛рдЪреАрди рд▓реЗрдЦрди рдХреНрдпрд╛ рд╣реИрдВ? рдореИрдВрдиреЗ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреЛ рдкреНрд░рддрд┐рдорд╛рди рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдиреАрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреИрдЯрд░реНрди рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рднреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд▓рд╛рди regexp рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛:

 1s:7d, 5s:1y 


рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ: рджреВрд╕рд░реА рд╕рдЯреАрдХрддрд╛ - рд╕рд╛рдд рджрд┐рди, рдлрд┐рд░ рдкрд╛рдВрдЪ-рджреВрд╕рд░реА рд╕рдЯреАрдХрддрд╛ - рд╡рд░реНрд╖ рдХреЗ рджреМрд░рд╛рдиред

рдФрд░ рдПрдХ рдмрд╛рддред рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдПрдХ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдиреНрдпрдерд╛, рд╕реНрдерд╛рдиреАрдп рд╕рдордп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдЖрдк рдЧреНрд░рд╛рдлрд╝ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ - рдЖрдк рдмрд╕ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗред рд╕рдордп рдХреНрд╖реЗрддреНрд░ local_settings.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ):

 echo TIME_ZONE = "Europe/Moscow" \ > /opt/graphite/webapp/graphite/local_settings.py 


рдЕрдм django рдореЗрдВ рдЧреЛрд▓рд┐рдпрд╛рдБ рдмрдирд╛рдПрдБ:

 cd /opt/graphite/webapp/graphite python manage.py syncdb 


рдЧреНрд░реЗрдлрд╛рдЗрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрд╛рд░реНрдмрди рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдПрдХ рд╡реЗрдм рдлреНрд░рдВрдЯреЗрдВрдб рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 /opt/graphite/bin/carbon-cache.py start /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite/ 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдмрди 2003rd рдкреЛрд░реНрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдЪрд▓реЛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 echo my.favourite.metric 1 $(date +%s) | nc -q0 localhost 2003 


рдпрд╣рд╛рдВ рд╣рдо рд╡рд░реНрддрдорд╛рди рдорд╛рди рдХреЛ рдореМрдЬреВрджрд╛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк 1 рдореАрдЯреНрд░рд┐рдХ "my.favourite.metric" рдХреЗ рд╕рд╛рде рднреЗрдЬрддреЗ рд╣реИрдВред рдЕрдм рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ / proc / vmstat рдХреА рд╕рд╛рдордЧреНрд░реА рднрд░реЗрдВ (рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ):

 while read -r metric; \ do echo one_sec.vmstat.$metric $(date +%s); \ done < /proc/vmstat \ | nc -q0 localhost 2003 


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

рдЖрдк рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдврд╝ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ 8080 рдкрд░ рд╕реБрдирддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЦреЗрд▓реЛ, рдФрд░ рдлрд┐рд░ рдЬрд╛рд░реА рд░рдЦреЗрдВред



рдЯреИрдВрдХ рдХреЛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рддреЛ рдареАрдХ рд╣реИ! рдпрд╣ рд╣рдорд╛рд░реЗ рдирдП рджреЛрд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдпрд╣ рд╕рд░рд▓ рднреА рд╣реИред рдЯреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝реЗрдВ:

 [graphite] address=localhost 


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

рдорд╛рддреНрд░рд╛ рдФрд░ рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп



рдорд╛рддреНрд░рд╛рддреНрдордХ рдЧреНрд░рд╛рдл рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХрд╛ рд╡рд┐рддрд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЯреЛрдХрди



рдЗрд╕ рдЧреНрд░рд╛рдл рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдЕрдиреБрд░реЛрдз рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд╛рдпрд░рд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░рддреВрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рднрд╛рд░реА рд╕реЗ рдкреНрд░рдХрд╛рд╢ред

рдорд╛рд░реНрдХрд░ рдФрд╕рдд рд╕рдордп



рд╕рд░реНрд╡рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдХреИрд╕реЗ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдпрд╣рд╛рдВ рд╣реИред

рдЙрддреНрддрд░ рдХреЛрдб



рдпрджрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдЧреНрд░рд╛рдл рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред

рд╕рдВрдЪрдпреА рдорд╛рддреНрд░рд╛рдПрдБ



рдкрд╣рд▓реЗ рдЧреНрд░рд╛рдл рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣рд╛рдБ рдкрд░рд┐рдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ "рд╕рдВрдЪрд┐рдд" рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрджрд▓рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢реЙрдЯ рд▓рд┐рдпрд╛ рдХрд┐ рдЙрддреНрддрд░ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЦрд╛рдХрд╛


рд╕рднреА рдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╣рдордиреЗ рдЪрд░реНрдЪрд╛ рдХреА рдереА рдХрд┐ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рднрд░реЗрдВ? рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рднреА рдХреИрд╕реЗ рджреЗрдЦреЗрдВ? рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде HTML-ki рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреИрдВрдХ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 [graphite] template = ./my.tpl 


рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд╕рд╛рде рд╕рд┐рд░реНрдл HTML рд╣реИ рдЬрд┐рд╕реЗ рдЯреИрдВрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 <h2>RPS by marker</h2> <img src="" /> <h2>Average response time by marker</h2> <img src="" /> <h2>HTTP codes</h2> <img src="" /> 


рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 http://{host}:{web_port}/render/? width={width}& height={height}& from={start_time}& until={end_time}& target=aliasByMetric({prefix}.overall.quantiles.25_0)& target=aliasByMetric({prefix}.overall.quantiles.50_0)& target=aliasByMetric({prefix}.overall.quantiles.75_0)& target=aliasByMetric({prefix}.overall.quantiles.90_0)& target=aliasByMetric({prefix}.overall.quantiles.95_0)& target=aliasByMetric({prefix}.overall.quantiles.99_0)& target=aliasByMetric({prefix}.overall.quantiles.100_0)& target=aliasByMetric({prefix}.overall.avg_response_time)& areaMode=all 


рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╣рдо рдмрджрд▓реА рдлрд╝реАрд▓реНрдб рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИред {Host} рдХреЗ рдмрдЬрд╛рдп, рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдХ рд╣реЛрд╕реНрдЯ рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп {start_time} рдФрд░ {end_time} - рд╢реВрдЯрд┐рдВрдЧ рдХрд╛ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рд╕рдордпред рдЦреИрд░, рдЖрдкрдХреЛ рдмрд╛рдд рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдИред

рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ?


рддреЛ, рд╣рдореЗрдВ рдПрдХ рд╢реВрдЯрд░ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдЪрдЯреАрдПрдордПрд▓-рдХреВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЕрдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЧреЛрд▓реАрдмрд╛рд░реА рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ? рдХреНрд░реЛрди рджреНрд╡рд╛рд░рд╛? рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рдЬреЗрдирдХрд┐рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЧрд▓реА рдмрд╛рд░ рдХрд┐рд╕реА рддрд░рд╣ред рджреЗрдЦрддреЗ рд░рд╣реЛ!

рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд╛рда рдХреЛ рдЕрдВрдд рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╖рдп рдЖрдкрдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЖрдУ рдЯреЗрд╕реНрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВред рдЗрд╕ рдкрд░, рдореЗрд░реЗ рд╕рд╛рдереА, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рд░рдЧрдо тАЛтАЛрдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЖрдУ рд╕реБрдиреЛ рдФрд░ рдЪреИрдЯ рдХрд░реЛ!

рд╕рдВрджрд░реНрдн


Tech.yandex.ru/events/yac/2013/talks/1122 - рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ dkulikovsky @
github.com/graphite-project/graphite-web - github рдкрд░ рдЧреНрд░реЗрдлрд╛рдЗрдЯ
github.com/yandex-load/yandex-tank - Github рдкрд░ рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ
github.com/BrightcoveOS/Diamond - рд╣реАрд░рд╛
collectd.org - рдХрд▓реЗрдХреНрдЯрдбреА
twitter.com/direvius - рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдореБрдЭреЗ рдлреЙрд▓реЛ рдХрд░реЗрдВ

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


All Articles