PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

Ilya Kosmodemyansky рджреНрд╡рд╛рд░реЗ 2015 рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рдЙрддрд╛рд░рд╛ "PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд┐рдирдХреНрд╕ рдЯреНрдпреВрдирд┐рдВрдЧ"

рдЕрд╕реНрд╡реАрдХрд░рдг: рдореА рд▓рдХреНрд╖рд╛рдд рдШреЗрддреЛ рдХреА рд╣рд╛ рдЕрд╣рд╡рд╛рд▓ рдиреЛрд╡реНрд╣реЗрдВрдмрд░ 2015 рдЪрд╛ рдЖрд╣реЗ - 4 рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рд▓реЛрдЯрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд░рд╛рдЪ рд╡реЗрд│ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рдЕрд╣рд╡рд╛рд▓рд╛рдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реА рдЖрд╡реГрддреНрддреА 9.4 рдпрд╛рдкреБрдвреЗ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА. рдЧреЗрд▓реНрдпрд╛ 4 рд╡рд░реНрд╖рд╛рдВрдордзреНрдпреЗ, PostgreSQL рдЪреА 5 рдирд╡реАрди рд░рд┐рд▓реАрдЭ рд░рд┐рд▓реАрдЭ рдЭрд╛рд▓реА рдЖрд╣реЗ, рдЖрдгрд┐ Linux рдХрд░реНрдирд▓рдЪреНрдпрд╛ 15 рдЖрд╡реГрддреНрддреНрдпрд╛ рд░рд┐рд▓реАрдЭ рдЭрд╛рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рддреБрдореНрд╣реА рд╣реЗ рдкрд░рд┐рдЪреНрдЫреЗрдж рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдЧрд│рд╛ рдЕрд╣рд╡рд╛рд▓ рдорд┐рд│реЗрд▓. рдкрд░рдВрддреБ рдпреЗрдереЗ рдЖрдореНрд╣реА PostgreSQL рд╕рд╛рдареА рдореВрд▓рднреВрдд Linux рдЯреНрдпреВрдирд┐рдВрдЧрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЛ, рдЬреЗ рдЖрдЬрд╣реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА


рдорд╛рдЭреЗ рдирд╛рд╡ рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА рдЖрд╣реЗ. рдореА PostgreSQL-Consulting рдпреЗрдереЗ рдХрд╛рдо рдХрд░рддреЛ. рдЖрдгрд┐ рдЖрддрд╛ рдореА рд╕рд╛рдорд╛рдиреНрдпрдд: рдбреЗрдЯрд╛рдмреЗрд╕реЗрд╕ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрдГ PostgreSQL рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд рд▓рд┐рдирдХреНрд╕рдЪреЗ рдХрд╛рдп рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдереЛрдбреЗрд╕реЗ рдмреЛрд▓реЗрди, рдХрд╛рд░рдг рддрддреНрддреНрд╡реЗ рдЕрдЧрджреА рд╕рдорд╛рди рдЖрд╣реЗрдд.

рдЖрдкрдг рдХрд╢рд╛рдмрджреНрджрд▓ рдмреЛрд▓рдгрд╛рд░ рдЖрд╣реЛрдд? рдЬрд░ рддреБрдореНрд╣реА PostgreSQL рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдд рдЕрд╕рд╛рд▓ рддрд░ рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рддреБрдореНрд╣рд╛рд▓рд╛ UNIX рдкреНрд░рд╢рд╛рд╕рдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдп? рдЬрд░ рдЖрдореНрд╣реА рдУрд░реЕрдХрд▓ рдЖрдгрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓рдЪреА рддреБрд▓рдирд╛ рдХреЗрд▓реА, рддрд░ рдУрд░реЕрдХрд▓рдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ 80% рдбреАрдмреАрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ 20% рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

PostgreSQL рд╕рд╣ рд╣реЗ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЖрд╣реЗ. PostgreSQL рд╕рд╣ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд┐рдирдХреНрд╕ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рд╕рдордЬ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд▓реЛрдХреЛрдореЛрдЯрд┐рд╡реНрд╣рдЪреНрдпрд╛ рдорд╛рдЧреЗ рдереЛрдбреЗрд╕реЗ рдзрд╛рд╡рд╛, рдХрд╛рд░рдг рдЕрд▓реАрдХрдбреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЕрдЧрджреА рдЫрд╛рди рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдирд╡реАрди рдХрд░реНрдирд▓ рд╕реЛрдбрд▓реЗ рдЬрд╛рддрд╛рдд, рдЖрдгрд┐ рдирд╡реАрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджрд┐рд╕реВрди рдпреЗрддреЗ, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рддреЗ, рдЗ.

рдЖрдкрдг рд▓рд┐рдирдХреНрд╕рдмрджреНрджрд▓ рдХрд╛ рдмреЛрд▓рдд рдЖрд╣реЛрдд? рдЕрдЬрд┐рдмрд╛рдд рдирд╛рд╣реА рдХрд╛рд░рдг рдЖрдореНрд╣реА рд▓рд┐рдирдХреНрд╕ рдХреЙрдиреНрдлрд░рдиреНрд╕ рдкреАрдЯрд░рдордзреНрдпреЗ рдЖрд╣реЛрдд, рдкрд░рдВрддреБ рдЖрдзреБрдирд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрдГ PostgreSQL рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдиреНрдпрд╛рдпреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордкреИрдХреА рдПрдХ Linux рдЖрд╣реЗ. рдХрд╛рд░рдг рдлреНрд░реАрдмреАрдПрд╕рдбреА, рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдХрд╛рд╣реА рдЕрддрд┐рд╢рдп рд╡рд┐рдЪрд┐рддреНрд░ рджрд┐рд╢реЗрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ. рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╣ рджреЛрдиреНрд╣реА рд╕рдорд╕реНрдпрд╛ рдЕрд╕рддреАрд▓. Windows рд╡рд░реАрд▓ PostgreSQL рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╣реА рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдПрдХ рд╡реЗрдЧрд│реА рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ, рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдХреА Windows рдХрдбреЗ UNIX рд╕рд╛рд░рдЦреА рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рдирд╛рд╣реА, рддрд░ PostgreSQL рд╕рд░реНрд╡ рдпрд╛рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдХрд╛рд░рдг рд╣реА рдПрдХ рдмрд╣реБ-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ.

рдЖрдгрд┐ рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рд╕реЛрд▓рд╛рд░рд┐рд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдПрдХреНрд╕реЛрдЯрд┐рдХреНрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдХрдореА рд░рд╕ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЪрд▓рд╛ рдЬрд╛рдКрдпрд╛.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ 1 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд syctl рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд, рддреБрдореНрд╣реА рдХрд░реНрдирд▓ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рддрд╛ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЬрд░ рдЖрдкрдг рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдирдЯрд╛рдВрдХрдбреЗ рдкрд╛рд╣рд┐рд▓реЗ рддрд░ рдЖрдкрдг рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░реЗ рдХрд╛рд╣реАрддрд░реА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВ рд╢рдХрддреЛ. рддреЗ рдХрд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рд╛рд╡реЗ рдпрд╛рд╕рд╛рдареА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрд╣реЗрдд. рддреЗ рдХрд╕реЗ рд╕реБрд░реВ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдкреНрд░рд╢реНрди рдЕрд╕рд▓реНрдпрд╛рд╕: BIOS рдордзреНрдпреЗ рдХрд╛рдп рд╕рдХреНрд╖рдо рдХрд░рд╛рд╡реЗ, рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рдЗ.

рд╣рд╛ рдПрдХ рдЦреВрдк рдореЛрдард╛ рдЦрдВрдб рдЖрд╣реЗ рдЬреНрдпрд╛рд╡рд░ рдЕрдиреЗрдХ рджрд┐рд╡рд╕ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рдЖрдгрд┐ рдПрдХрд╛ рдЫреЛрдЯреНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрддрд╛ рдореА рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдВрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрди, рдЬрд░ рддреБрдореНрд╣реА рд▓рд┐рдирдХреНрд╕рд╡рд░ рддреБрдордЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА рд╣рдореА рджрд┐рд▓реЗрд▓реЗ рд░реЗрдХ рдХрд╕реЗ рдЯрд╛рд│рддрд╛ рдпреЗрддреАрд▓. рддреНрдпрд╛рдВрдирд╛ рджреБрд░реБрд╕реНрдд рдХрд░реВ рдирдХрд╛. рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдЕрдиреЗрдХ рдбреАрдлреЙрд▓реНрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдирд╛рд╣реАрдд. рдореНрд╣рдгрдЬреЗрдЪ, рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рддреЗ рдЦрд░рд╛рдм рдХрд╛рд░реНрдп рдХрд░реЗрд▓ рдХрд┐рдВрд╡рд╛ рдЕрдЬрд┐рдмрд╛рдд рдирд╛рд╣реА.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рдХреЛрдгрддреЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдЯреНрдпреВрдирд┐рдВрдЧ рд▓рдХреНрд╖реНрдп рдЖрд╣реЗрдд? рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреБрдореНрд╣реА рд╕рд░реНрд╡ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдирд╛рд╢реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд▓рдХреНрд╖реНрдп рдХрд╛рдп рдЖрд╣реЗрдд рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╡рд┐рд╢реЗрд╖ рдЧрд░рдЬ рдирд╛рд╣реА.

рдЖрдкрдг рдЯреНрдпреВрди рдХрд░реВ рд╢рдХрддрд╛:

  • рд╕реАрдкреАрдпреВ.
  • рдореЗрдорд░реА.
  • рд╕рд╛рдард╡рдг.
  • рдЗрддрд░. рд╕реНрдиреЕрдХрд╕рд╛рдареА рдЖрдореНрд╣реА рд╢реЗрд╡рдЯреА рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ. рдЬрд░реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЙрд░реНрдЬрд╛ рдмрдЪрдд рдзреЛрд░рдгрд╛рд╕рд╛рд░рдЦреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрддреНрдпрдВрдд рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдЖрдирдВрджрджрд╛рдпреА рдорд╛рд░реНрдЧрд╛рдиреЗ рдХрд╛рдордЧрд┐рд░реАрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░реВ рд╢рдХрддрд╛рдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

PostgreSQL рдЖрдгрд┐ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗрдд? рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдкрдг рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реИрдпрдХреНрддрд┐рдХ рдирдЯрдордзреНрдпреЗ рдмрджрд▓ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рдЖрдордЪреА рдХрд╛рдордЧрд┐рд░реА рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕реБрдзрд╛рд░рд▓реА рдЖрд╣реЗ рд╣реЗ рдкрд╛рд╣реВ рд╢рдХрдд рдирд╛рд╣реА.

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

рддрддреНрд╡рддрдГ, рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдд рдкрд░рд┐рд╕реНрдерд┐рддреА PostgreSQL рд╕рд╛рд░рдЦреАрдЪ рдЖрд╣реЗ. рдлрд░рдХ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрджреНрдпрд╛рдк рд╕реНрд╡рддрдГрд╕рд╛рдареА рд╕рд░реНрд╡ рд╕рдВрд╕рд╛рдзрдиреЗ рдШреЗрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдирд╛рд╣реА, рдореНрд╣рдгрдЬреЗ рдХреБрдареЗрддрд░реА рд▓рд┐рдирдХреНрд╕ рд╕реНрддрд░рд╛рд╡рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╕рд░реНрд╡ рд╕реНрд╡рддрдГрдЪ рд╡рд░реНрдЧреАрдХрд░рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рддреЗ рдХрд╛рдп рдЖрд╣реЗ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЗрдереЗ рдПрдХ рдЪрд┐рддреНрд░ рдЖрд╣реЗ. рддреЗрдереЗ рд▓рд┐рдирдХреНрд╕ рдУрдПрд╕ рдмрдлрд░ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рдЖрд╣реЗ рдЖрдгрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░ рдЖрд╣реЗрдд. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓, рдУрд░реЕрдХрд▓рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдХреЗрд╡рд│ рдХрд░реНрдирд▓ рдмрдлрд░рджреНрд╡рд╛рд░реЗ рдереЗрдЯ рдХрд╛рд░реНрдп рдХрд░рддреЗ, рдореНрд╣рдгрдЬреЗ, рдбрд┐рд╕реНрдХрд╡рд░реАрд▓ рдкреГрд╖реНрда рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реАрдордзреНрдпреЗ рдпреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреЗ рдХрд░реНрдирд▓ рдмрдлрд░рдордзреВрди рдЖрдгрд┐ рдорд╛рдЧреЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЕрдЧрджреА рд╕рдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддреА.

