
рд╣рдордиреЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдореЗрдВ PgBouncer рдХреЗ рд▓рд┐рдП рдирд┐рдЧрд░рд╛рдиреА рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдХрдВрдШреА рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЯреЙрдо рд╡рд┐рд▓реНрдХреА рд╕реЗ рдмреНрд░реЗрдВрдбрди рдЧреНрд░реЗрдЧ рдФрд░ RED (рдЕрдиреБрд░реЛрдз, рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдЕрд╡рдзрд┐) рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рджрд░реНрд╢рди рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рддрд░реАрдХреЗ: USE (рдЙрдкрдпреЛрдЧ, рд╕рдВрддреГрдкреНрддрд┐, рддреНрд░реБрдЯрд┐рдпрд╛рдВ) рдкрд░ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ред
Cutscene рдХреЗ рддрд╣рдд рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╣рд╛рдиреА рд╣реИ рдХрд┐ рдХреИрд╕реЗ pgbouncer рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП USE / RED рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЦреБрдж рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрджреНрдпрдкрд┐ рдпреЗ рд╡рд┐рдзрд┐рдпрд╛рдВ рдХрд╛рдлреА рдкреНрд░рд╕рд┐рджреНрдз рд╣реИрдВ ( рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмрд░ рдкрд░ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╣рд╛рди рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ ), рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╣реИрдВред
рдЙрдкрдпреЛрдЧ
рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП, рдирд┐рдкрдЯрд╛рди, рд╕рдВрддреГрдкреНрддрд┐ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВред
рдмреНрд░реЗрдВрдбрди рдЧреНрд░реАрдЧ
рдпрд╣рд╛рдВ, рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХрд┐рд╕реА рднреА рдЕрд▓рдЧ рднреМрддрд┐рдХ рдШрдЯрдХ рд╣реИ - рдПрдХ рд╕реАрдкреАрдпреВ, рдбрд┐рд╕реНрдХ, рдмрд╕, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рди рдХреЗрд╡рд▓ - рдХреБрдЫ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЗрд╕ рдкрджреНрдзрддрд┐ рджреНрд╡рд╛рд░рд╛ рднреА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрднрд╛рд╕реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ / рд╕реАрдЧреНрд░реБрдк, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпреВ - рдирд┐рдкрдЯрд╛рди : рдпрд╛ рддреЛ рд╕рдордп рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рд╢рдд (рдЕрд╡рд▓реЛрдХрди рдЕрдВрддрд░рд╛рд▓ рд╕реЗ) рдЬрдм рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдореЗрдВ рд╡реНрдпрд╕реНрдд рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CPU рдпрд╛ рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ 90% рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ 90% рд╕рдордп рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдпрд╛, рд╕реНрдореГрддрд┐ рдЬреИрд╕реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╕реНрдореГрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рд╣реИред
рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, 100% рд░реАрд╕рд╛рдЗрдХреНрд▓рд┐рдВрдЧ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрд╛ рддреЛ рдХрд╛рдо рдЬрд╛рд░реА рд╣реЛрдиреЗ / рдХрддрд╛рд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рдЕрдЯрдХ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред рдпреЗ рджреЛ рдкрд░рд┐рджреГрд╢реНрдп рдЗрд╕реА рд╢реЗрд╖ рдмрдЪреЗ USE рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ:
рдПрд╕ - рд╕рдВрддреГрдкреНрддрд┐ , рдпрд╣ рд╕рдВрддреГрдкреНрддрд┐ рднреА рд╣реИ: "рдЖрд╕реНрдердЧрд┐рдд" / рдХрддрд╛рд░рдмрджреНрдз рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдПрдХ рдЙрдкрд╛рдпред
рдИ - рддреНрд░реБрдЯрд┐рдпрд╛рдВ : рд╣рдо рдмрд╕ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рддреНрд░реБрдЯрд┐рдпрд╛рдВ / рд╡рд┐рдлрд▓рддрд╛рдПрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝реНрд▓рд┐рдк рдХрд┐рдП рдЧрдП рд╕рдВрдЪрд╛рд▓рди рдпрд╛ рдмреИрдХрдЕрдк рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд╕рд╛рде рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рддрдВрддреНрд░, рдЖрджрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рд▓рд╛рд▓
рдЯреЙрдо рд╡рд┐рд▓реНрдХреА (рдЕрдм рдЧреНрд░рд╛рдлрд╛рдирд╛ рд▓реИрдмреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ) рдХреЛ USE рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА, рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЦрд░рд╛рдм рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрддрд╛ рд╕реЗ рдирд┐рд░рд╛рд╢рд╛ рд╣реБрдИред рдХреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдореГрддрд┐ рдХреА рд╕рдВрддреГрдкреНрддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП? рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдмрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдорд╛рдкреЗрдВ?
рд▓рд┐рдирдХреНрд╕, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдЧ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдЯреАред рд╡рд┐рд▓реНрдХреА
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдФрд░, рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдзрд┐ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛: рдлрд┐рд░ рд╕реЗ, рддреАрди рд╕рдВрдХреЗрддрдХ:
рдЖрд░ - рджрд░ : рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдИ - рддреНрд░реБрдЯрд┐рдпрд╛рдВ : рдХрд┐рддрдиреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИред
D - рдЕрд╡рдзрд┐ : рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордпред рдпрд╣ рд╡рд┐рд▓рдВрдмрддрд╛ рд╣реИ, "рд╡рд┐рд▓рдВрдмрддрд╛" (┬й рд╕реНрд╡реЗрддрд╛ рд╕реНрдорд┐рд░рдиреЛрд╡рд╛ :), рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп, рдЖрджрд┐ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, USE рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрднрд╛рд░ / рдкреЗрд▓реЛрдб рдХреЗ рд▓рд┐рдП REDред
PgBouncer
рдПрдХ рд╕реЗрд╡рд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрд╕рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реАрдорд╛рдПрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдпрд╣реА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕ PgBouncer рдХреЗ рдЬрд░рд┐рдП рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреВрд░реНрдг рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрди рддрд░реАрдХреЛрдВ рдХреЛ рдмрд╛рдЙрдВрд╕рд░ рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдЙрдкрдХрд░рдг рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдмреНрд▓реИрдХ-рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ - "рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдпрд╛ "рдкреЛрд░реНрдЯ рдУрдкрди рд╣реИ", рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдФрд░ рдХреИрд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рдФрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред
PgBouncer рдЧреНрд░рд╛рд╣рдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
- рдЧреНрд░рд╛рд╣рдХ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
- [рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ] x рдЙрд╕реЗ рдХрд┐рддрдиреА рдмрд╛рд░ рдЪрд╛рд╣рд┐рдП
рдпрд╣рд╛рдВ рдореИрдВрдиреЗ PgBoucer рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдПрдХ рдЖрд░реЗрдЦ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ:

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

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

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

