рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрд▓рд░реНрдЯ рдкрд╕рдВрдж рд╣реЛрддреЗ рд╣реИрдВ.
рдирд┐рдГрд╕рдВрджреЗрд╣, рдЬрдм рдХреБрдЫ рдШрдЯрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реЛ (рдпрд╛ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ) рддреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдмреИрда рдХрд░ рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦреЗрдВ рдФрд░ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдЯреВрд▓реНрд╕ рдмрдирд╛рдпреЗ рдЧрдпреЗ рд╣реИрдВ. рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрд▓рд░реНрдЯрдореИрдиреЗрдЬрд░ рдФрд░ рд╡рд┐рдХреНрдЯреЛрд░рд┐рдпрд╛рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЙрддреНрдкрд╛рдж рд╕рдореВрд╣ рд╕реЗ рд╡реАрдорд╛рд▓рд░реНрдЯред рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рдЬрд╝реИрдмрд┐рдХреНрд╕ рд╕реВрдЪрдирд╛рдПрдВ рдФрд░ рдЕрд▓рд░реНрдЯред рдмреИрд╢ рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдореЗрдВ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдХреБрдЫ рдпреВрдЖрд░рдПрд▓ рдЦреАрдВрдЪрддреА рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рддреА рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдЧрд▓рдд рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рдмрдХреБрдЫ.
рд╣рдордиреЗ, рдЕрдкрдиреА рдХрдВрдкрдиреА рдореЗрдВ, рддрдм рддрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рд╣рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛, рдпрд╛, рдмрд▓реНрдХрд┐, рдЬрдЯрд┐рд▓, рд╕рдордЧреНрд░ рдЕрд▓рд░реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд╣рдо рдЬреЛ рдЪрд╛рд╣рддреЗ рдереЗ рдФрд░ рд╣рдордиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдХрдЯреМрддреА рд╕реЗ рдиреАрдЪреЗ рд╣реИред рдЯреАрдПрд▓рдбреАрдЖрд░: рдЗрд╕ рддрд░рд╣ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдордиреЗ рдЖрдпрд╛
рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдо рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЕрд▓рд░реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рд╕реЗ рд░рд╣реЗред рд╣рд╛рдБ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ. рдЕрд▓рд░реНрдЯрдореИрдиреЗрдЬрд░ рдЬреИрд╕реЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╣рдореЗрд╢рд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рд╣рдордиреЗ рднреА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдУрд░ рджреЗрдЦрд╛ред рдФрд░ рдлрд┐рд░, рдзреАрд░реЗ-рдзреАрд░реЗ, рд╣рдо рдФрд░ рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреЗ рдереЗред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд╛рд░реНрдЯ рдореЗрдВ XX% рдХреА рдЧрд┐рд░рд╛рд╡рдЯ/рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ рдФрд░ рдПрдо рдШрдВрдЯреЗ рдХреА рдкрд┐рдЫрд▓реА рдЕрд╡рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрди рдорд┐рдирдЯ рддрдХ рд░рд╣рд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд╛рдирд╛ рдпрд╛ рдЕрд▓рд░реНрдЯрдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред (рдпрд╛ рд╢рд╛рдпрдж рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЕрднреА рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛)
рдЪреАрдЬреЗрдВ рддрдм рдФрд░ рднреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдЬрдм рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рддрд░реНрдХ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг:
рд╣рдо рджреЛ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдХреБрдЫ рдбреЗрдЯрд╛ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрд▓рд░реНрдЯ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред рд╕рдВрдХреЗрдд рджреЗрдВ рдпрд╛ рд░рджреНрдж рдХрд░реЗрдВ
рд╣рдордиреЗ рдЕрдкрдиреЗ рдирд┐рд░реНрдгрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реА рдЗрдЪреНрдЫрд╛рдПрдБ рдЬрдорд╛ рдХрд░ рд▓реА рд╣реИрдВред рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ/рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдкрд╣рд▓реА рд╕реВрдЪреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдЬреЛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИред
-
рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдореЗрдерд┐рдпрд╕, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ
-
рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ - рдЯреЗрд▓реАрдЧреНрд░рд╛рдо, рд╕реНрд▓реИрдХ, рдЖрджрд┐ рдХреЛ рдЕрд▓рд░реНрдЯ рднреЗрдЬреЗрдВред
-
рд╕реЛрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдореБрдЭреЗ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рд┐рдП рдереА
-
рдПрдХ рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛
-
рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрд╕рд╛рди рдЕрджреНрдпрддрди
-
рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╕реЗрд╡рд╛ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рдпрд╣ рд╕реВрдЪреА рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдГ рдмрд╣реБрдд рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИред рдХреБрдЫ рдмрд┐рдВрджреБ рдмрджрд▓ рдЧрдпреЗ, рдХреБрдЫ рдЦрд╝рддреНрдо рд╣реЛ рдЧрдпреЗред рд╕рдм рдХреБрдЫ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╣реИ.
рджрд░рдЕрд╕рд▓, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмреИрд▓рд░рдЯрд░ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╢реБрд░реВ рд╣реБрдЖред
рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдЖрдЦрд╝рд┐рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред (рд╣рд╛рдВ, рдмрд┐рд▓реНрдХреБрд▓, рдпрд╣ рдЕрдВрдд рдирд╣реАрдВ рд╣реИред рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред рдореИрдВ рдмрд╕ рдЖрдЬ рд╣реА рд░реБрдХреВрдВрдЧрд╛)
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдЖрдк рд▓реБрдЖ рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ (рдкреНрд░реЛрдореЗрдерд┐рдпрд╕, рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕, рдЖрджрд┐ рдХреЛ)ред рдЖрдк рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрд▓рд░реНрдЯ рдЪрд╛рд▓реВ/рдмрдВрдж рдХрд░реЗрдВред Balerter рд╕реНрд╡рдпрдВ рдЙрди рдЪреИрдирд▓реЛрдВ рдХреЛ рдПрдХ рд╕реВрдЪрдирд╛ рднреЗрдЬреЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ (рдИрдореЗрд▓, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо, рд╕реНрд▓реИрдХ, рдЖрджрд┐)ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╕ рдЗрддрдирд╛ рд╣реА)
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдирд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╣реИ:
-- @interval 10s
-- @name script1
local minRequestsRPS = 100
local log = require("log")
local ch1 = require("datasource.clickhouse.ch1")
local res, err = ch1.query("SELECT sum(requests) AS rps FROM some_table WHERE date = now()")
if err ~= nil then
log.error("clickhouse 'ch1' query error: " .. err)
return
end
local resultRPS = res[1].rps
if resultRPS < minResultRPS then
alert.error("rps-min-limit", "Requests RPS are very small: " .. tostring(resultRPS))
else
alert.success("rps-min-limit", "Requests RPS ok")
end
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
-
рд╣рдо рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд░ 10 рд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
-
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо рдмрддрд╛рдПрдВ (рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП)
-
рдЖрдЙрдЯрдкреБрдЯ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
-
рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
ch1
(рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) -
рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ
-
рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рд▓реЙрдЧ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВ
-
рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╕реЗ рдХрд░реЗрдВ (рдПрдХ рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдпрд╣ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ)
-
рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЕрд▓рд░реНрдЯ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
rps-min-limit
-
рдпрджрд┐ рдЪреЗрддрд╛рд╡рдиреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА
рдЙрджрд╛рд╣рд░рдг рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИ. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдлреА рд▓рдВрдмреА рдФрд░ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рднреНрд░рдорд┐рдд рд╣реЛрдирд╛ рдФрд░ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЗрдЪреНрдЫрд╛ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЧрдИ рд╣реИ - рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреАред рдФрд░ рд╕рдВрд╕реНрдХрд░рдг v0.4.0 рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдкрд░реАрдХреНрд╖рдг:
-- @test script1
-- @name script1-test
test = require('test')
local resp = {
{
rps = 10
}
}
test.datasource('clickhouse.ch1').on('query', 'SELECT sum(requests) AS rps FROM some_table WHERE date = now()').response(resp)
test.alert().assertCalled('error', 'rps-min-limit', 'Requests RPS are very small: 10')
test.alert().assertNotCalled('success', 'rps-min-limit', 'Requests RPS ok')
рдХреНрд░рдорд╢рдГ:
-
рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╛рдо рдмрддрд╛рдПрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
-
рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдирд╛рдо (рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП)
-
рдкрд░реАрдХреНрд╖рдг рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
-
рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
ch1
-
рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЕрд▓рд░реНрдЯ (рддреНрд░реБрдЯрд┐) рдЖрд░рдкреАрдПрд╕-рдорд┐рди-рд▓рд┐рдорд┐рдЯ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
-
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЖрд░рдкреАрдПрд╕-рдорд┐рди-рд▓рд┐рдорд┐рдЯ рдЕрд▓рд░реНрдЯ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╕рдлрд▓рддрд╛)
Balerter рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдмреИрд▓реЗрдЯрд░ рдХреМрд╢рд▓ рдХреЛ рдЫреВрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
-
рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
-
рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕
-
postgres
-
MySQL
-
рдкреНрд░реЛрдореЗрдерд┐рдпрд╕
-
рд▓реЛрдХреА
-
-
рдЪреИрдирд▓реЛрдВ рдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬреЗрдВ
-
рдвреАрд▓рд╛
-
рддрд╛рд░
-
syslog
-
рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ (рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдпреВрдЖрдИ рд╕реВрдЪрдирд╛рдПрдВ)
-
рдИрдореЗрд▓
-
рдХрд▓рд╣
-
-
рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рдПрдВ, рдЫрд╡рд┐ рдХреЛ S3 рд╕рдВрдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ (
рдЪрд┐рддреНрд░реЛрдВ рд╕рд╣рд┐рдд рдЙрджрд╛рд╣рд░рдг ) -
рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рд╡реИрд╢реНрд╡рд┐рдХ рдХреБрдВрдЬреА/рдореВрд▓реНрдп рднрдВрдбрд╛рд░рдг
-
рд▓реБрдЖ рдореЗрдВ рдЕрдкрдиреА рдЦреБрдж рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд▓реБрдЖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ json, csv рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ)
-
рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ (рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ)
-
рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рддрдХ рдЙрддрдирд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ)
-
рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ
рдЖрдк рдФрд░ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╣рдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреНрд░реЙрди. рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг v1.0.0 рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдореИрдВ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╡рд┐рддрд░рдг рдЪреИрдирд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ MongoDB рдХреЛ рдорд┐рд╕ рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд▓реЛрдЪрджрд╛рд░ рдЦреЛрдЬ. рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдкрд░ рдПрд╕рдПрдордПрд╕ рднреЗрдЬреЗрдВ рдФрд░/рдпрд╛ рдХреЙрд▓ рдХрд░реЗрдВред рд╣рдо рди рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ, рдмрд▓реНрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдФрд░ рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рди рдХрд┐рд╕реА рдХреЛ рд╣рдореЗрд╢рд╛ рдХреБрдЫ рди рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ) рдпрд╣рд╛рдВ рд╣рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рд╕рд╛рдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдореБрджрд╛рдп рдХреА рдорджрдж рдХрд░рдирд╛
рдЕрдВрдд рдореЗрдВ
рд╣рдо рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдФрд░ рдЖрдкрдХреЗ рдЕрдВрдХ рдФрд░ рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╕реНрд░реЛрдд: www.habr.com