рдбрд┐рд╕реНрдХ рдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдЕрдВрддрд░реНрдЧрдд рд░рд╛рд╣рддрд╛рдд. рдореА рд╣реЗ рдбрд┐рд╕реНрдХреНрд╕ рдореНрд╣рдгреВрди рдХрд╛рдврд▓реЗ. рдЦрд░рдВ рддрд░, RAID рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрддреНрдпрд╛рджреА рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рдЖрдгрд┐ рд╣реЗ рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдирд╛ рдПрдХ рдорд╛рд░реНрдЧ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рджреНрд╡рд╛рд░реЗ рдШрдбрддреЗ.

PostgreSQL рд╣рд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд╣реЗ. рдЖрдд рдПрдХ рдкрд╛рди рдЖрд╣реЗ. рдЖрдгрд┐ рд╕рд░реНрд╡ рдЗрдирдкреБрдЯ рдЖрдгрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкреГрд╖реНрдареЗ рд╡рд╛рдкрд░реВрди рд╣реЛрддреЗ. рдЖрдореНрд╣реА рдкреГрд╖реНрдард╛рдВрд╕рд╣ рдореЗрдорд░реАрдордзреНрдпреЗ рдмреНрд▓реЙрдХреНрд╕ рд╡рд╛рдврд╡рдд рдЖрд╣реЛрдд. рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рдЭрд╛рд▓реЗ рдирд╛рд╣реА рддрд░, рдЖрдореНрд╣реА рдлрдХреНрдд рддреЗ рд╡рд╛рдЪрддреЛ, рдирдВрддрд░ рд╣рд│реВрд╣рд│реВ рддреЗ рдпрд╛ рдХреЕрд╢реЗрдордзреВрди, рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░рдордзреВрди рдЕрджреГрд╢реНрдп рд╣реЛрддрд╛рдд рдЖрдгрд┐ рдбрд┐рд╕реНрдХрд╡рд░ рдкрд░рдд рдЬрд╛рддрд╛рдд.

рдЖрдкрдг рдХреБрдареЗрддрд░реА рдХрд╛рд╣реАрддрд░реА рдмрджрд▓рд▓реНрдпрд╛рд╕, рд╕рдВрдкреВрд░реНрдг рдкреГрд╖реНрда рдЧрд▓рд┐рдЪреНрдЫ рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдореА рддреНрдпрд╛рдВрдирд╛ рдпреЗрдереЗ рдирд┐рд│реНрдпрд╛ рд░рдВрдЧрд╛рдд рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдпрд╛рдЪрд╛ рдЕрд░реНрде рд╣реЗ рдкреГрд╖реНрда рдмреНрд▓реЙрдХ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╣ рд╕рдордХреНрд░рдорд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗ рдШрд╛рдгреЗрд░рдбреЗ рдХреЗрд▓реНрдпрд╛рд╡рд░ рд╡рд╛рд▓рдордзреНрдпреЗ рдПрдиреНрдЯреНрд░реА рдХреЗрд▓реА. рдЖрдгрд┐ рд╡реЗрд│реЗрдЪреНрдпрд╛ рдХрд╛рд╣реА рдЕрджреНрднреБрдд рдХреНрд╖рдгреА, рдЪреЗрдХрдкреЙрдИрдВрдЯ рдирд╛рд╡рд╛рдЪреА рдШрдЯрдирд╛ рдЖрд▓реА. рдЖрдгрд┐ рддреЛ рдЖрд▓реНрдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рдпрд╛ рд▓реЙрдЧрдордзреНрдпреЗ рдиреЛрдВрджрд╡рд▓реА рдЧреЗрд▓реА. рдЖрдгрд┐ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░рдордзреНрдпреЗ рддреНрдпрд╛ рдХреНрд╖рдгреА рдпреЗрдереЗ рдЕрд╕рд▓реЗрд▓реА рд╕рд░реНрд╡ рдЧрд▓рд┐рдЪреНрдЫ рдкреГрд╖реНрдареЗ рдХрд░реНрдирд▓ рдмрдлрд░рджреНрд╡рд╛рд░реЗ fsync рд╡рд╛рдкрд░реВрди рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рд╕реНрдХрд╕рд╣ рд╕рдордХреНрд░рдорд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА.

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

рдЖрдгрд┐ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдереНрд░реВрдкреБрдЯ рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдпрд╛ рд╕рд░реНрд╡ рдЯрдкреНрдкреНрдпрд╛рдВрд╡рд░ рдмрд╛рд░реАрдХ-рдЯреНрдпреВрди рдХрд░рдгреЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рд╕рд░реНрд╡ рддреНрд╡рд░реАрдд рдкреБрдвреЗ рдЖрдгрд┐ рдкреБрдвреЗ рдЬрд╛рдИрд▓. рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рдореБрд│рд╛рдд рдПрдХ рдкреГрд╖реНрда рдХреЕрд╢реЗ рдЖрд╣реЗ. PostgreSQL рдордзреНрдпреЗ рдЖрдореНрд╣реА рдПрдХ рдирд┐рд╡рдбрдХ рдХреНрд╡реЗрд░реА рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реАрддрд░реА рдкрд╛рдард╡рд▓реЗ, рддреНрдпрд╛рдиреЗ рдбрд┐рд╕реНрдХрд╡рд░реВрди рд╣рд╛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛. рддреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░рдордзреНрдпреЗ рд╕рдВрдкрд▓реЗ. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╣реЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рднрд░рдкреВрд░ рд╕реНрдореГрддреА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

рдЖрдгрд┐ рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдореБрджреНрджреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдпрд╛.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рд╣реА рдкреГрд╖реНрдареЗ рд╡реЗрдЧрд╛рдиреЗ рдкреБрдвреЗ-рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рд╕рд╛рдзреНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  • рдкреНрд░рдердо, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдореЗрдорд░реАрд╕рд╣ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.
  • рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдЬреЗрд╡реНрд╣рд╛ рдореЗрдорд░реАрдордзреАрд▓ рдкреГрд╖реНрдареЗ рдбрд┐рд╕реНрдХрд╡рд░ рдЬрд╛рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рд╣реЗ рд╕рдВрдХреНрд░рдордг рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЕрд╕рд╛рд╡реЗ.
  • рдЖрдгрд┐ рддрд┐рд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдЪрд╛рдВрдЧрд▓реА рдбрд┐рд╕реНрдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ 512 GB RAM рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреА рд╕рд░реНрд╡ рдХреЕрд╢реЗрд╢рд┐рд╡рд╛рдп SATA рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░ рд╕рдВрдкрд▓реА, рддрд░ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡реНрд╣рд░ рдХреЗрд╡рд│ рднреЛрдкрд│рд╛рдЪ рдирд╛рд╣реА рддрд░ SATA рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рднреЛрдкрд│рд╛ рдмрдирддреЛ. рддреБрдореНрд╣реА рддреНрдпрд╛рдд рдереЗрдЯ рдзрд╛рд╡реВрди рдЬрд╛рд▓. рдЖрдгрд┐ рдХрд╛рд╣реАрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЪрд╡рдгрд╛рд░ рдирд╛рд╣реА.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рд╕реНрдореГрддреАрд╕рд╣ рдкрд╣рд┐рд▓реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдмрджреНрджрд▓, рддреАрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд рдЬреНрдпрд╛рдореБрд│реЗ рдЬреАрд╡рди рдЦреВрдк рдХрдареАрдг рд╣реЛрдК рд╢рдХрддреЗ.

рддреНрдпрд╛рдкреИрдХреА рдкрд╣рд┐рд▓реЗ NUMA рдЖрд╣реЗ. NUMA рд╣реА рдПрдХ рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ рдЬреА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрдирд╡рд┐рд▓реА рдЬрд╛рддреЗ. рд╡рд░реНрдХрд▓реЛрдбрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЧреЛрд╖реНрдЯреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдирд╡реАрди рд╡рд░реНрддрдорд╛рди рдлреЙрд░реНрдордордзреНрдпреЗ, рдбреЗрдЯрд╛рдмреЗрд╕реЗрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рддреЗ рдлрд╛рд░ рдЪрд╛рдВрдЧрд▓реЗ рдирд╛рд╣реА рдЬреЗ рдкреГрд╖реНрда рдХреЕрд╢реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрдлрд░рдЪрд╛ рдЧрд╣рдирдкрдгреЗ рд╡рд╛рдкрд░ рдХрд░рддрд╛рдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдереЛрдбрдХреНрдпрд╛рдд. NUMA рдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рдЪреБрдХреАрдЪреЗ рдЖрд╣реЗ рд╣реЗ рддреБрдореНрд╣реА рдХрд╕реЗ рд╕рд╛рдВрдЧреВ рд╢рдХрддрд╛? рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреА рдЕрдкреНрд░рд┐рдп рдЦреЗрд│реА рдЖрд╣реЗ, рдЕрдЪрд╛рдирдХ рдХрд╛рд╣реА CPU рдУрд╡реНрд╣рд░рд▓реЛрдб рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рддреБрдореНрд╣реА PostgreSQL рдордзреАрд▓ рдкреНрд░рд╢реНрдирд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рдЖрдгрд┐ рддреЗрдереЗ рд╕рдорд╛рди рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА рд╣реЗ рдкрд╣рд╛. рдпрд╛ рдХреНрд╡реЗрд░реА рдЗрддрдХреНрдпрд╛ CPU рдЧрд╣рди рдирд╕рд╛рд╡реНрдпрд╛рдд. рдЖрдкрдг рд╣реЗ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рд╕рд╛рдареА рдкрдХрдбреВ рд╢рдХрддрд╛. PostgreSQL рд╕рд╛рдареА NUMA рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рдпреЛрдЧреНрдп рд╢рд┐рдлрд╛рд░рд╕ рд╡рд╛рдкрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдЦрд░реЛрдЦрд░ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ? NUMA рдореНрд╣рдгрдЬреЗ рдиреЙрди-рдпреБрдирд┐рдлреЙрд░реНрдо рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕. рдореБрджреНрджрд╛ рдХрд╛рдп рдЖрд╣реЗ? рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ CPU рдЖрд╣реЗ, рддреНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреЗ рддреНрдпрд╛рдЪреА рд╕реНрдерд╛рдирд┐рдХ рдореЗрдорд░реА рдЖрд╣реЗ. рдЖрдгрд┐ рд╣реА рдореЗрдорд░реА рдЗрдВрдЯрд░рдХрдиреЗрдХреНрдЯ рдЗрддрд░ CPU рдордзреВрди рдореЗрдорд░реА рдЦреЗрдЪреВ рд╢рдХрддреЗ.

рдЖрдкрдг рдзрд╛рд╡рдд рдЕрд╕рд▓реНрдпрд╛рд╕ numactl --hardware, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрд╡рдвреА рдореЛрдареА рд╢реАрдЯ рдорд┐рд│реЗрд▓. рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрдмрд░реЛрдмрд░рдЪ, рдПрдХ рдЕрдВрддрд░ рдлреАрд▓реНрдб рдЕрд╕реЗрд▓. рддреЗрдереЗ рд╕рдВрдЦреНрдпрд╛ рдЕрд╕рддреАрд▓ - 10-20, рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА. рд╣реА рд╕рдВрдЦреНрдпрд╛ рд╣реА рд░рд┐рдореЛрдЯ рдореЗрдорд░реА рдЙрдЪрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЙрдкреНрд╕рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрд╛рд╣реА рдирд╛рд╣реА. рддрддреНрд╡рддрдГ, рдПрдХ рдЪрд╛рдВрдЧрд▓реА рдХрд▓реНрдкрдирд╛. рд╣реЗ рд╡рд┐рд╡рд┐рдз рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рдЕрдВрддрд░реНрдЧрдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рд╕ рдЧрддреА рджреЗрддреЗ.