рдЪреВрдВрдХрд┐ рдпрд╣ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗрд╡рд▓ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, CL_WAITING_LOGIN
рд╕реНрдерд┐рддрд┐ рднреА CL_WAITING_LOGIN
ред
рдпрджрд┐ рд╣рдо рдЕрдм рдкреАрдЫреЗ рдХреА рдУрд░ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ - рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рддрд░рдл рд╕реЗ, рддреЛ, рддрджрдиреБрд╕рд╛рд░, рд╡реЗ рдРрд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╣реИрдВ: рдЬрдм рдХрдиреЗрдХреНрд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╣реЛрддрд╛ рд╣реИ - рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ - SV_LOGIN
, рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ (рд╕рдВрднрд╡рддрдГ) - SV_ACTIVE
, рдпрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ - SV_IDLE
ред
PgBouncer рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ (рднреЛрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг) рдкрд░ рдЖрддреЗ рд╣реИрдВ:
Pool utiliz = /
PgBouncer рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ pgbouncer рдпреВрдЯрд┐рд▓рд┐рдЯреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ SHOW POOLS
рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреВрд▓ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

4 рдЧреНрд░рд╛рд╣рдХ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА cl_active
ред 5 рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ - 4 sv_active
рдФрд░ рдПрдХ рдирдП рд░рд╛рдЬреНрдп sv_used
ред
рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрдмрдВрдзрд┐рдд pgbouncer рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ sv_used рдХреНрдпрд╛ рд╣реИрддреЛ sv_used
рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ", рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдХрдиреЗрдХреНрд╢рди рдПрдХ рдмрд╛рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛"ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ PgBouncer рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ LIFO рдореЛрдб рдореЗрдВ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдЕрд░реНрдерд╛рддред рдкрд╣рд▓реЗ, рдирдП рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрджрд┐ред рдзреАрд░реЗ-рдзреАрд░реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдпреМрдЧрд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рдвреЗрд░ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди "рдЦрд░рд╛рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ"ред рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдЬреАрд╡рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ server_check_query
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдирдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рд░рд╛рдЬреНрдп sv_tested
рд╣реЛрдЧрд╛ред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ LIFO рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рддрдм "рдХрдиреЗрдХреНрд╢рди рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрднрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕рд░реНрд╡рд░ pgbouncer рдХреЗ рдкреАрдЫреЗ рд╕реЗрд╡рд╛рд░рдд рд╣реЛрддрд╛ рд╣реИ", рдЕрд░реНрдерд╛рддред рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧрд░ рд╕рдмрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рдХрд╛рд░рдг рдХрдИ рдмреИрдХрдПрдВрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рдмрдЪрдд рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг> 12 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИ рдФрд░ рдЬреАрдердм рдкрд░ рдореЗрд░реЗ рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ рдкрд░реЗ рд╣реИ рдФрд░ рдореЗрд░реА рд░реБрдЪрд┐ рдХреА рдЧрд╣рд░рд╛рдИ =)
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдЬреАрдм рдФрд░ server_check_delay
рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ server_check_delay
рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди, рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, 30 рд╕реЗрдХрдВрдб рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ tcp_keepalive рдПрдХ рд╕рд╛рде рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рд╣реИ - рдЕрдкрдиреЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдХреЗ 2 рдШрдВрдЯреЗ рдмрд╛рдж рдирдореВрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЬреАрд╡рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред
рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рдлрдЯ / server_check_query
рд╣реБрдИ server_check_query
, server_check_query
рдкрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд▓рдВрдм рдкреЗрд╢ рдХрд┐рдпрд╛ server_check_query
, рд╣рд╛рд▓рд╛рдВрдХрд┐, " SELECT 1;
рдЕрднреА рднреА ~ 100 microseconds рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ server_check_query = ';'
рддрдм рдЖрдк рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ ~ 30 microseconds =)
рд▓реЗрдХрд┐рди рдпрд╣ рдзрд╛рд░рдгрд╛ рдХрд┐ рдмрд╕ рдХреБрдЫ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ = рдХрдИ "рдореБрдЦреНрдп" рдмреИрдХ-рдПрдВрдб рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛрдЧрд╛, рдпрд╣ рдореБрдЭреЗ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╢ (рдореЗрдЯрд╛) рдЬрд╛рдирдХрд╛рд░реА рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯреЗрдмрд▓ рд╣реИрдВ, рддреЛ рдпрд╣ рд░рд┐рд▓реИрдЪ рдмрд╣реБрдд рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ 0_o рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреА рдЕрджрд▓рд╛-рдмрджрд▓реА рддрдХ, рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, server_lifetime
рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 1 рдШрдВрдЯреЗ рд╣реИ), рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░, рдПрдХ server_round_robin
рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ рдЬреЛ LIFO рд╕реЗ FIFO рддрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдореЛрдб рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдЧрд╛, рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рдорд╛рди рд░реВрдк рд╕реЗ server_round_robin
ред
SHOW POOLS
(рдХреБрдЫ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рджреНрд╡рд╛рд░рд╛) рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рд▓реЗ рдХрд░ рд╣рдо рдЗрди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рд▓реЗрдХрд┐рди рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
- рдкреВрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рд╣реИ?
- рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдпреМрдЧрд┐рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЪреБрдЯрдХреБрд▓реЛрдВ рдореЗрдВ рдпрд╛ рд╕рдордп рдореЗрдВ, рдФрд╕рддрди рдпрд╛ рд╢рд┐рдЦрд░ рдкрд░?
рдкреВрд▓ рдХрд╛ рдЖрдХрд╛рд░
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЬрдЯрд┐рд▓ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЬреАрд╡рди рдореЗрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, pbbouncer рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдБрдЪ рд╕реЗрдЯрд┐рдВрдЧреНрд╕-рд╕реАрдорд╛рдПрдБ рд╣реИрдВ!
- рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП
pool_size
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбреАрдмреА / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреВрд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ, рдЖрдк рдПрдХ рдФрд░ pool_size
рдмреИрдХрдПрдВрдб / рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╡рд░реНрдХрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ pool_size
рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ default_pool_size
рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ 20 рддрдХ рдЪреВрдХ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ (рдФрд░ pgbouncer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ 20 рдкреЛрд╕реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдФрд░ рдкреВрд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ, рдЕрд░реНрдерд╛рддред рдордХреНрдЦреА рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдФрд░ рдлрд┐рд░ autodb_idle_timeout
рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ autodb_idle_timeout
), рддреЛ рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ =)
рдпрд╣ рд╣рд░ рдлрд╛рдпрд░рдореИрди рдХреЗ рд▓рд┐рдП default_pool_size
рдЫреЛрдЯрд╛ рдЫреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
max_db_connections
- рдХреЗрд╡рд▓ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рдХрдИ рдмреИрдХрдПрдВрдб / рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкреНрд░реЛрд╕реЗрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдБ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ - рдЕрд╕реАрдорд┐рдд (_ (default) _ / unlimited
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ max_db_connections
рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ Postgres (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 100 рджреНрд╡рд╛рд░рд╛) рдХреЗ max_connections
рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ PgBouncers рд╣реИрдВ ...
reserve_pool_size
- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ pool_size
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ PgBouncer рдЖрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣ рднрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗредmax_user_connections
- рдпрд╣, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реАрдорд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИрдВ рдФрд░ рд╡реЗ рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреЗ рд╣реИрдВредmax_client_conn
- PgBouncer рдХреБрд▓ рдХрд┐рддрдиреЗ рдЧреНрд░рд╛рд╣рдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рдЕрд░реНрде рд╣реИ - 100. рдпрд╣реА рд╣реИ, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ 100 рд╕реЗ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдЪрд╛рдирдХ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдЯреАрд╕реАрдкреА рд╕реНрддрд░ рдкрд░ рдЪреБрдкрдЪрд╛рдк reset
рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд▓реЙрдЧреНрд╕ рдореЗрдВ, рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ "рдХреЛрдИ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ (max_client_conn)")ред
рдпрд╣ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
SHOW POOLS
рдЕрд▓рд╛рд╡рд╛ SHOW POOLS
рд╕реЗрд╡рд╛ рдЫрджреНрдо-рдмреЗрд╕ pgbouncer SHOW DATABASES
рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреВрд▓ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реАрдорд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

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