рдЖрддрд╛ рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ CPU рдкреНрд░рдердо рддреНрдпрд╛рдЪреА рд╕реНрдерд╛рдирд┐рдХ рдореЗрдорд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗ, рдирдВрддрд░ рдПрдЦрд╛рджреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрд╕рд╛рдареА рдЗрдВрдЯрд░рдХрдиреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рджреБрд╕рд░реА рдореЗрдорд░реА рдЦреЗрдЪрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗ. рдЖрдгрд┐ рдпрд╛ CPU рд▓рд╛ рддреБрдордЪреЗ рд╕рдВрдкреВрд░реНрдг PostgreSQL рдкреЗрдЬ рдХреЕрд╢реЗ рдорд┐рд│рддреЗ - рддреЗрдЪ рдХрд╛рд╣реА рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕. рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдиреЗрд╣рдореАрдЪ рд╕рд░реНрд╡рд╛рдд рд╡рд╛рдИрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреА рдорд┐рд│рддреЗ, рдХрд╛рд░рдг рд╕реАрдкреАрдпреВрд╡рд░ рддреНрдпрд╛ рдореЙрдбреНрдпреВрд▓рдордзреНтАНрдпреЗ рд╕рд╣рд╕рд╛ рдХрдореА рдореЗрдорд░реА рдЕрд╕рддреЗ. рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдХреЗрд▓реЗрд▓реА рд╕рд░реНрд╡ рдореЗрдорд░реА рдпрд╛ рдЗрдВрдЯрд░рдХрдиреЗрдХреНрдЯреНрд╕рдордзреВрди рдЬрд╛рддреЗ. рддреЛ рдордВрдж рдЖрдгрд┐ рдЙрджрд╛рд╕ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ. рдЖрдгрд┐ рдпрд╛ рдиреЛрдбрд▓рд╛ рд╕реЗрд╡рд╛ рджреЗрдгрд╛рд░рд╛ рддреБрдордЪрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рддрдд рдУрд╡реНрд╣рд░рд▓реЛрдб рд╣реЛрддреЛ. рдЖрдгрд┐ рдпрд╛ рдореЗрдорд░реАрдЪрд╛ рдкреНрд░рд╡реЗрд╢ рд╡реЗрд│ рд╡рд╛рдИрдЯ, рд╕рдВрде рдЖрд╣реЗ. рддреБрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреА рддреБрдореНрд╣рд╛рд▓рд╛ рдирдХреЛ рдЖрд╣реЗ.

рддреНрдпрд╛рдореБрд│реЗ, рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдкрд░реНрдпрд╛рдп рдореНрд╣рдгрдЬреЗ рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрд┐рдорд▓рд╛ рддрд┐рдереЗ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рд╣реЗ рдХрд│реВ рдирдпреЗ. рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдЬрд╕реЗ рдХрд░рддреЗ рддрд╕реЗ рдореЗрдорд░реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ.

рдЕрд╕ рдХрд╛? рдпрд╛рдЪреНрдпрд╛ рдЙрд▓рдЯ рдЕрд╕рд╛рд╡реЗ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ. рд╣реЗ рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ рдХрд╛рд░рдгрд╛рд╕рд╛рдареА рдШрдбрддреЗ: рдЖрдореНрд╣рд╛рд▓рд╛ рдкреГрд╖реНрда рдХреЕрд╢реЗрд╕рд╛рдареА рдЦреВрдк рдореЗрдорд░реА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ - рджрд╣рд╛рдкрдЯ, рд╢реЗрдХрдбреЛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕.

рдЖрдгрд┐ рдЬрд░ рдЖрдкрдг рд╣реЗ рд╕рд░реНрд╡ рд╡рд╛рдЯрдк рдХреЗрд▓реЗ рдЖрдгрд┐ рдЖрдордЪрд╛ рдбреЗрдЯрд╛ рддрд┐рдереЗ рдХреЕрд╢ рдХреЗрд▓рд╛, рддрд░ рдХреЕрд╢реЗ рд╡рд╛рдкрд░реВрди рдорд┐рд│рдгрд╛рд░рд╛ рдирдлрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдЕрд╢рд╛ рдЕрд╡рдШрдб рдкреНрд░рд╡реЗрд╢рд╛рдЪреНрдпрд╛ рд▓рд╛рднрд╛рдкреЗрдХреНрд╖рд╛ рд▓рдХреНрд╖рдгреАрдп рдЕрд╕реЗрд▓. рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ NUMA рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдЖрдореНрд╣реА рдореЗрдорд░реА рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдНрдХреНрд╕реЗрд╕ рдХрд░реВ рдпрд╛ рддреБрд▓рдиреЗрдд рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрддреБрд▓рдиреАрдп рдлрд╛рдпрджрд╛ рд╣реЛрдИрд▓.

рдореНрд╣рдгреВрди, рдпрд╛ рдХреНрд╖рдгреА рдпреЗрдереЗ рджреЛрди рджреГрд╖реНрдЯрд┐рдХреЛрди рдЖрд╣реЗрдд, рдЬреЛрдкрд░реНрдпрдВрдд рдЙрдЬреНрд╡рд▓ рднрд╡рд┐рд╖реНрдп рдпреЗрдИрдкрд░реНрдпрдВрдд, рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд╡рддрдГ рдХреЛрдгрддреНрдпрд╛ CPU рд╡рд░ рдЪрд╛рд▓рдд рдЖрд╣реЗ рдЖрдгрд┐ рдХреБрдареВрди рдХрд╛рд╣реАрддрд░реА рдЦреЗрдЪрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╣реЗ рд╢реЛрдзрдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рдирд╛рд╣реА.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдореНрд╣рдгреВрди, рдпреЛрдЧреНрдп рджреГрд╖реНрдЯреАрдХреЛрди рдореНрд╣рдгрдЬреЗ NUMA рдкреВрд░реНрдгрдкрдгреЗ рдЕрдХреНрд╖рдо рдХрд░рдгреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд░реАрдмреВрдЯ рдХрд░рддрд╛рдирд╛. рдмрд░реНтАНрдпрд╛рдЪ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЬрд┐рдВрдХрдгреЗ рдЗрддрдХреЗ рдореЛрдареЗ рдСрд░реНрдбрд░рдЪреЗ рдЕрд╕рддрд╛рдд рдХреА рдХреЛрдгрддреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рд╣рд╛ рдкреНрд░рд╢реНрдирдЪ рдЙрджреНрднрд╡рдд рдирд╛рд╣реА.

рджреБрд╕рд░рд╛ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ. рдЖрдореНрд╣реА рддреЗ рдкрд╣рд┐рд▓реНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рд╡рд╛рдкрд░рддреЛ, рдХрд╛рд░рдг рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рдпреЗрддреЛ, рддреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡реНрд╣рд░ рд░реАрдмреВрдЯ рдХрд░рдгреЗ рд╣реА рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╛рдареА рдореЛрдареА рдЧреЛрд╖реНрдЯ рдЕрд╕рддреЗ. рддреНрдпрд╛рдЪрд╛ рддрд┐рдереЗ рд╡реНрдпрд╡рд╕рд╛рдп рдЖрд╣реЗ. рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ NUMA рдореБрд│реЗ рд╕рдорд╕реНрдпрд╛ рдпреЗрддрд╛рдд. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рддреЗ рд░реАрдмреВрдЯ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЖрдХреНрд░рдордХ рдорд╛рд░реНрдЧрд╛рдВрдиреА рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ, рдкрд░рдВрддреБ рддреЗ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ рдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдШреНрдпрд╛. рдХрд╛рд░рдг, рдЕрдиреБрднрд╡ рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣реА рдореВрд│ PostgreSQL рдкреНрд░рдХреНрд░рд┐рдпреЗрд╡рд░ NUMA рдЕрдХреНрд╖рдо рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреЗ рдХрд╛рд░реНрдп рдХрд░реЗрд▓ рд╣реЗ рдЕрдЬрд┐рдмрд╛рдд рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА. рдЖрдореНрд╣рд╛рд▓рд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреА рдЦрд░реЛрдЦрд░ рдмрдВрдж рдЭрд╛рд▓реА рдЖрд╣реЗ рд╣реЗ рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ.

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

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рд╣реЗ рд╕рд░реНрд╡ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдирд╛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рдЬреНрдпрд╛рдмрджреНрджрд▓ рдореА рдмреЛрд▓рдгрд╛рд░ рдЖрд╣реЗ. рдкрд░рдВрддреБ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддреЗрд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡реНрд╣ рдореЛрдбрдордзреНрдпреЗ рдЧреЛрд│рд╛ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╕реНрд▓реЗрд╡реНрд╣рд╡рд░ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдХрд░рд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░реВ рдирдХрд╛ рдХрд╛рд░рдг рдПрдХ рджрд┐рд╡рд╕ рддреБрдордЪрд╛ рдЕрдкрдШрд╛рдд рд╣реЛрдИрд▓ рдЖрдгрд┐ рддреБрдореНрд╣реА рдЧреБрд▓рд╛рдорд╛рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рд╛рд▓ рдЖрдгрд┐ рддреЛ рдорд╛рд╕реНрдЯрд░ рд╣реЛрдИрд▓.

рдЖрдгреАрдмрд╛рдгреАрдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдЬреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЦреВрдк рд╡рд╛рдИрдЯ рдЕрд╕рддреЗ, рддреБрдордЪрд╛ рдлреЛрди рд╕рддрдд рд╡рд╛рдЬрдд рдЕрд╕рддреЛ рдЖрдгрд┐ рддреБрдордЪрд╛ рдмреЙрд╕ рдореЛрдареА рдХрд╛рдареА рдШреЗрдКрди рдзрд╛рд╡рдд рдпреЗрддреЛ, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛рдпрд▓рд╛ рд╡реЗрд│рдЪ рдирд╕рддреЛ. рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдЬреЛрд░рджрд╛рд░ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЕрд╕реВ рд╢рдХрддрд╛рдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдкреБрдврдЪрд╛ рдореБрджреНрджрд╛ рдкреНрд░рдЪрдВрдб рдкрд╛рдирд╛рдВрдЪрд╛ рдЖрд╣реЗ. рдореЛрдареНрдпрд╛ рдкреГрд╖реНрдард╛рдВрдЪреА рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЪрд╛рдЪрдгреА рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ рдЖрдгрд┐ рдЕрд╕реЗ рдХрд░рдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА, рдЬрд░реА рдЕрд╕реЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЖрд╣реЗрдд рдЬреЗ рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛рдд. рддреЗ Google рд▓рд╛ рд╕реЛрдкреЗ рдЖрд╣реЗрдд.

рдореБрджреНрджрд╛ рдХрд╛рдп рдЖрд╣реЗ? рддреБрдордЪреНрдпрд╛рдХрдбреЗ рднрд░рдкреВрд░ RAM рдЕрд╕рд▓реЗрд▓рд╛ рдЦреВрдк рдорд╣рд╛рдЧ рд╕рд░реНрд╡реНрд╣рд░ рдирд╛рд╣реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 30 GB рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд. рддреБрдореНрд╣реА рдореЛрдареА рдкреГрд╖реНрдареЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдирдХреНрдХреАрдЪ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЖрд╣реЗ. рдЖрдгрд┐ рд╣реЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рд╕рд░реНрд╡рд╛рдд рдЖрдирдВрджрджрд╛рдпреА рдЖрд╣реЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдЕрд╕ рдХрд╛? рдордЧ рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ? рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рд╣рд╛рди рддреБрдХрдбреНрдпрд╛рдВрдордзреНрдпреЗ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХрд░рддреЗ. рд╣реЗ рдЦреВрдк рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ, рд╣реЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдХрд╕реЗ рдШрдбрд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬрд░ рдЖрдкрдг рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рддрд░, OS рдиреЗ рдЖрднрд╛рд╕реА рдкрддреНрддреЗ рднреМрддрд┐рдХ рдкрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд. рдЖрдгрд┐ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреА рдирд╛рд╣реА, рдореНрд╣рдгреВрди OS рдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рдкрд░рд┐рдгрд╛рдо рдЯреНрд░рд╛рдиреНрд╕рд▓реЗрд╢рди рд▓реБрдХрд╕рд╛рдЗрдб рдмрдлрд░ (TLB) рдордзреНрдпреЗ рдХреЕрд╢ рдХрд░рддреЗ.

рдЖрдгрд┐ TLB рдПрдХ рдХреЕрд╢реЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдХреЕрд╢реЗрдордзреНрдпреЗ рдЕрдВрддрд░реНрднреВрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рд╕рдорд╕реНрдпрд╛ рдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдЙрджреНрднрд╡рддрд╛рдд. рдкреНрд░рдердо, рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рднрд░рдкреВрд░ RAM рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреЗ рд╕рд░реНрд╡ рд▓рд╣рд╛рди рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдЯрдк рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рд╣рд╛ рдмрдлрд░ рдЦреВрдк рдореЛрдард╛ рд╣реЛрдИрд▓. рдЖрдгрд┐ рдЬрд░ рдХреЕрд╢реЗ рдореЛрдард╛ рдЕрд╕реЗрд▓ рддрд░ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╢реЛрдзрдгреЗ рдзреАрдореЗ рдЖрд╣реЗ. рдУрд╡реНрд╣рд░рд╣реЗрдб рд╣реЗ рдирд┐рд░реЛрдЧреА рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╕реНрд╡рддрдГрдЪ рдЬрд╛рдЧрд╛ рдШреЗрддреЗ, рдореНрд╣рдгрдЬреЗ RAM рдХрд╛рд╣реАрддрд░реА рдЪреБрдХреАрдЪреНрдпрд╛ рджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рдЖрд╣реЗ. рдпрд╛рд╡реЗрд│реА рдбреЙ.

рджреЛрди - рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдХреЕрд╢реЗ рдЬрд┐рддрдХреА рдЬрд╛рд╕реНрдд рд╡рд╛рдвреЗрд▓ рддрд┐рддрдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХреЕрд╢реЗ рдЪреБрдХрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ. рдЖрдгрд┐ рдпрд╛ рдХреЕрд╢реЗрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЭрдкрд╛рдЯреНрдпрд╛рдиреЗ рдХрдореА рд╣реЛрддреЗ рдХрд╛рд░рдг рддреНрдпрд╛рдЪрд╛ рдЖрдХрд╛рд░ рд╡рд╛рдврддреЛ. рдореНрд╣рдгреВрди, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╕реЛрдкрд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдШреЗрдКрди рдЖрд▓реЗ. рд╣реЗ рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдд рдЖрд╣реЗ. рд╣реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреАрдордзреНрдпреЗ рдлрд╛рд░ рдкреВрд░реНрд╡реА рджрд┐рд╕рд▓реЗ рдирд╛рд╣реА. рдкрдг рдЖрдкрдг рд▓рд┐рдирдХреНрд╕рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд. рд╣реА рдореЛрдареА рдкрд╛рдиреЗ рдЖрд╣реЗрдд.

рдЖрдгрд┐ рдпреЗрдереЗ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдПрдХ рдХрд▓реНрдкрдирд╛ рдореНрд╣рдгреВрди рдкреНрд░рдЪрдВрдб рдкреГрд╖реНрдареЗ, рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдУрд░реЕрдХрд▓ рдЖрдгрд┐ IBM рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдореБрджрд╛рдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдврдХрд▓рд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рдореНрд╣рдгрдЬреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрддреНрдкрд╛рджрдХрд╛рдВрдирд╛ рдард╛рдордкрдгреЗ рд╡рд╛рдЯрд▓реЗ рдХреА рд╣реЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдЖрдгрд┐ рд╣реЗ PostgreSQL рд╢реА рдореИрддреНрд░реА рдХрд╢реА рдХрд░рддрд╛ рдпреЗрдИрд▓? рдкреНрд░рдердо, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рдореЛрдареА рдкреГрд╖реНрдареЗ рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рддреЗ sysctl рдкреЕрд░рд╛рдореАрдЯрд░рдиреЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ - рддреЗрдереЗ рдХрд┐рддреА рдЖрд╣реЗрдд. рдпреЗрдереАрд▓ рдХреНрд░рдорд╛рдВрдХ рдХрд╛рд╣реА рдЬреБрдиреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ рдЖрд╣реЗрдд. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрд┐рддреА рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░ рдЖрд╣реЗрдд рдпрд╛рдЪреА рддреБрдореНрд╣реА рдЧрдгрдирд╛ рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗрдгреЗрдХрд░реВрди рдореЛрдареА рдкреГрд╖реНрдареЗ рддреЗрдереЗ рдмрд╕реВ рд╢рдХрддреАрд▓.

рдЖрдгрд┐ рдЬрд░ рддреБрдордЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рд░реНрд╡реНрд╣рд░ PostgreSQL рд▓рд╛ рд╕рдорд░реНрдкрд┐рдд рдЕрд╕реЗрд▓, рддрд░ RAM рдЪреНрдпрд╛ 25% рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрдлрд░рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ 75% рддреБрдордЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдпрд╛ 75% рдордзреНрдпреЗ рдмрд╕реЗрд▓ рдпрд╛рдЪреА рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рддреНрд░реА рдЕрд╕рд▓реНрдпрд╛рд╕ 256% рд╡рд╛рдЯрдк рдХрд░рдгреЗ рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдкреНрд░рд╛рд░рдВрдн рдмрд┐рдВрджреВ рдЖрд╣реЗ. рд╕реБрд░реБрд╡рд╛рддреАрдЪрд╛ рдореБрджреНрджрд╛ рдПрдХ. рдЖрдгрд┐ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛, рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ 64 GB RAM рдЕрд╕реЗрд▓, рддрд░ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рддреБрдордЪреНрдпрд╛рдХрдбреЗ XNUMX GB рдореЛрдареЗ рдмрдлрд░ рдЕрд╕рддреАрд▓. рдХрд╛рд╣реА рдлрд░рдХрд╛рдиреЗ рдЕрдВрджрд╛рдЬреЗ рдЧрдгрдирд╛ рдХрд░рд╛ - рд╣реА рдЖрдХреГрддреА рдХрд╢рд╛рд╡рд░ рд╕реЗрдЯ рдХрд░рд╛рд╡реА.

рдЖрд╡реГрддреНрддреА 9.2 рдкреВрд░реНрд╡реА (рдЬрд░ рдорд╛рдЭреА рдЪреВрдХ рдирд╕реЗрд▓ рддрд░ рдЖрд╡реГрддреНрддреА 8.2 рдкрд╛рд╕реВрди), рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░реВрди рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓рд▓рд╛ рдореЛрдареНрдпрд╛ рдкреГрд╖реНрдард╛рдВрд╕рд╣ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдЖрдгрд┐ рд╣реЗ рдиреЗрд╣рдореА рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдкреНрд░рдердо, рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдЪрдВрдб рдкреГрд╖реНрдареЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╡рд╛рдЯрдк рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдХрд░реНрдирд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐, рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдЬреЗрдгреЗрдХрд░реБрди рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрддреАрд▓. рддреЗ рдлрдХреНрдд рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА. PostgreSQL рдиреЗ рдкреНрд░рдгрд╛рд▓реА 5 рд╢реИрд▓реАрдордзреНрдпреЗ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ, рд╣реЗ libhugetlbfs рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ - рд╣реЗ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреЗ рдкреВрд░реНрдг рдирд╛рд╡ рдЖрд╣реЗ.

9.3 рдордзреНрдпреЗ, рдореЗрдорд░реАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдирд╛ PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо 5 рдореЗрдорд░реА рд╡рд╛рдЯрдк рдкрджреНрдзрдд рд╕реЛрдбрдгреНрдпрд╛рдд рдЖрд▓реА. рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЦреВрдк рдЖрдирдВрджреА рд╣реЛрддрд╛, рдХрд╛рд░рдг рдЕрдиреНрдпрдерд╛ рддреБрдореНрд╣реА рдПрдХрд╛ рдорд╢реАрдирд╡рд░ рджреЛрди PostgreSQL рдЙрджрд╛рд╣рд░рдгреЗ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛рд▓ рдЖрдгрд┐ рддреЛ рдореНрд╣рдгрддреЛ рдХреА рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдкреБрд░реЗрд╢реА рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рдирд╛рд╣реА. рдЖрдгрд┐ рддреЛ рдореНрд╣рдгрддреЛ рдХреА sysctl рджреБрд░реБрд╕реНрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рдЕрд╕реЗ рдПрдХ sysctl рдЖрд╣реЗ рдХреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрджреНрдпрд╛рдк рд░реАрдмреВрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЖрдирдВрджреА рд╣реЛрддрд╛. рдкрд░рдВрддреБ mmap рдореЗрдорд░реА рд╡рд╛рдЯрдкрд╛рдиреЗ рдкреНрд░рдЪрдВрдб рдкреГрд╖реНрдард╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдЦрдВрдбрд┐рдд рдХреЗрд▓рд╛. рдЖрдордЪреЗ рдмрд╣реБрддреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯ рдореЛрдареНрдпрд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░ рд╡рд╛рдкрд░рддрд╛рдд. рдЖрдгрд┐ рдЖрдореНрд╣реА 9.3 рд╡рд░ рд╕реНрд╡рд┐рдЪ рди рдХрд░рдгреНрдпрд╛рдЪреА рдЬреЛрд░рджрд╛рд░ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА, рдХрд╛рд░рдг рддреЗрдереЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдЯрдХреНрдХреЗрд╡рд╛рд░реАрдд рдореЛрдЬрд▓реЗ рдЬрд╛рдК рд▓рд╛рдЧрд▓реЗ.

рдкрд░рдВрддреБ рд╕рдореБрджрд╛рдпрд╛рдиреЗ рдпрд╛ рд╕рдорд╕реНрдпреЗрдХрдбреЗ рд▓рдХреНрд╖ рджрд┐рд▓реЗ рдЖрдгрд┐ 9.4 рдордзреНрдпреЗ рддреНрдпрд╛рдВрдиреА рд╣рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрддрд┐рд╢рдп рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдкреБрдиреНрд╣рд╛ рдХреЗрд▓рд╛. рдЖрдгрд┐ 9.4 рдордзреНрдпреЗ postgresql.conf рдордзреНрдпреЗ рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░ рджрд┐рд╕рд▓рд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреБрдореНрд╣реА рдкреНрд░рдпрддреНрди, рдЪрд╛рд▓реВ рдХрд┐рдВрд╡рд╛ рдмрдВрдж рд╕рдХреНрд╖рдо рдХрд░реВ рд╢рдХрддрд╛.

рдкреНрд░рдпрддреНрди рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ PostgreSQL рд╕реБрд░реВ рд╣реЛрддреЗ, рдЬреЗрд╡реНрд╣рд╛ рддреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХрд░рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреА рд╣реА рдореЗрдорд░реА рдореЛрдареНрдпрд╛ рдкреГрд╖реНрдард╛рдВрд╡рд░реВрди рд╣рд╕реНрддрдЧрдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. рдЖрдгрд┐ рдЬрд░ рддреЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╕реЗрд▓, рддрд░ рддреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд╡рдбреАрд╡рд░ рдкрд░рдд рдпреЗрдИрд▓. рдЖрдгрд┐ рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХрд┐рдВрд╡рд╛ рд╕реЛрд▓рд╛рд░рд┐рд╕ рдЕрд╕реЗрд▓ рддрд░ рддреБрдореНрд╣реА рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддрд╛, рддреЗ рдиреЗрд╣рдореАрдЪ рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрд╕рддреЗ.