рдпрд╣рд╛рдВ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рд▓реЛрдб / рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдПрдХ рдХрд▓реНрдкрдирд╛ рд╣реИ, рдЬреЛ рдЖрдВрдХрдбрд╝реЗ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдПрдХ рдХрд▓рд╛рдХреГрддрд┐ рд╣реИред рдпрд╣рд╛рдБ рдЖрдк рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди Postgres рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдЙрдВрд╕рд░ рдФрд░ PG рдХреЗ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ - рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ:

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

рдФрд░ рдЕрдЧрд░ рд╣рдо рдкреВрд▓ рдХреЗ рдЖрдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдЗрди рд╕рдХреНрд░рд┐рдп рд░рд╛рдЬреНрдп рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕ рдкреВрд▓ рдХрд╛ рдФрд╕рдд рдФрд░ рд╢рд┐рдЦрд░ рдЙрдкрдпреЛрдЧ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдпрд╣ 100% рдХреЗ рдХрд░реАрдм рд╣реИ рддреЛ рдЕрд▓рд░реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, PgBouncer рдореЗрдВ рдПрдХ SHOW STATS
рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдорд╛рдирд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдПрдЧрд╛:

рд╣рдо рдХреЙрд▓рдо total_query_time
рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдордпред рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 1.8 рд╕реЗ рдореАрдЯреНрд░рд┐рдХ total_xact_time
рднреА рд╣реИ - рд▓реЗрдирджреЗрди рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдордпред рдЗрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рд╕рдордп рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣ рд╕рдВрдХреЗрддрдХ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ, рдХрдиреЗрдХреНрд╢рди рд░рд╛рдЬреНрдпреЛрдВ рд╕реЗ рдЧрдгрдирд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирдореВрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ total_..._time
рдХрд╛рдЙрдВрдЯрд░ рд╕рдВрдЪрдпреА рд╣реИрдВ рдФрд░ рдХреБрдЫ рднреА рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:

рддреБрд▓рдирд╛

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирдореВрдирд╛ рдЙрдЪреНрдЪ ~ 100% рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рднреА рдХреНрд╖рдгреЛрдВ рдФрд░ рдХреНрд╡реЗрд░реА_рдЯрд╛рдЗрдо рд╢реЛ рдХреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рд╕рдВрддреГрдкреНрддрд┐ рдФрд░ PgBouncer
рдЖрдкрдХреЛ рд╕рдВрддреГрдкреНрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдЪреНрдЪ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИ?
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрдЪрд┐рдд рдХрд╛рдЙрдВрдЯрд░ рднреА рд╕реНрдерд╛рдиреАрдп 100% рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдмрд╣реБрдд рдХрдо рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдореБрдХреБрдЯ рдпрд╛ рдЕрдиреНрдп рд╕рдордХрд╛рд▓рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд╛рде рдХрдорд╛рдВрдб рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рд╢реНрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдпрджрд┐ рдпреЗ рдЕрдиреБрд░реЛрдз рдХрдо рд╣реИрдВ, рддреЛ рдорд┐рдирдЯреЛрдВ рдФрд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рддрд░рд╛рдЬреВ рдкрд░ рдорд╛рдкрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рдХрд┐рд╕реА рд╕рдордп, рдпреЗ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдереЗред рдпрд╣ 100% CPU рдЙрдкрдпреЛрдЧ рдФрд░ рдЙрдЪреНрдЪ рд▓реЛрдб рдФрд╕рдд рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдорд╛рди рд╣реИ - рдЬреИрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдордп рдЕрднреА рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдлрд┐рд░ рд╕реЗ, рд╣рдо SHOW POOLS
cl_waiting
рдЕрдиреБрд╕рд╛рд░ cl_waiting
рд░рд╛рдЬреНрдп рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╢реВрдиреНрдп рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЗрд╕ рдкреВрд▓ рдХрд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣:

рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд╣реБрдИ рд╣реИ рдХрд┐ SHOW POOLS
рдХреЛ рдХреЗрд╡рд▓ рд╕реИрдВрдкрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдордХрд╛рд▓рд┐рдХ рдореБрдХреБрдЯ рдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд┐рд╕реА рдЪреАрдЬ рдХреЗ рд╕рд╛рде, рд╣рдо рдмрд╕ рдРрд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛рд╢реАрд▓ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рдЗрд╕ рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, pgbouncer рд╕реНрд╡рдпрдВ рдкреВрд▓ рдХреЗ 100% рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмреИрдХрдЕрдк рдкреВрд▓ рдХреЛ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ: reserve_pool_size
- рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдФрд░ reserve_pool_timeout
- рдХрд┐рддрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмреИрдХрдЕрдк рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ waiting
рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рддрдиреЗ рд╕реЗрдХрдВрдб waiting
рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдо рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЧреНрд░рд╛рдл рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреВрд▓_рд╕рд╛рдЗрдЬ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкреВрд▓ рдХреА рд╕рдВрддреГрдкреНрддрд┐ рдЗрд╕ рддрд░рд╣ рдереА:

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореБрдХреБрдЯ рдЬреИрд╕рд╛ рдХреБрдЫ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд▓ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред рдФрд░ рднрд▓реЗ рд╣реА рд╣рдо рдЙрд╕ рдХреНрд╖рдг рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрдм active
рдХрдиреЗрдХреНрд╢рди pool_size
рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ pool_size
, рдлрд┐рд░ рднреА pgbouncer рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдЧреНрд░рд╛рдл рдкрд░ рднреА, server_idle_timeout
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ - рд╣реЛрд▓реНрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рддрдирд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ 10 рдорд┐рдирдЯ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЪрд╛рд░реНрдЯ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ - active
рдЪреЛрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рдареАрдХ 5:00 рдмрдЬреЗ, 6:00 рдмрдЬреЗ, рдЖрджрд┐ред (рдХреНрд░реЛрди 0 * * * *
), рдХрдиреЗрдХреНрд╢рди idle
рд▓рдЯрдХрд╛ + рдПрдХ рдФрд░ 10 рдорд┐рдирдЯ рдХреЗ used
рдФрд░ рдХрд░реАрдмред
рдпрджрд┐ рдЖрдк рдкреНрд░рдЧрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдЧреЗ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ 9 рдорд╣реАрдиреЛрдВ рдореЗрдВ PgBouncer рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк SHOW STATS
рдХреЙрд▓рдо total_wait_time
рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрддреГрдкреНрддрд┐ рдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЪрдпреА рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ waiting
рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ рдЧрдпрд╛ рд╕рдордп рдорд╛рдирддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ - waiting
16:30 рдмрдЬреЗ рджрд┐рдЦрд╛рдИ рджреА:

рдФрд░ wait_time
, рдЬреЛ average query time
рддреБрд▓рдиреАрдп рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ, 15:15 рд╕реЗ рд▓рдЧрднрдЧ 19 рддрдХ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдлрд┐рд░ рднреА, рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЕрднреА рднреА рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рди рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рднреА рдХрд┐ SHOW POOLS
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ SHOW STATS
рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдзрд╛рд░ рдкрд░ - рд╕рдВрдмрдВрдзрд┐рдд рдкреВрд▓ рдХреЗ sv_active
рдХреЙрд▓рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ред рдпрд╛ рдореЗрдЯреНрд░рд┐рдХ рджреНрд╡рд╛рд░рд╛
sum_by(user, database, metric(name="pgbouncer.clients.count", state="active-link")):

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

рдпрд╣рд╛рдВ рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдЖрдИрдкреА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреНрд░реБрдЯрд┐рдпрд╛рдБ
рдпрд╣рд╛рдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ: рдкреЗрдЧреНрдпреВрдиреНрд╕рд░ рд▓реЙрдЧреНрд╕ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реАрдорд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрджрд┐ред рд╣рдо рдЕрднреА рддрдХ рд╕реНрд╡рдпрдВ рдкреЗрдЧреНрдпреВрдирд┐рд╕рд░ рд▓реЙрдЧ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗ рд╣реИрдВ :(
рд▓рд╛рд▓ PgBouncer рдХреЗ рд▓рд┐рдП
рдЬрдмрдХрд┐ USE рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдЕрдбрд╝рдЪрди рдХреЗ рдЕрд░реНрде рдореЗрдВ, RED, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВред рдпрд╣реА рд╣реИ, рд▓рд╛рд▓ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ - рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпреВрдПрд╕рдИ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред
рдЕрдиреБрд░реЛрдз
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА / рдХрдиреЗрдХреНрд╢рди рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП - рдХреНрд▓рд╛рдЗрдВрдЯ SQL рдХрдерди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреБрд░реЛрдз рд╣реИрдВред SHOW STATS
рд╣рдо total_requests
рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рдордп рдХреЛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ
rate(metric(name="pgbouncer.total_requests", database: "*"))

рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рд╕рдмрд╕реЗ рдЖрдо рд▓реЗрдирджреЗрди рд╣реИред рдЗрд╕ рдореЛрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХреА рдЗрдХрд╛рдИ рдПрдХ рд▓реЗрди-рджреЗрди рд╣реИ, рдХреНрд╡реЗрд░реА рдирд╣реАрдВред рддрджрдиреБрд╕рд╛рд░, рд╕рдВрд╕реНрдХрд░рдг 1.8 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, Pgbouner рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рдЕрдиреНрдп рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - total_query_count
, total_requests
рдмрдЬрд╛рдп, рдФрд░ total_xact_count
- рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдЕрдм рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рди рдХреЗрд╡рд▓ рдкреВрд░реНрдг рдЕрдиреБрд░реЛрдзреЛрдВ / рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рддрд┐ рд▓реЗрдирджреЗрди рдФрд╕рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
rate(metric(name="total_requests", database="*")) / rate(metric(name="total_xact", database="*"))

рдпрд╣рд╛рдВ рд╣рдо рд▓реЛрдб рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдмрджрд▓рд╛рд╡ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдкрдиреЗ рдХреЗрд╡рд▓ рд▓реЗрди-рджреЗрди рдпрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рджрд░ рдХреЛ рджреЗрдЦрд╛, рддреЛ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗред
рд▓рд╛рд▓ рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ RED рдФрд░ USE рддреНрд░реБрдЯрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдкрд░ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ USE рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ 100% рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЬрдм рд╕реЗрд╡рд╛ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрддреА рд╣реИред рдФрд░ RED рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдорд╛рдкрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдпрд╣реА рдирд╣реАрдВ, рди рдХреЗрд╡рд▓ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ PgBouncer рдореЗрдВ рдкреВрд▓ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реАрдорд╛ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдХрд┐ рдЬрдм "рдЕрдкрдиреЗ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдХрд╛рд░рдг рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреИрдВрд╕рд┐рд▓ рдХрд░рдирд╛", рдЬреИрд╕реЗ рдХреИрдВрд╕рд▓ рдФрд░ рд░реЛрд▓рдмреИрдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдЖрджрд┐ред рдИред рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд░реАрдмред
рдЕрд╡рдзрд┐рдпрд╛рдВ
рдпрд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ рд╕рдВрдЪрдпреА рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде SHOW STATS
total_xact_time
, total_query_time
рдФрд░ total_wait_time
рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдВрдЧреЗ, рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ, рд╣рдореЗрдВ рдФрд╕рдд рдЕрдиреБрд░реЛрдз рд╕рдордп, рдФрд╕рдд рд▓реЗрди-рджреЗрди рдХрд╛ рд╕рдордп, рдкреНрд░рддрд┐ рд▓реЗрдирджреЗрди рдФрд╕рдд рд╕рдордп рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓реЗ рдФрд░ рддреАрд╕рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдл рджрд┐рдЦрд╛рдпрд╛:

рдФрд░ рдХреНрдпрд╛ рдЖрдк рд╢рд╛рдВрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рд┐рджреНрдз рдПрдВрдЯреАрдкрд╛рд░реНрдЯрди, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд▓реЗрдирджреЗрди рдЦреЛрд▓рддрд╛ рд╣реИ, рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП) рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░ - рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ / рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдм рд╕рдордп, рд▓реЗрди-рджреЗрди "рд▓рдЯрдХреЗ" рдкреЛрд╕реНрдЯрдЧреНрд░реИрдЬ рдореЗрдВ рдЦреБрд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдФрд░ рдХреБрдЫ рдФрд░ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд▓реЗрдирджреЗрди рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд┐рдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреАрдЬреА рдХрд░реНрдореА рдорд╣рдВрдЧреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ idle in transaction
рдореЗрдВ idle in transaction
рд╣реИ - pg_stat_activity
рдореЗрдВ state
рдХреЙрд▓рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдХрд┐рди рдирдореВрдирд╛рдХрд░рдг рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рд╡рд╣реА рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ pg_stat_activity
рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рддрд╕реНрд╡реАрд░ рджреЗрддрд╛ рд╣реИред PgBouncer рдореЗрдВ, рд╣рдо total_query_time
рдореЗрдВ рд▓реЗрди-рджреЗрди рдореЗрдВ total_xact_time
рд╕рдордп рд╕реЗ total_query_time
рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рдШрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╕реНрддреА рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА total_xact_time
рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: 1 рдХрд╛ рдорд╛рди рдЙрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЧреНрд░рд╛рд╣рдХ 100% рд╕рдордп idle in transaction
рд╣реИрдВред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реИ:

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрд╡рдзрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛, рдореАрдЯреНрд░рд┐рдХ total_xact_time - total_query_time
рдХреЛ рд▓реЗрдирджреЗрди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ total_xact_time - total_query_time
рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐ рд▓реЗрдирджреЗрди рдФрд╕рдд рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЖрд╡реЗрджрди рдХрд┐рддрдирд╛ рд╣реИред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, USE / RED рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдВрд░рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╢реВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВред рдЪреВрдВрдХрд┐ рд╣рдо рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреЗ рддрд░реАрдХреЗ рд╣рдореЗрдВ рд╕рд╣реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓реЗрдиреЗ, рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЪреНрдЫреА рдирд┐рдЧрд░рд╛рдиреА рдЕрднреА рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдпрд╣ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред Okmeter.io рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╕ рдирд┐рд░рдВрддрд░ рдирд┐рдЧрд░рд╛рдиреА рд╣реИ (рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд▓ рдпрд╣ рдмреЗрд╣рддрд░ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╣реЛрдЧреА :)