рдЬрд░ рдЪрд╛рд▓реВ рдЕрд╕реЗрд▓, рддрд░ рддреЗ рдореЛрдареНрдпрд╛ рдкреГрд╖реНрдард╛рдВрдордзреВрди рдирд┐рд╡рдбреВ рд╢рдХрдд рдирд╕рд▓реНрдпрд╛рд╕ рддреЗ рд╕реБрд░реВ рд╣реЛрдд рдирд╛рд╣реА. рдХреЛрдг рдЖрдгрд┐ рдХрд╛рдп рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдпрд╛рдмрджреНрджрд▓ рдпреЗрдереЗ рдЖрдзреАрдЪ рдЖрд╣реЗ. рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЬреЗ рд╣рд╡реЗ рдЖрд╣реЗ рддреЗ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдард│рдХрдкрдгреЗ рдЖрд╣реЗ рдХрд╛ рддреЗ рддрдкрд╛рд╕рд╛, рдХрд╛рд░рдг рддреНрд░реБрдЯреАрд╕рд╛рдареА рднрд░рдкреВрд░ рдЬрд╛рдЧрд╛ рдЖрд╣реЗ. рд╕рдзреНрдпрд╛ рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдлрдХреНрдд Linux рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдЖрдкрдг рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдгрдЦреА рдПрдХ рдЫреЛрдЯреА рдЯреАрдк. рдкрд╛рд░рджрд░реНрд╢рдХ рдкреНрд░рдЪрдВрдб рдкреГрд╖реНрдареЗ рдЕрджреНрдпрд╛рдк PostgreSQL рдмрджреНрджрд▓ рдирд╛рд╣реАрдд. рддреЛ рддреНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рдЖрдгрд┐ рдЕрд╢рд╛ рд╡рд░реНрдХрд▓реЛрдбрд╕рд╛рдареА рдкрд╛рд░рджрд░реНрд╢рдХ рдкреНрд░рдЪрдВрдб рдкреГрд╖реНрдард╛рдВрд╕рд╣, рдЬреЗрд╡реНрд╣рд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реАрдЪрд╛ рдореЛрдард╛ рддреБрдХрдбрд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЛ, рддреЗрд╡реНрд╣рд╛ рдлрд╛рдпрджреЗ рдлрдХреНрдд рдЦреВрдк рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдпреЗрддрд╛рдд. рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕рдЪреА рдореЗрдорд░реА рдЕрд╕реЗрд▓ рддрд░ рд╣реЗ рд▓рд╛рдЧреВ рд╣реЛрдК рд╢рдХрддреЗ. рдЬрд░ рдЖрдореНрд╣реА рдЕрдзрд┐рдХ рд░реЛрдЬрдЪреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд, рдЬреЗрд╡реНрд╣рд╛ рддреБрдордЪреНрдпрд╛ рдорд╢реАрдирд╡рд░ 32, 64, 128, 256 GB рдореЗрдорд░реА рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдиреЗрд╣рдореАрдЪреА рдореЛрдареА рдкреГрд╖реНрдареЗ рдУрдХреЗ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдЖрдореНрд╣реА рдлрдХреНрдд рдкрд╛рд░рджрд░реНрд╢рдХ рдЕрдХреНрд╖рдо рдХрд░рддреЛ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

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

рдЖрдгрд┐ рд╣реЗ рдмрд░реНрдпрд╛рдЪ рдорд╛рд░реНрдЧрд╛рдВрдиреА рдЦреВрдк рдЕрдкреНрд░рд┐рдп рдЕрд╕реЗрд▓. рдЖрдгрд┐ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдзреБрдирд┐рдХ рдХрд░реНрдирд▓ рдЬреБрдиреНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдкреЗрдХреНрд╖рд╛ рдереЛрдбреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╡рд╛рдЧрддрд╛рдд. рдЖрдгрд┐ рд╣реА рдЧреЛрд╖реНрдЯ рдкреБрдвреЗ рдЬрд╛рдгреЗ рдЦреВрдк рдЕрдкреНрд░рд┐рдп рдЖрд╣реЗ, рдХрд╛рд░рдг рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рд╕реНрд╡реЕрдкрд╕рд╣ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдХрд╛рдорд╛рдмрджреНрджрд▓ рдмреЛрд▓рддреЛ рддреЗрд╡реНрд╣рд╛ рддреЗ рдУрдУрдПрдо-рдХрд┐рд▓рд░рдЪреНрдпрд╛ рдЕрдХрд╛рд▓реА рдЖрдЧрдордирд╛рдиреЗ рд╕рдВрдкрддреЗ. рдЖрдгрд┐ OOM-рдХрд┐рд▓рд░, рдЬреЛ рд╡реЗрд│реЗрд╡рд░ рдЖрд▓рд╛ рдирд╛рд╣реА рдЖрдгрд┐ PostgreSQL рд╕реЛрдбрд▓рд╛, рддреЛ рдЕрдкреНрд░рд┐рдп рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдЕрд╕реЗрд▓, рдореНрд╣рдгрдЬреЗрдЪ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдкрд░реНрдпрдВрдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдХрд╛рдп рдЪрд╛рд▓рд▓рдп? рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд RAM рдЖрд╣реЗ, рд╕рд░реНрд╡рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдкрд░рдВрддреБ рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрд╡реЕрдкрдордзреНрдпреЗ рд╣рдБрдЧ рд╣реЛрддреЛ рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рд╕реНрд▓реЛ рд╣реЛрддреЛ. рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдЦреВрдк рд╕реНрдореГрддреА рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рдШрдбрддреЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдкреВрд░реНрд╡реА, рдЖрдореНрд╣реА vm.swappiness рд╢реВрдиреНрдпрд╛рд╡рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд▓реНрд▓рд╛ рджрд┐рд▓рд╛, рдореНрд╣рдгрдЬреЗ рд╕реНрд╡реЕрдк рдЕрдХреНрд╖рдо рдХрд░рдгреЗ. рдкреВрд░реНрд╡реА, рдЕрд╕реЗ рджрд┐рд╕рдд рд╣реЛрддреЗ рдХреА 32 GB RAM рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рдпрд┐рдХ рдмрдлрд░ рд╣реА рдЦреВрдк рдореЛрдареА рд░рдХреНрдХрдо рд╣реЛрддреА. рдЬрд░ рдЖрдкрдг рдЦрд╛рд▓реА рдкрдбрд▓реЛ рддрд░ рдХрд╡рдЪ рдлреЗрдХрдгреНрдпрд╛рд╕рд╛рдареА рдЬрд╛рдЧрд╛ рдЕрд╕рдгреЗ рд╣рд╛ рд╕реНрд╡реЕрдкрдЪрд╛ рдореБрдЦреНрдп рд╣реЗрддреВ рдЖрд╣реЗ. рдЖрдгрд┐ рдпрд╛рдкреБрдвреЗ рддреЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ рдирд╛рд╣реА. рдЖрдгрд┐ рдордЧ рдпрд╛ рдХрд╡рдЪрд╛рдЪреЗ рдХрд╛рдп рдХрд░рдгрд╛рд░ рдЖрд╣рд╛рдд? рд╣реЗ рдЕрд╕реЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ рдЬреЗрдереЗ рд╕реНрд╡реЕрдк рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╣реЗ рдЕрдЧрджреА рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА, рд╡рд┐рд╢реЗрд╖рдд: рдЕрд╢рд╛ рдЖрдХрд╛рд░рд╛рдЪреЗ.

рдкрд░рдВрддреБ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ, рдореНрд╣рдгрдЬреЗ рдХрд░реНрдирд▓рдЪреНрдпрд╛ рддрд┐рд╕рд▒реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ, рд╡рд░реНрддрди рдмрджрд▓рд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬрд░ рддреБрдореНрд╣реА рд╕реНрд╡реЕрдк рд╢реВрдиреНрдпрд╛рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ, рдореНрд╣рдгрдЬреЗ рддреЗ рдмрдВрдж рдХреЗрд▓реЗ, рддрд░ рд▓рд╡рдХрд░рдЪ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░, рдХрд╛рд╣реА рд░реЕрдо рд╢рд┐рд▓реНрд▓рдХ рдЕрд╕рд▓реА рддрд░реАрд╣реА, рд╕рд░реНрд╡рд╛рдд рдЧрд╣рди рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рдорд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ OOM рдХрд┐рд▓рд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдпреЗрдИрд▓. рдХрд╛рд░рдг рддреЛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрд▓ рдХреА рдПрд╡рдвреНрдпрд╛ рд╡рд░реНрдХрд▓реЛрдбрд╕рд╣ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдЕрдЬреВрди рдереЛрдбрд╛рд╕рд╛ рд╢рд┐рд▓реНрд▓рдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдкрдг рдмрд╛рд╣реЗрд░ рдЙрдбреА рдорд╛рд░реВ, рдореНрд╣рдгрдЬреЗ, рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХреНрд░рд┐рдпреЗрд▓рд╛ рдЦрд┐рд│рдЦрд┐рд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрдореА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдХрд╛рд╣реАрддрд░реА рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рд╣реЗ рдХрдореА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ рд╢реЗрдЕрд░реНрдб рдореЗрдорд░реАрдЪрд╛ рд╕рдЦреЛрд▓ рдЧреНрд░рд╛рд╣рдХ рдЕрд╕реЗрд▓, рдореНрд╣рдгрдЬреЗ рдкреЛрд╕реНрдЯрдорд╛рд╕реНрдЯрд░. рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░ рдмреЗрд╕ рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╕рд▓реНрдпрд╛рд╕ рддреЗ рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрдИрд▓.

рдореНрд╣рдгреВрди, рдЖрддрд╛ рдбрд┐рдлреЙрд▓реНрдЯ, рдорд╛рдЭреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдмрд╣реБрддреЗрдХ рд╡рд┐рддрд░рдгреЗ 6 рдЪреНрдпрд╛ рдЖрд╕рдкрд╛рд╕ рдЖрд╣реЗрдд, рдореНрд╣рдгрдЬреЗ рдХрд┐рддреА рдореЗрдорд░реА рд╢рд┐рд▓реНрд▓рдХ рдЖрд╣реЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рддреБрдореНрд╣реА рд╕реНрд╡реЕрдк рд╡рд╛рдкрд░рдгреЗ рдХреЛрдгрддреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рд╕реБрд░реВ рдХрд░рд╛рд╡реЗ. рдЖрдореНрд╣реА рдЖрддрд╛ vm.swappiness = 1 рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ, рдХрд╛рд░рдг рд╣реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрд░рд┐рддреНрдпрд╛ рддреЗ рдмрдВрдж рдХрд░рддреЗ, рдкрд░рдВрддреБ OOM-рдХрд┐рд▓рд░ рд╕рд╛рд░рдЦреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдд рдирд╛рд╣реА рдЬреЗ рдЕрдирдкреЗрдХреНрд╖рд┐рддрдкрдгреЗ рдЖрд▓реЗ рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг рдЧреЛрд╖реНрдЯ рдорд╛рд░рд▓реА.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдкреБрдвреЗ рдХрд╛рдп? рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдмрджреНрджрд▓ рдмреЛрд▓рддреЛ рдЖрдгрд┐ рд╣рд│реВрд╣рд│реВ рдбрд┐рд╕реНрдХрдХрдбреЗ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдЖрдкрд▓реЗ рдбреЛрдХреЗ рдкрдХрдбреВ рд▓рд╛рдЧрддреЛ. рдХрд╛рд░рдг рдбрд┐рд╕реНрдХ рдордВрдж рдЕрд╕рддреЗ рдЖрдгрд┐ рд╕реНрдорд░рдгрд╢рдХреНрддреА рдЬрд▓рдж рдЕрд╕рддреЗ рд╣реЗ рд╕рддреНрдп рд▓рд╣рд╛рдирдкрдгрд╛рдкрд╛рд╕реВрди рд╕рд░реНрд╡рд╛рдВрдирд╛рдЪ рдкрд░рд┐рдЪрд┐рдд рдЖрд╣реЗ. рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбрд┐рд╕реНрдХ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдЕрд╕рддреАрд▓.

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

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рддреЗ рдХрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ? рд╕рд╣рд╕рд╛ PostgreSQL рд╕рд╣ рдХрд╛рдо рдХрд░рдгрд╛рд░реЗ рд▓реЛрдХ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдд. рдореА рд╕рдордЬрд╛рд╡реВрди рд╕рд╛рдВрдЧреЗрди. рдореА рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, PostgreSQL рд╡реЗрд│реЛрд╡реЗрд│реА рдбрд┐рд╕реНрдХрд╡рд░ рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдордзреАрд▓ рдЧрд▓рд┐рдЪреНрдЫ рдкреГрд╖реНрдареЗ рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА рдЪреЗрдХрдкреЙрдИрдВрдЯ рдмрдирд╡рддреЗ. рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рдЕрд╕рд▓реНрдпрд╛рд╕, рдЪреЗрдХрдкреЙрдИрдВрдЯрдЪрд╛ рдбрд┐рд╕реНрдХрд╡рд░ рддреАрд╡реНрд░ рдкреНрд░рднрд╛рд╡ рдкрдбреВ рд▓рд╛рдЧрддреЛ, рдХрд╛рд░рдг рддреЗ рд╣реА рдкреГрд╖реНрдареЗ fsync рд╕рд╣ рдбрдВрдк рдХрд░рддреЗ. рд╣реЗ рдХрд░реНрдирд▓ рдмрдлрд░рдордзреНрдпреЗ рдпреЗрддреЗ рдЖрдгрд┐ fsync рд╡рд╛рдкрд░реВрди рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗ рдЬрд╛рддреЗ. рдЖрдгрд┐ рдЬрд░ рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреЗ рдкреНрд░рдорд╛рдг рдореЛрдареЗ рдЕрд╕реЗрд▓ рддрд░ рдЖрдореНрд╣реА рдПрдХ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рдкрд╛рд╣реВ рд╢рдХрддреЛ, рдореНрд╣рдгрдЬреЗ рдбрд┐рд╕реНрдХрдЪрд╛ рдЦреВрдк рдореЛрдард╛ рд╡рд╛рдкрд░.

рдпреЗрдереЗ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рджреЛрди рдЪрд┐рддреНрд░реЗ рдЖрд╣реЗрдд. рддреЗ рдХрд╛рдп рдЖрд╣реЗ рддреЗ рдореА рдЖрддрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрди. рд╣реЗ рджреЛрди рд╡реЗрд│-рд╕рдВрдмрдВрдзрд┐рдд рдЖрд▓реЗрдЦ рдЖрд╣реЗрдд. рдкрд╣рд┐рд▓рд╛ рдЖрд▓реЗрдЦ рдбрд┐рд╕реНрдХрдЪрд╛ рд╡рд╛рдкрд░ рдЖрд╣реЗ. рдпреЗрдереЗ рддреЗ рдпрд╛ рд╡реЗрд│реА рдЬрд╡рд│рдЬрд╡рд│ 90% рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрддреЗ. рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ RAID рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ 90% рд╡рд╛рдкрд░рд╛рд╕рд╣ рднреМрддрд┐рдХ рдбрд┐рд╕реНрдХрд╕рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдпрд╢реА рдард░рд▓рд╛ рдЕрд╕реЗрд▓, рддрд░ рд╣реА рд╡рд╛рдИрдЯ рдмрд╛рддрдореА рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдереЛрдбреЗ рдЕрдзрд┐рдХ рдЖрдгрд┐ рддреЗ 100 рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪреЗрд▓ рдЖрдгрд┐ I/O рдерд╛рдВрдмреЗрд▓.

рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдбрд┐рд╕реНрдХ рдЕреЕрд░реЗ рдЕрд╕реЗрд▓ рддрд░ рддреА рдереЛрдбреА рд╡реЗрдЧрд│реА рдХрдерд╛ рдЖрд╣реЗ. рддреЗ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ, рддреЗ рдХреЛрдгрддреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреЗ рдЕреЕрд░реЗ рдЖрд╣реЗ, рдЗрддреНрдпрд╛рджреАрдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ.

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

рдпрд╛ рд╕рдорд╕реНрдпреЗрд╡рд░ рдорд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ? рдЬрд░ рддреБрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдВрддрд░реНрдЧрдд IO рдерд╛рдВрдмрд╡рд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреАрд▓.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рддреБрдореНрд╣реА рд▓рд┐рдирдХреНрд╕рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдЪрд╛рдВрдЧрд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдШреЗрддрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдпреЛрдЧреНрдпрд░рд┐рддреАрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, PostgreSQL рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рддреЗ рдпрд╛ рдЪреЗрдХрдкреЙрдЗрдВрдЯреНрд╕ рдХрдореА рд╡реЗрд│рд╛ рдмрдирд╡рддреАрд▓, рддреЗ рдПрдХрдореЗрдХрд╛рдВрдордзреНрдпреЗ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдкрд╕рд░рддреАрд▓, рддрд░ рддреБрдореНрд╣реА рдбреАрдлреЙрд▓реНрдЯ рдбреЗрдмрд┐рдпрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдордзреНрдпреЗ рдкрд╛рдКрд▓ рдЯрд╛рдХрд╛рд▓. рдмрд╣реБрддреЗрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА, рд╣реЗ рдЪрд┐рддреНрд░ рдЖрд╣реЗ: vm.dirty_ratio=20, vm.dirty_background_ratio=10.

рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдп? рдХрд░реНрдирд▓ 2.6 рдордзреВрди рдПрдХ рдлреНрд▓рд╢рд┐рдВрдЧ рд░рд╛рдХреНрд╖рд╕ рджрд┐рд╕рд▓рд╛. Pdglush, рдХреЛрдг рдХреЛрдгрддреЗ рд╡рд╛рдкрд░рдд рдЖрд╣реЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ, рдЬреЗ рдХрд░реНрдирд▓ рдмрдлрд░рдордзреВрди рдЧрд▓рд┐рдЪреНрдЫ рдкреГрд╖реНрдареЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЧреБрдВрддрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдШрд╛рдгреЗрд░рдбреА рдкреГрд╖реНрдареЗ рдЯрд╛рдХреВрди рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддрд╛рдирд╛ рдЯрд╛рдХреВрди рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдХрд╛рд╣реАрд╣реА рдЕрд╕реЛ, рдЬреЗрд╡реНрд╣рд╛ рдмреЕрдХрдЧреНрд░рд╛рдЙрдВрдб рдЯрд╛рдХреВрди рджреЗрдгреЗ рдорджрдд рдХрд░рдд рдирд╛рд╣реА.

рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдХрдзреА рдпреЗрддреЗ? рдЬреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдПрдХреВрдг RAMрдкреИрдХреА 10% рдХрд░реНрдирд▓ рдмрдлрд░рдордзреАрд▓ рдЧрд▓рд┐рдЪреНрдЫ рдкреГрд╖реНрдард╛рдВрдиреА рд╡реНрдпрд╛рдкрд▓реЗрд▓реЗ рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореАрдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдЦрди-рдСрдл рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рддреНрдпрд╛рдЪреА рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдХрд╛ рдЖрд╣реЗ? рдкреЕрд░рд╛рдореАрдЯрд░ рдореНрд╣рдгреВрди, рдХрд┐рддреА рдкреГрд╖реНрдареЗ рд▓рд┐рд╣рд╛рдпрдЪреА рд╣реЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддреЗ. рдЖрдгрд┐, рд╕рдордЬрд╛, рддреЛ N рдкреГрд╖реНрдареЗ рд▓рд┐рд╣рд┐рддреЛ. рдЖрдгрд┐ рдереЛрдбрд╛ рд╡реЗрд│ рд╣реА рдЧреЛрд╖реНрдЯ рдЭреЛрдкреА рдЬрд╛рддреЗ. рдЖрдгрд┐ рдордЧ рддреА рдкреБрдиреНрд╣рд╛ рдпреЗрддреЗ рдЖрдгрд┐ рдЖрдгрдЦреА рдХрд╛рд╣реА рдкрд╛рдиреЗ рдХреЙрдкреА рдХрд░рддреЗ.

рд╣реА рдПрдХ рдЕрддреНрдпрдВрдд рд╕рд╛рдзреА рдХрдерд╛ рдЖрд╣реЗ. рдпреЗрдереЗ рд╕рдорд╕реНрдпрд╛ рдЬрд▓рддрд░рдг рддрд▓рд╛рд╡рд╛рд╕рд╛рд░рдЦреА рдЖрд╣реЗ, рдЬреЗрд╡реНрд╣рд╛ рддреЗ рдПрдХрд╛ рдкрд╛рдИрдкрдордзреНрдпреЗ рдУрддрд▓реЗ рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рддреЗ рджреБрд╕рд░реНрдпрд╛рдордзреНрдпреЗ рд╡рд╛рд╣рддреЗ. рдЖрдордЪрд╛ рдЪреЗрдХрдкреЙрдИрдВрдЯ рдЖрд▓рд╛ рдЖрдгрд┐ рдЬрд░ рддреНрдпрд╛рдиреЗ рдХрд╛рд╣реА рдЧрд▓рд┐рдЪреНрдЫ рдкреГрд╖реНрдареЗ рдЯрд╛рдХреВрди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдкрд╛рдард╡рд▓реА, рддрд░ рд╣рд│реВрд╣рд│реВ рд╕рдВрдкреВрд░реНрдг рдЧреЛрд╖реНрдЯ рдХрд░реНрдирд▓ рдмрдлрд░ pgflush рдордзреВрди рд╡реНрдпрд╡рд╕реНрдерд┐рддрдкрдгреЗ рд╕реЛрдбрд╡рд▓реА рдЬрд╛рдИрд▓.

рдЬрд░ рд╣реА рдШрд╛рдгреЗрд░рдбреА рдкреГрд╖реНрдареЗ рдЬрдорд╛ рд╣реЛрдд рд░рд╛рд╣рд┐рд▓реА рддрд░ рддреЗ 20% рдкрд░реНрдпрдВрдд рдЬрдорд╛ рд╣реЛрддрд╛рдд, рддреНрдпрд╛рдирдВрддрд░ OS рдкреНрд░рд╛рдзрд╛рдиреНрдп рдореНрд╣рдгрдЬреЗ рд╕рдВрдкреВрд░реНрдг рдЧреЛрд╖реНрдЯ рдбрд┐рд╕реНрдХрд╡рд░ рд▓рд┐рд╣рд┐рдгреЗ, рдХрд╛рд░рдг рд╢рдХреНрддреА рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрдИрд▓ рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрдкрд▓реНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдИрдЯ рд╣реЛрдИрд▓. рдЖрдореНрд╣реА рд╣рд╛ рдбреЗрдЯрд╛ рдЧрдорд╛рд╡реВ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде.

рдпреБрдХреНрддреА рдХрд╛рдп рдЖрд╣реЗ? рдпреБрдХреНрддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЖрдзреБрдирд┐рдХ рдЬрдЧрд╛рдд рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдорд╢реАрдирд╡рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдПрдХреВрдг RAM рдЪреНрдпрд╛ 20 рдЖрдгрд┐ 10% рдЖрд╣реЗрдд, рддреЗ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдбрд┐рд╕реНрдХ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдереНрд░реВрдкреБрдЯрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдкреВрд░реНрдгрдкрдгреЗ рд░рд╛рдХреНрд╖рд╕реА рдЖрд╣реЗрдд.

рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ 128 GB RAM рдЖрд╣реЗ. 12,8 GB рддреБрдордЪреНрдпрд╛ рдбрд┐рд╕реНрдХ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдпреЗрддреЛ. рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рддрд┐рдереЗ рдХреЛрдгрддреА рдХреЕрд╢реЗ рдЖрд╣реЗ, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХреЛрдгрддрд╛ рдЕреЕрд░реЗ рдЖрд╣реЗ рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА, рддреЗ рдлрд╛рд░ рдХрд╛рд│ рдЯрд┐рдХрдгрд╛рд░ рдирд╛рд╣реАрдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдХреА рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ RAID рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЗ рдХреНрд░рдорд╛рдВрдХ рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рд╛. 512 MB рдХреЕрд╢реЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреНрд░реЛрд▓рд░рд╕рд╛рдареА рдореА рддреНрд╡рд░рд┐рдд рдпреЗрдереЗ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЖрд╣реЗ.

рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЕрдЧрджреА рд╕реЛрдкреЗ рдорд╛рдирд▓реЗ рдЬрд╛рддреЗ. рддреБрдореНрд╣реА vm.dirty_background рдмрд╛рдЗрдЯреНрд╕рдордзреНрдпреЗ рдЯрд╛рдХреВ рд╢рдХрддрд╛. рдЖрдгрд┐ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдорд╛рдЧреАрд▓ рджреЛрди рд░рджреНрдж рдХрд░рддрд╛рдд. рдПрдХрддрд░ рдЧреБрдгреЛрддреНрддрд░ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЖрд╣реЗ, рдХрд┐рдВрд╡рд╛ рдмрд╛рдЗрдЯреНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рд╕рдХреНрд░рд┐рдп рдХреЗрд▓реЗ рдЖрд╣реЗрдд, рдирдВрддрд░ рдмрд╛рдЗрдЯреНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреАрд▓. рдкрдг рдореА рдбреАрдмреАрдП рд╕рд▓реНрд▓рд╛рдЧрд╛рд░ рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдЖрдгрд┐ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдореА рд╕реНрдЯреНрд░реЙ рдХрд╛рдврдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ рдЖрдгрд┐ рдореНрд╣рдгреВрди, рдЬрд░ рдмрд╛рдЗрдЯрдордзреНрдпреЗ рдЕрд╕реЗрд▓ рддрд░ рдмрд╛рдЗрдЯрдордзреНрдпреЗ. рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдкреНрд░рд╢рд╛рд╕рдХ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдЕрдзрд┐рдХ рдореЗрдорд░реА рдЬреЛрдбрдгрд╛рд░ рдирд╛рд╣реА, рддреЛ рд░реАрдмреВрдЯ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдЖрдХреГрддреА рддрд╢реАрдЪ рд░рд╛рд╣реАрд▓ рдпрд╛рдЪреА рдХреЛрдгреАрд╣реА рд╣рдореА рджрд┐рд▓реА рдирд╛рд╣реА. рдлрдХреНрдд рдпрд╛ рд╕рдВрдЦреНрдпрд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рд╛ рдЬреЗрдгреЗрдХрд░реВрди рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╣рдореАрд╕рд╣ рдмрд╕реЗрд▓.

рдЖрдкрдг рдлрд┐рдЯ рди рдЭрд╛рд▓реНрдпрд╛рд╕ рдХрд╛рдп рд╣реЛрдИрд▓? рдореА рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ рдХреА рдХреЛрдгрддреАрд╣реА рдлреНрд▓рд╢рд┐рдВрдЧ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдерд╛рдВрдмрд╡рд┐рд▓реА рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рд╣реА рднрд╛рд╖рдгрд╛рдЪреА рдЖрдХреГрддреА рдЖрд╣реЗ. рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдПрдХ рдореЛрдареА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ - рддреНрдпрд╛рдд рдмрд░реАрдЪ рдШрд╛рдгреЗрд░рдбреА рдкреГрд╖реНрдареЗ рдЖрд╣реЗрдд, рддреНрдпрд╛рдореБрд│реЗ рддреБрдордЪреЗ рдХреНрд▓рд╛рдпрдВрдЯ рддрдпрд╛рд░ рдХрд░рдд рдЕрд╕рд▓реЗрд▓рд╛ IO рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдерд╛рдВрдмрд▓рд╛ рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрдЯрд╛рдмреЗрд╕рд▓рд╛ sql рдХреНрд╡реЗрд░реА рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд▓рд╛ рдЖрд╣реЗ, рддреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдд рдЖрд╣реЗ. рддреНрдпрд╛рдд рдХреЛрдгрддреЗрд╣реА рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рд╣реЗ рд╕рд░реНрд╡рд╛рдд рдХрдореА рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЕрд╕рддреЗ, рдХрд╛рд░рдг рдбреЗрдЯрд╛рдмреЗрд╕ рдЪреЗрдХрдкреЙрдИрдВрдЯрдиреЗ рд╡реНрдпрд╛рдкрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ. рдЖрдгрд┐ рддреА рдХрдзреА рдкреВрд░реНрдг рдХрд░реЗрд▓ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рдЕрд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдирд╕рд▓реЗрд▓реЗ рдлреНрд▓рд╢рд┐рдВрдЧ рд╕рд╛рдзреНрдп рдХрд░рддрд╛, рддреЗрд╡реНрд╣рд╛ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА рддреБрдордЪреЗ рд╕рд░реНрд╡ IO рддреНрдпрд╛рдд рд╡реНрдпрд╛рдкрд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рдЖрдгрд┐ рддреЛ рд╕рдВрдкреЗрдкрд░реНрдпрдВрдд рддреБрдореНрд╣реА рдХрд╛рд╣реАрд╣реА рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

рдпреЗрдереЗ рдЖрдгрдЦреА рджреЛрди рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореБрджреНрджреЗ рдЖрд╣реЗрдд рдЬреЗ рдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЖрд╣реЗрдд. рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ postgresql.conf рдордзреАрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╢реА рдЬреБрд│рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд, рдореНрд╣рдгрдЬреЗ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ. рдЖрдгрд┐ рддреБрдордЪреА рдбрд┐рд╕реНрдХ рд╕рд┐рд╕реНрдЯрдо рдкреБрд░реЗрд╢реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ RAID рд╡рд░ рдХреЕрд╢реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдд рдмреЕрдЯрд░реА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд▓реЛрдХ рдмреЕрдЯрд░реАрд╢рд┐рд╡рд╛рдп рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдХреЕрд╢реЗрд╕рд╣ RAID рдЦрд░реЗрджреА рдХрд░рддрд╛рдд. рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ RAID рдордзреНрдпреЗ SSD рдЕрд╕рддреАрд▓, рддрд░ рддреЗ рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд, рддреЗрдереЗ рдХреЕрдкреЗрд╕рд┐рдЯрд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпреЗрдереЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдЖрд╣реЗ. рдпрд╛ рджреБрд╡реНрдпрд╛рдордзреНрдпреЗ PostgreSQL рдордзреНрдпреЗ рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдбрд┐рд╕реНрдХ рдХрд╢реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реА рдпрд╛рдмрджреНрджрд▓рдЪрд╛ рдорд╛рдЭрд╛ рдЕрд╣рд╡рд╛рд▓ рдЖрд╣реЗ. рддреЗрдереЗ рдпрд╛ рд╕рд░реНрд╡ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рдЖрд╣реЗрдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рджреБрд╕рд░реЗ рдХрд╛рдп рдЬреАрд╡рди рдЦреВрдк рдХрдареАрдг рдХрд░реВ рд╢рдХрддреЗ? рд╣реЗ рджреЛрди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрд╣реЗрдд. рддреЗ рддреБрд▓рдиреЗрдиреЗ рдирд╡реАрди рдЖрд╣реЗрдд. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рддреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЖрдгрд┐ рдЬрд░ рддреЗ рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдЪрд╛рд▓реВ рдХреЗрд▓реЗ рддрд░ рддреЗ рдЬреАрд╡рди рддрд┐рддрдХреЗрдЪ рдХрдареАрдг рдмрдирд╡реВ рд╢рдХрддрд╛рдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рджреЛрди рддреБрд▓рдиреЗрдиреЗ рдирд╡реАрди рдЧреЛрд╖реНрдЯреА рдЖрд╣реЗрдд. рддреЗ рдЖрдзреАрдЪ рддрд┐рд╕рд▒реНрдпрд╛ рдХреЛрд░рдордзреНрдпреЗ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ рдЖрд╣реЗрдд. рд╣реА sched_migration_cost рдЖрд╣реЗ рдиреЕрдиреЛрд╕реЗрдХрдВрдж рдЖрдгрд┐ sched_autogroup_enabled, рдЬреА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдПрдХ рдЖрд╣реЗ.

рдЖрдгрд┐ рддреЗ рддреБрдордЪреЗ рдЖрдпреБрд╖реНрдп рдХрд╕реЗ рдЙрдзреНрд╡рд╕реНрдд рдХрд░рддрд╛рдд? рд╢реЗрдб_рдорд╛рдЗрдЧреНрд░реЗрд╢рди_рдХреЙрд╕реНрдЯ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп? рд▓рд┐рдирдХреНрд╕рд╡рд░, рд╢реЗрдбреНрдпреБрд▓рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХрд╛ CPU рд╡рд░реВрди рджреБрд╕рд▒реНрдпрд╛ CPU рдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░реВ рд╢рдХрддреЛ. рдЖрдгрд┐ PostgreSQL рд╕рд╛рдареА, рдЬреЗ рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ, рджреБрд╕рд░реНрдпрд╛ CPU рд╡рд░ рд╕реНрдерд▓рд╛рдВрддрд░ рдХрд░рдгреЗ рдкреВрд░реНрдгрдкрдгреЗ рдЕрд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ. рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдУрдкрди рдСрдлрд┐рд╕ рдЖрдгрд┐ рдЯрд░реНрдорд┐рдирд▓ рджрд░рдореНрдпрд╛рди рд╡рд┐рдВрдбреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рдЪрд╛рдВрдЧрд▓реЗ рдЕрд╕реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╛рдареА рд╣реЗ рдЦреВрдк рд╡рд╛рдИрдЯ рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ, рд╕реНрдерд▓рд╛рдВрддрд░_рдХрд┐рдВрдордд рдХрд╛рд╣реА рдореЛрдареНрдпрд╛ рдореВрд▓реНрдпрд╛рд╡рд░, рдХрд┐рдорд╛рди рд╣рдЬрд╛рд░реЛ рдиреЕрдиреЛрд╕реЗрдХрдВрджрд╛рдВрд╡рд░ рд╕реЗрдЯ рдХрд░рдгреЗ рд╣реЗ рд╡рд╛рдЬрд╡реА рдзреЛрд░рдг рдЖрд╣реЗ.

рд╢реЗрдбреНрдпреБрд▓рд░рд╕рд╛рдареА рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдп рдЕрд╕реЗрд▓? рд╣реЗ рдорд╛рдирд▓реЗ рдЬрд╛рдИрд▓ рдХреА рдпрд╛ рдХрд╛рд│рд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрджреНрдпрд╛рдк рдЧрд░рдо рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд╕реЗрд▓ рдЬреЛ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдХрд╛рд╣реАрддрд░реА рдХрд░рдд рдЕрд╕реЗрд▓ рддрд░ рд╢реЗрдбреНрдпреБрд▓рд░рд▓рд╛ рд╣реЗ рд╕рдордЬреЗрд▓. рддреЛ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реЗрд▓ рдХреА рд╣рд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╣реЛрдИрдкрд░реНрдпрдВрдд, рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛрдареЗрд╣реА рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдЬрд░ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдкреНрд░рдХреНрд░рд┐рдпреЗрдиреЗ рдХрд╛рд╣реА рдХреЗрд▓реЗ рддрд░ рддреЗ рдХреЛрдареЗрд╣реА рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА, рддреЗ рддреНрдпрд╛рд▓рд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ CPU рд╡рд░ рд╢рд╛рдВрддрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░реЗрд▓. рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдХреГрд╖реНрдЯ рдЖрд╣реЗ.

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

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

рдорд╛рдЭреЗ рд╕рд╣рдХрд╛рд░реА рдЕреЕрд▓реЗрдХреНрд╕реА рд▓реЗрд╕реЛрд╡реНрд╕реНрдХреА рдпрд╛рдВрдиреА рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ pgbench рд╕рд╣ рдЪрд╛рдЪрдгреНрдпрд╛ рдХреЗрд▓реНрдпрд╛, рдЬреЗрдереЗ рддреНрдпрд╛рдиреЗ рдкрд░рд┐рдорд╛рдгрд╛рдЪреНрдпрд╛ рдСрд░реНрдбрд░рдиреЗ migration_cost рд╡рд╛рдврд╡рд▓реЗ тАЛтАЛрдЖрдгрд┐ рдСрдЯреЛрдЧреНрд░реБрдк рдмрдВрдж рдХреЗрд▓реЗ. рдЦрд░рд╛рдм рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░реАрд▓ рдлрд░рдХ рдЬрд╡рд│рдЬрд╡рд│ 10% рд╣реЛрддрд╛. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕ рдореЗрд▓рд┐рдВрдЧ рд▓рд┐рд╕реНрдЯрд╡рд░ рдЪрд░реНрдЪрд╛ рдЖрд╣реЗ рдЬрд┐рдереЗ рд▓реЛрдХ рдХреНрд╡реЗрд░реА рд╕реНрдкреАрдбрдордзреНрдпреЗ рд╕рдорд╛рди рдмрджрд▓рд╛рдВрдЪреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛рдд релреж% рдкреНрд░рднрд╛рд╡рд┐рдд. рдЕрд╢рд╛ рдЕрдиреЗрдХ рдХрдерд╛ рдЖрд╣реЗрдд.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

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

рд╢рд┐рд╡рд╛рдп, рддреБрдореНрд╣реА рдХрд╛рд╣реА рд╣реЛрд╕реНрдЯрд░рдХрдбреВрди рд╕рд░реНрд╡реНрд╣рд░ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрддрд▓реНрдпрд╛рд╕, "рдЪрд╛рдВрдЧрд▓реЗ" рд╣реЛрд╕реНрдЯрд░реНрд╕рдирд╛ рддреБрдордЪреА рдХрд╛рдордЧрд┐рд░реА рдЪрд╛рдВрдЧрд▓реА рдЖрд╣реЗ рдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдирд╛рд╣реА. рддреНрдпрд╛рдВрдЪреЗ рдХрд╛рд░реНрдп рд╣реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдВрдЪреЗ рд▓реЛрд╣ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдИрд▓. рдореНрд╣рдгреВрди, рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рддреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рд▓реЕрдкрдЯреЙрдк рдкреЙрд╡рд░ рд╕реЗрд╡реНрд╣рд┐рдВрдЧ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реВ рд╢рдХрддрд╛рдд.

рдЬрд░ рддреБрдореНрд╣реА рд╣реА рд╕рд╛рдордЧреНрд░реА рдЬрд╛рд╕реНрдд рднрд╛рд░рд╛рдЦрд╛рд▓реА рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдордЪреА рдирд┐рд╡рдб acpi_cpufreq + permormance рдЖрд╣реЗ. рдУрдВрдбрдорд╛рдВрдб рдХрд░реВрдирд╣реА рд╕рдорд╕реНрдпрд╛ рдЕрд╕рддреАрд▓.

Intel_pstate рд╣рд╛ рдереЛрдбрд╛ рд╡реЗрдЧрд│рд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЖрд╣реЗ. рдЖрдгрд┐ рдЖрддрд╛ рдпрд╛рд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджрд┐рд▓реЗ рдЬрд╛рддреЗ, рдХрд╛рд░рдг рддреЗ рдирдВрддрд░рдЪреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд░рд╛рдЬреНрдпрдкрд╛рд▓ рд╣реА рдХреЗрд╡рд│ рдХрд╛рдордЧрд┐рд░реА рдЖрд╣реЗ. рдУрдиреНрдбрдорд╛рдВрдб, рдкреЙрд╡рд░рд╕реЗрд╡реНрд╣ рдЖрдгрд┐ рдЗрддрд░ рд╕рд░реНрд╡ рдХрд╛рд╣реА рддреБрдордЪреНрдпрд╛рдмрджреНрджрд▓ рдирд╛рд╣реА.

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

рд╣реЗ рдЖрдпрдЯрдо рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рддреНрдпрд╛рдВрдиреА рддреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЪрд╛рд▓реВ рдХреЗрд▓реЗ рдЖрд╣реЗ рдХрд╛ рддреЗ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдкрд╣рд╛. рд╣реА рдЦрд░реЛрдЦрд░ рдореЛрдареА рд╕рдорд╕реНрдпрд╛ рдЕрд╕реВ рд╢рдХрддреЗ.

PostgreSQL рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЯреНрдпреВрдирд┐рдВрдЧ. рдЗрд▓реНрдпрд╛ рдХреЛрд╕реНрдореЛрдбреЗрдорд┐рдпрд╛рдиреНрд╕реНрдХреА

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

рдкреНрд░рд╢реНрдирдГ

рдзрдиреНрдпрд╡рд╛рдж! рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдЦрд╛рджреНрдпрд╛ рдХрдВрдкрдиреАрд▓рд╛ рдкреИрд╕реЗ рд╡рд╛рдЪрд╡рд╛рдпрдЪреЗ рдЕрд╕рддреАрд▓ рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдПрдХрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдареЗрд╡рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдХрдВрдкрдиреА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдлреЕрд╢рдиреЗрдмрд▓ рдЯреНрд░реЗрдВрдбрдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рдд рдЕрд╕реЗрд▓, рдЬреНрдпрд╛рдордзреНрдпреЗ PostgreSQL рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ. рдпреБрдХреНрддреА рдХрд╛рдп рдЖрд╣реЗ? Sysctl рд╕рдВрдкреВрд░реНрдг рдХрд░реНрдирд▓рд╡рд░ рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░реЗрд▓. рдореА sysctls рдХрд╕реЗрддрд░реА рд╡рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдЗрдЬ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЕрд╕реЗ рдРрдХрд▓реЗ рдирд╛рд╣реА рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдХрдВрдЯреЗрдирд░рд╡рд░ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд. рддреЗрдереЗ рдлрдХреНрдд рдПрдХ cgroup рдЖрд╣реЗ рдЖрдгрд┐ рддреЗрдереЗ рдлрдХреНрдд рдирд┐рдпрдВрддреНрд░рдгрд╛рдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ. рдЖрдкрдг рдпрд╛рд╕рд╣ рдХрд╕реЗ рдЬрдЧреВ рд╢рдХрддрд╛? рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд░рдлреЙрд░реНрдордиреНрд╕ рд╣рд╡рд╛ рдЕрд╕реЗрд▓ рддрд░ рд╡реЗрдЧрд│реНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ PostgreSQL рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рдЯреНрдпреВрди рдХрд░рд╛?

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

рдХрд╛рдп рдЕрдбрдЪрдг рдЖрд╣реЗ? рдЬрд░ рд╣реЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдЕрд╕реЗрд▓, рддрд░ рдмрд╣реБрдзрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдмрд░реНтАНрдпрд╛рдЪ рд╕рдорд╕реНрдпрд╛ рдЕрд╕рддреАрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмрд╣реБрддреЗрдХ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╡рд░ рдбрд┐рд╕реНрдХрдЪреА рд╡рд┐рд▓рдВрдмрддрд╛ рдЕрдЧрджреА рд╡рд┐рд╕рдВрдЧрдд рдЖрд╣реЗ. рдЬрд░реА рдбрд┐рд╕реНрдХ рдереНрд░реВрдкреБрдЯ рдЪрд╛рдВрдЧрд▓рд╛ рдЕрд╕рд▓рд╛ рддрд░реАрд╣реА, рдЪреЗрдХрдкреЙрдИрдВрдЯрдЪреНрдпрд╛ рд╡реЗрд│реА рдХрд┐рдВрд╡рд╛ WAL рд▓рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рд╕рд░рд╛рд╕рд░реА рдереНрд░реВрдкреБрдЯрд╡рд░ рдПрдХ рдЕрдпрд╢рд╕реНрд╡реА I/O рд╡реНрдпрд╡рд╣рд╛рд░ рдЭрд╛рд▓рд╛, рддрд░ рдбреЗрдЯрд╛рдмреЗрд╕рд▓рд╛ рдпрд╛рдЪрд╛ рдореЛрдард╛ рдлрдЯрдХрд╛ рдмрд╕реЗрд▓. рдЖрдгрд┐ рдЖрдкрдг рдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдпреЗрдИрд▓.

рддреБрдордЪреНрдпрд╛рдХрдбреЗ рддреНрдпрд╛рдЪ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ NGINX рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛рд╣реА рд╣реАрдЪ рд╕рдорд╕реНрдпрд╛ рдЕрд╕реЗрд▓. рддреЛ рд╕рд╛рдорд╛рдпрд┐рдХ рд╕реНрдорд░рдгрд╢рдХреНрддреАрд╕рд╛рдареА рд▓рдвреЗрд▓. рдЖрдгрд┐ рддреБрдореНрд╣реА рдпреЗрдереЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдХрдбреЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА.

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

рдкрд░рдВрддреБ NUMA рдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдЕрд╕реВ рд╢рдХрддрд╛рдд. VmWare, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, NUMA рд╕рд╣ рдЕрдЧрджреА рдЙрд▓рдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╣ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдЖрдгрд┐ рдпреЗрдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рд╡рдбрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ - рд▓реЛрдЦрдВрдбреА рд╕рд░реНрд╡реНрд╣рд░ рдХрд┐рдВрд╡рд╛ рд▓реЛрд╣ рдирд╕рд▓реЗрд▓рд╛.

рдорд▓рд╛ Amazon AWS рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдЖрд╣реЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗрдд. рддреНрдпрд╛рдкреИрдХреА рдПрдХрд╛рд▓рд╛ Amazon RDS рдореНрд╣рдгрддрд╛рдд. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдХрд╛рд╣реА рдХрд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд рдХрд╛?

рддреЗрдереЗ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддреНрдпрд╛ рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд. рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реА рдЧреЛрд╖реНрдЯ рдХрд╢реА рд╡рд╛рдкрд░реЗрд▓ рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдЖрдореНрд╣реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ. рдЖрдгрд┐ рдЕрд╕реЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрд╣реЗрдд рдЬреЗ рдард░рд╡рддрд╛рдд рдХреА рдЖрдкрдг рдЖрддрд╛ рдХреБрдареЗ рдЬрд╛рдпрдЪреЗ рдЖрд╣реЗ, рдЬрд╕реЗ рдХреА рдЖрдХрд╛рд░ рджреЗрдгреЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдмрд░реНрдпрд╛рдЪ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рдЖрдкрдг рдЖрддрд╛ рддреЗ рдЦрд╛рдК. рдпрд╛рдирдВрддрд░, Amazon RDS рд╣реА рд╕рдВрд╕рд╛рдзрдиреЗ рдШрдЯреНрдЯ рдХрд░рддреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрдореА рд╣реЛрддреЗ. рд▓реЛрдХ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рд╢реА рдХрд╕реЗ рдЧреЛрдВрдзрд│ рдХрд░реВ рд▓рд╛рдЧрд▓реЗ рдЖрд╣реЗрдд рдпрд╛рдЪреНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдХрдерд╛ рдЖрд╣реЗрдд. рдХрдзреАрдХрдзреА рдЕрдЧрджреА рдпрд╢рд╕реНрд╡реАрдкрдгреЗ. рдкрд░рдВрддреБ рдпрд╛рдЪрд╛ OS рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╢реА рдХрд╛рд╣реАрд╣реА рд╕рдВрдмрдВрдз рдирд╛рд╣реА. рд╣реЗ рдХреНрд▓рд╛рдЙрдб рд╣реЕрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рддреА рд╡реЗрдЧрд│реА рдХрдерд╛ рдЖрд╣реЗ.

рд╡рд┐рд╢рд╛рд▓ TLB рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдкрд╛рд░рджрд░реНрд╢рдХ рд╡рд┐рд╢рд╛рд▓ рдкреГрд╖реНрдард╛рдВрдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░рднрд╛рд╡ рдХрд╛ рдирд╛рд╣реА?

рджреЗрдК рдирдХреЛрд╕. рд╣реЗ рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░реЗ рд╕реНрдкрд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдкрдг рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рддреЗ рддреЗ рджреЗрдд рдирд╛рд╣реАрдд. PostgreSQL рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛рдп рдЖрд╣реЗ? рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░, рддреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реАрдЪрд╛ рдПрдХ рдореЛрдард╛ рднрд╛рдЧ рд╡рд╛рдЯрдк рдХрд░рддреЗ. рддреЗ рдкрд╛рд░рджрд░реНрд╢рдХ рдЖрд╣реЗрдд рдХреА рдирд╛рд╣реА рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЖрд╣реЗ. рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рддреЗ рд╡реЗрдЧрд│реЗ рджрд┐рд╕рддрд╛рдд рд╣реЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ. рдЖрдгрд┐ рдЬрд░ рднрд░рдкреВрд░ рдореЗрдорд░реА рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рд╢реЗрдЕрд░реНрдб_рдореЗрдорд░реА рд╕реЗрдЧрдореЗрдВрдЯ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рдкрд╛рд░рджрд░реНрд╢рдХ рд╡рд┐рд╢рд╛рд▓ рдкреГрд╖реНрдареЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддреАрд▓. PostgreSQL рдордзреНрдпреЗ, рд╣реЗ рдлрдХреНрдд рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдЯрдк рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рддреЗрдЪ рдЖрд╣реЗ, рдЖрдгрд┐ рдирдВрддрд░ рддреЗрдереЗ рдХрд╛рд╣реАрд╣реА рд╡рд┐рд╢реЗрд╖ рдШрдбрдд рдирд╛рд╣реА. рддреБрдореНрд╣реА рдЕрд░реНрдерд╛рддрдЪ, рддреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рд╢реЗрдЕрд░реНрдб_рдореЗрдорд░реА рдЬреЗрд╡реНрд╣рд╛ рдХрд╛рд╣реАрддрд░реА рдкреБрдиреНрд╣рд╛ рд╡рд╛рдЯрдк рдХрд░рддреЗ рддреЗрд╡реНрд╣рд╛ рддреЗ рдЦрд░рд╛рдм рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЕрд╕рддреЗ. PostgreSQL рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