30 рд░реВрдмрд▓рд╕рд╛рдареА рдмреНрд░реЗрди + рд╡реНрд╣реАрдкреАрдПрд╕ =?

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

30 рд░реВрдмрд▓рд╕рд╛рдареА рдмреНрд░реЗрди + рд╡реНрд╣реАрдкреАрдПрд╕ =?
рд╕рд╛рдореНрдпрд╡рд╛рдж рдЖрд▓рд╛ рдЖрд╣реЗ рдХреЙрдореНрд░реЗрдбреНрд╕.

рддреЛ рддрд╕рд╛ рдЖрд╣реЗ - рдЖрдордЪрд╛ рд╡реНрд╣реАрдкреАрдПрд╕ рдлреЙрд░ рддреАрд╕

рдЖрдореНрд╣реА рд╕реНрдкрд░реНрдзрдХ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рдмрд░реЗрдЪ рд▓реЗрдЦ рд╡рд╛рдЪрд▓реЗ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдиреА 3-4 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рд▓рд┐рд╣рд┐рд▓реЗ рд╣реЛрддреЗ рдХреА рд╕реНрд╡рд╕реНрдд VPS рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА. рдмрд░рдВ, рддреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗ, рдордЧ VPS тАЬрдПрдХ рдкреИрдиреАрд╕рд╛рдареАтАЭ рд╢реБрджреНрдз рд╡рд┐рдкрдгрди рд╣реЛрддреЗ рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдорд╛рдЪреНрдпрд╛ рд╕рдВрдзреА рджреЗрдК рд╢рдХрдд рдирд╡реНрд╣рддреЗ. рдкрд░рдВрддреБ рд╡реЗрд│ рдмрджрд▓рдд рдЖрд╣реЗ, рдЖрднрд╛рд╕реА рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдХрд┐рдВрдордд рдХрдореА рдЖрдгрд┐ рдХрдореА рд╣реЛрдд рдЖрд╣реЗ рдЖрдгрд┐ рдорд╣рд┐рдиреНрдпрд╛рд▓рд╛ 30 рд░реВрдмрд▓рд╕рд╛рдареА рдЖрдореНрд╣реА рд╣реЗ рдСрдлрд░ рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЛрдд:

  • рдкреНрд░реЛрд╕реЗрд╕рд░: рдЗрдВрдЯреЗрд▓ Xeon 2 GHz (1 рдХреЛрд░)
  • рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо (рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдмрд┐рдпрди, рдЙрдмрдВрдЯреВ, рд╕реЗрдВрдЯреЛрд╕)
  • 1 рд╕рдорд░реНрдкрд┐рдд IPv4 рдкрддреНрддрд╛
  • рдЬрд▓рдж рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ-рдХреНрд▓рд╛рд╕ SSD рдбреНрд░рд╛рдЗрд╡реНрд╣рд╡рд░ 10 GB рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ
  • рд░реЕрдо: 512 MB
  • рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдж рдмрд┐рд▓рд┐рдВрдЧ
  • рдЕрдорд░реНрдпрд╛рджрд┐рдд рд░рд╣рджрд╛рд░реА

рдЯреЕрд░рд┐рдл рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╛рдВрддреНрд░рд┐рдХ рдирд┐рд░реНрдмрдВрдзрд╛рдВрдЪреНрдпрд╛ рдЕрдзреАрди рдЖрд╣реЗ, рддрдкрд╢реАрд▓ рд╡рд░ рдкреГрд╖реНрда рдЖрдордЪреА рдЫрд╛рди рдСрдлрд░ - 30 рд░реВрдмрд▓рд╕рд╛рдареА VPS. 

рд╣рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдХреЛрдгрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ? рд╣реЛрдп рдЬрд╡рд│рдЬрд╡рд│ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА: рдирд╡рд╢рд┐рдХреНрдпрд╛, рдЙрддреНрд╕рд╛рд╣реА, рдЕрдиреБрднрд╡реА рд╡рд┐рдХрд╛рд╕рдХ, DIY рдЪрд╛рд╣рддреЗ рдЖрдгрд┐ рдЕрдЧрджреА рдХрд╛рд╣реА рдХрдВрдкрдиреНрдпрд╛.

рд╣реЗ VPS рдХрд╢рд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ?

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

  • рддреБрдордЪреА рд╕рд╛рдзреА рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдУ, рдХреЛрдбрд╕рд╣ рд░реЗрдЭреНрдпреБрдореЗ рдЗ. рдареЗрд╡рд╛. рдЕрд░реНрдерд╛рдд, рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдирд┐рдпреЛрдХреНрддреНрдпрд╛рд╡рд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЫрд╛рдк рдкрд╛рдбрддреЗ. рддреЗ рддреБрдордЪреНрдпрд╛ VPS рд╡рд░ рдареЗрд╡рд╛ рдЖрдгрд┐ рд╕рд╛рдЗрдЯрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдерд┐рд░рддреЗрд╕рд╛рдареА рд╕реНрд╡рдд: рдЬрдмрд╛рдмрджрд╛рд░ рд░рд╣рд╛, рдирд┐рдпрдорд┐рдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддреНрдпрд╛рдВрдЪреЗ рдХрд░реНрдордЪрд╛рд░реА рдирд╛рд╣реА.
  • рд╢реИрдХреНрд╖рдгрд┐рдХ рд╣реЗрддреВрдВрд╕рд╛рдареА VPS рд╡рд╛рдкрд░рд╛: рддреБрдордЪрд╛ рдкреНрд░рдХрд▓реНрдк рд╣реЛрд╕реНрдЯ рдХрд░рд╛, рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рд╛, DNS рд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рд╛, рд▓рд╣рд╛рди рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рд╛рдЗрдЯрд╕рд╣ рдЯрд┐рдВрдХрд░ рдХрд░рд╛.
  • рдЯреЗрд▓рд┐рдлреЛрдиреАрд╕рд╛рдареА. рдХрдзреАрдХрдзреА рд╡реИрдпрдХреНрддрд┐рдХ рдЙрджреНрдпреЛрдЬрдХ, рдлреНрд░реАрд▓рд╛рдВрд╕рд░ рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рд▓рд╣рд╛рди рдХрдВрдкрдиреАрд▓рд╛ рдЖрдпрдкреА рдЯреЗрд▓рд┐рдлреЛрдиреАрдЪреА рдирд┐рддрд╛рдВрдд рдЧрд░рдЬ рдЕрд╕рддреЗ рдЖрдгрд┐ рдпрд╛ рдЯреЗрд▓реАрдлреЛрдиреАрдЪреЗ рдСрдкрд░реЗрдЯрд░ рдЦреВрдк рд▓реЛрднреА рдЕрд╕рддрд╛рдд. рд╣реЗ рд╕реЛрдкреЗ рдЖрд╣реЗ: рдЖрдореНрд╣реА рдЖрдордЪрд╛ рд╕рд░реНрд╡реНрд╣рд░ рдШреЗрддреЛ, рдЖрдпрдкреА рдЯреЗрд▓рд┐рдлреЛрдиреА рдСрдкрд░реЗрдЯрд░рдХрдбреВрди рдирдВрдмрд░ рдЦрд░реЗрджреА рдХрд░рддреЛ, рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдкреАрдмреАрдПрдХреНрд╕ рд╕реЗрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рдирдВрдмрд░ рддрдпрд╛рд░ рдХрд░рддреЛ (рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕). рдмрдЪрдд рдкреНрд░рдЪрдВрдб рдЖрд╣реЗ.
  • рддреБрдордЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░рд╛.
  • DIY рдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░рд╛, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдиреНрд╕рд░рдЪрд╛ рдбреЗрдЯрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЧреЛрд│рд╛ рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
  • рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдЕрд╕рд┐рд╕реНрдЯрдВрдЯ, рдЯреНрд░реЗрдбрд┐рдВрдЧ рд░реЛрдмреЛрдЯ рдареЗрд╡рдгреЗ. рддреБрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╕реНрдерд┐рд░рддреЗрд╕рд╛рдареА рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╕рд╛рдареА рдкреВрд░реНрдгрдкрдгреЗ рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд╛рд▓, рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдЯреЙрдХ рдорд╛рд░реНрдХреЗрдЯрдордзреНрдпреЗ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рд╛рдзрди рдорд┐рд│реЗрд▓. рдмрд░рдВ, рдЬрд░ рдХреЛрдгрд╛рд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдирд┐рдпреЛрдЬрди рдЕрд╕реЗрд▓ рддрд░ :)

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

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

30 рд░реВрдмрд▓рд╕рд╛рдареА VPS рдЪрд╛рдЪрдгреА рдбреНрд░рд╛рдЗрд╡реНрд╣ - рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреВрд░реНрдг рдХреЗрд▓реЗ

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

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

рд╕реНрдерд┐рд░ рд▓реЛрдб рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА 3 рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬреНрдпрд╛рдВрдиреА sysbench рд╡рд╛рдкрд░реВрди рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЧреЛрд│рд╛ рдХреЗрд▓реЗ, рдЬреНрдпрд╛рдЪреЗ рд╕рд░рд╛рд╕рд░реА рдкрд░рд┐рдгрд╛рдо рдЦрд╛рд▓реА рджрд┐рд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ 50 рдЖрднрд╛рд╕реА рдорд╢реАрди рдЬреНрдпрд╛рдВрдиреА рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛. рд╕рд░реНрд╡ рдЪрд╛рдЪрдгреА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдиреНрд╕рдордзреНрдпреЗ рд╕рдорд╛рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╣реЛрддреЗ (1 рдХреЛрд░, рд░реЕрдо 512 рдЬреАрдмреА, рдПрд╕рдПрд╕рдбреА 10 рдЬреАрдмреА), рдорд╛рдирдХ рдбреЗрдмрд┐рдпрди 9.6 рдкреНрд░рддрд┐рдорд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореНрд╣рдгреВрди рдирд┐рд╡рдбрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рдЬреА RUVDS рд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдСрдлрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ.

рднрд╛рд░ рдирд┐рд╕рд░реНрдЧрд╛рдд рдЖрдгрд┐ рд▓рдврд╛рдИрд╢реА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдкрд░рд┐рдорд╛рдгрд╛рдд рдирдХреНрдХрд▓ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛:

  • рдХрд╛рд╣реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдХрдореА рд▓реЛрдбрд╕рд╣ рд▓реЙрдиреНрдЪ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛
  • рдХрд╛рд╣реА рдорд╢реАрдиреНрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░реАрд▓ рд▓реЛрдбрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгрд╛рд░реА рдЪрд╛рдЪрдгреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд▓рд╡рддрд╛рдд (рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд╛рдкрд░реВрди рддрд╛рдг)
  • рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдиреНрд╕рдЪреНрдпрд╛ рдЙрд░реНрд╡рд░рд┐рдд рднрд╛рдЧрд╛рд╡рд░, рдЖрдореНрд╣реА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд▓рд╡рд▓реА рдЬреНрдпрд╛рдиреЗ pv рд╡рд╛рдкрд░реВрди рдорд░реНрдпрд╛рджрд╛ рд╕реЗрдЯ рдХрд░реВрди рдкреВрд░реНрд╡-рддрдпрд╛рд░ рдбреЗрдЯрд╛рд╡рд░реВрди рдбрд┐рд╕реНрдХрд╡рд░ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА dd рд╡рд╛рдкрд░рд▓рд╛ (рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╛рд╣рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдпреЗрдереЗ ╨╕ рдпреЗрдереЗ).

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

рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрдирд╡рд░, рдкреНрд░рддреНрдпреЗрдХ 15 рдорд┐рдирд┐рдЯрд╛рдВрдиреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрдХреНрд░реАрдпрдкрдгреЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реА рдЬрд╛рддреЗ, рдЬреА рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдорд░реА рдЖрдгрд┐ рдбрд┐рд╕реНрдХрд╕рд╛рдареА рдорд╛рдирдХ sysbench рдЪрд╛рдЪрдгреНрдпрд╛ рдЪрд╛рд▓рд╡рддреЗ.

рд╕реНрдХреНрд░рд┐рдкреНрдЯ sysbench.sh

#!/bin/bash
date +"%Y-%m-%d %H:%M:%S" >> /root/sysbench/results.txt
sysbench --test=cpu run >> /root/sysbench/results.txt
sysbench --test=memory run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=seqwr run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=seqrd run >> /root/sysbench/results.txt
sysbench --test=fileio --file-test-mode=rndrw run >> /root/sysbench/results.txt

рдкрд░рд┐рдгрд╛рдо sysbench рд╕реНрд╡рд░реВрдкрд╛рдд рд╕реЛрдпреАрд╕рд╛рдареА рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рд╕рдВрдкреВрд░реНрдг рдЪрд╛рдЪрдгреА рдХрд╛рд▓рд╛рд╡рдзреАрдЪреА рд╕рд░рд╛рд╕рд░реА рдореВрд▓реНрдпреЗ рд╕рд░реНрд╡ рдорд╢реАрдиреНрд╕рдордзреВрди рдШреЗрддрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рдирд┐рдХрд╛рд▓ рдпреЗрдереЗ рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

Sysbanch-avg.txtsysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 10000

Test execution summary:
total time: 19.2244s
total number of events: 10000
total time taken by event execution: 19.2104
per-request statistics:
min: 1.43ms
avg: 1.92ms
max: 47.00ms
approx. 95 percentile: 3.02ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 19.2104/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing memory operations speed test
Memory block size: 1K

Memory transfer size: 102400M

Memory operations type: write
Memory scope type: global
Threads started!
Done.

Operations performed: 104857600 (328001.79 ops/sec)

102400.00 MB transferred (320.32 MB/sec)

Test execution summary:
total time: 320.9155s
total number of events: 104857600
total time taken by event execution: 244.8399
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 139.41ms
approx. 95 percentile: 0.00ms

Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 244.8399/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential write (creation) test
Threads started!
Done.

Operations performed: 0 Read, 131072 Write, 128 Other = 131200 Total
Read 0b Written 2Gb Total transferred 2Gb (320.1Mb/sec)
20251.32 Requests/sec executed

Test execution summary:
total time: 6.9972s
total number of events: 131072
total time taken by event execution: 5.2246
per-request statistics:
min: 0.01ms
avg: 0.04ms
max: 96.76ms
approx. 95 percentile: 0.03ms

Threads fairness:
events (avg/stddev): 131072.0000/0.00
execution time (avg/stddev): 5.2246/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential read test
Threads started!
Done.

Operations performed: 131072 Read, 0 Write, 0 Other = 131072 Total
Read 2Gb Written 0b Total transferred 2Gb (91.32Mb/sec)
5844.8 Requests/sec executed

Test execution summary:
total time: 23.1054s
total number of events: 131072
total time taken by event execution: 22.9933
per-request statistics:
min: 0.00ms
avg: 0.18ms
max: 295.75ms
approx. 95 percentile: 0.77ms

Threads fairness:
events (avg/stddev): 131072.0000/0.00
execution time (avg/stddev): 22.9933/0.00

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Done.

Operations performed: 6000 Read, 4000 Write, 12800 Other = 22800 Total
Read 93.75Mb Written 62.5Mb Total transferred 156.25Mb (1341.5Kb/sec)
85.61 Requests/sec executed

Test execution summary:
total time: 152.9786s
total number of events: 10000
total time taken by event execution: 14.1879
per-request statistics:
min: 0.01ms
avg: 1.41ms
max: 210.22ms
approx. 95 percentile: 4.95ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 14.1879/0.00

рдкрд░рд┐рдгрд╛рдо рд╕реВрдЪрдХ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддрд░реАрд╣реА QoS рдореНрд╣рдгреВрди рдШреЗрддрд▓реЗ рдЬрд╛рдК рдирдпреЗ. 

рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рддрдпрд╛рд░ рдХрд░рдгрд╛рд░реА рдорд╢реАрди

рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░:

  • рдпреЛрдЧреНрдп-рдЕрджреНрдпрддрди рдорд┐рд│рд╡рд╛
  • apt-get рдЕрдкрдЧреНрд░реЗрдб
  • apt-get рдкрд╛рдпрдерди-рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛
  • pip install mysql-connector-python-rf

рдорд╛рд░рд┐рдпрд╛рдбреАрдмреА рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ, рдХрд╕реЗ рдпреЗрдереЗ:

apt-get install libmariadbclient-dev
mysql -e "INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';" -- ╨╜╤Г╨╢╨╜╨╛ ╨┤╨╗╤П test_employees_sha

рдЪрд╛рдЪрдгреА рдЖрдзрд╛рд░ рдШреЗрддрд▓рд╛ рдпреЗрдереВрди:

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддреИрдирд╛рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ рдпреЗрдереЗ:

mysql -t < employees.sql
mysql -t < test_employees_sha.sql

рд▓рд╣рд╛рди рдЪрд╛рдЪрдгреА рдЖрдзрд╛рд░:

рдЯреЗрдмрд▓ 

рдкрдВрдХреНрддреА рдЧрдгрдирд╛ 

рдбреЗрдЯрд╛ рдЖрдХрд╛рд░ (MB)

рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрдХрд╛рд░ (KB)

рд╡рд┐рднрд╛рдЧ 

9

0.02

16.00

dept_emp 

331143 

11.52

5648.00

dept_manager 

24 

0.02

16.00

рдХрд░реНрдордЪрд╛рд░реА 

299379 

14.52

0.00

рдкрдЧрд╛рд░ 

2838426 

95.63

0.00 

рд╢реАрд░реНрд╖рдХреЗ 

442783 

19.56

0.00

рдкрд╛рдпрдердирдордзреНрдпреЗ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдЪрд╛рдЪрдгреА рд╕реЗрд╡рд╛ рдЧреБрдбрдШреНрдпрд╛рд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реА рдЖрд╣реЗ; рддреА рдЪрд╛рд░ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рддреЗ:

  1. getState: рд╕реНрдерд┐рддреА рдкрд░рдд рдХрд░рддреЗ
  2. getEmployee: рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдирд╛ (+рдкрдЧрд╛рд░, +рд╢реАрд░реНрд╖рдХреЗ) рдкрд░рдд рдХрд░рддреЛ
  3. patchEmployee: рдХрд░реНрдордЪрд╛рд░реА рдлреАрд▓реНрдб рдмрджрд▓рддреЗ
  4. insertSalary: рдкрдЧрд╛рд░ рдЯрд╛рдХрддреЛ

рд╕реЗрд╡рд╛ рд╕реНрд░реЛрдд (dbtest.py)

#!/usr/bin/python
import mysql.connector as mariadb
from flask import Flask, json, request, abort
from mysql.connector.constants import ClientFlag

app = Flask(__name__)

def getFields(cursor):
    results = {}
    column = 0
    for d in cursor.description:
        results[d[0]] = column
        column = column + 1
    return results

PAGE_SIZE = 30

@app.route("/")
def main():
    return "Hello!"

@app.route("/employees/<page>", methods=['GET'])
def getEmployees(page):
    offset = (int(page) - 1) * PAGE_SIZE
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees')
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM employees LIMIT {} OFFSET {}".format(PAGE_SIZE, offset))
    return {'employees': [i[0] for i in cursor.fetchall()]}

@app.route("/employee/<id>", methods=['GET'])
def getEmployee(id):
    id = int(id)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees')
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM employees WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    employee = {}
    found = False
    for row in cursor.fetchall():
        found = True
        employee = {
            "birth_date": row[fields["birth_date"]],
            "first_name": row[fields["first_name"]],
            "last_name": row[fields["last_name"]],
            "gender": row[fields["gender"]],
            "hire_date": row[fields["hire_date"]]
        }
    if not found:
        abort(404)
    cursor.execute("SELECT * FROM salaries WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    salaries = []
    for row in cursor.fetchall():
        salary = {
            "salary": row[fields["salary"]],
            "from_date": row[fields["from_date"]],
            "to_date": row[fields["to_date"]]
        }
        salaries.append(salary)
    employee["salaries"] = salaries
    cursor.execute("SELECT * FROM titles WHERE emp_no = {}".format(id))
    fields = getFields(cursor)
    titles = []
    for row in cursor.fetchall():
        title = {
            "title": row[fields["title"]],
            "from_date": row[fields["from_date"]],
            "to_date": row[fields["to_date"]]
        }
        titles.append(title)
    employee["titles"] = titles
    return json.dumps({
        "status": "success",
        "employee": employee
    })

def isFieldValid(t, v):
    if t == "employee":
        return v in ["birdth_date", "first_name", "last_name", "hire_date"]
    else:
        return false

@app.route("/employee/<id>", methods=['PATCH'])
def setEmployee(id):
    id = int(id)
    content = request.json
    print(content)
    setList = ""
    data = []
    for k, v in content.iteritems():
        if not isFieldValid("employee", k):
            continue
        if setList != "":
            setList = setList + ", "
        setList = setList + k + "=%s"
        data.append(v)
    data.append(id)
    print(setList)
    print(data)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees', client_flags=[ClientFlag.FOUND_ROWS])
    cursor = connection.cursor()
    cursor.execute("UPDATE employees SET {} WHERE emp_no = %s".format(setList), data)
    connection.commit()
    if cursor.rowcount < 1:
        abort(404)
    return json.dumps({
        "status": "success"
    })

@app.route("/salary", methods=['PUT'])
def putSalary():
    content = request.json
    print(content)
    connection = mariadb.connect(user='admin', password='q5XpRomdSr', database='employees', client_flags=[ClientFlag.FOUND_ROWS])
    cursor = connection.cursor()
    data = [content["emp_no"], content["salary"], content["from_date"], content["to_date"]]
    cursor.execute("INSERT INTO salaries (emp_no, salary, from_date, to_date) VALUES (%s, %s, %s, %s)", data)
    connection.commit()
    return json.dumps({
        "status": "success"
    })


@app.route("/state", methods=['GET'])
def getState():
    return json.dumps({
        "status": "success",
        "state": "working"
    })

if __name__ == '__main__':
    app.run(host='0.0.0.0',port='5002')

рдЦрдмрд░рджрд╛рд░реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд╣реА рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рдХрд┐рдВрд╡рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдореНрд╣рдгреВрди рдШреЗрдК рдирдпреЗ!

рдЪрд╛рдВрдЧрд▓реЗ рдЬреБрдиреЗ рдЬреЗрдореАрдЯрд░ рд╡рд╛рдкрд░реВрди рдЪрд╛рдЪрдгреНрдпрд╛ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. 15 рдорд┐рдирд┐рдЯрд╛рдВрдкрд╛рд╕реВрди рддреЗ 2 рддрд╛рд╕рд╛рдВрдкрд░реНрдпрдВрдд рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реНрдпрддреНрдпрдпрд╛рд╢рд┐рд╡рд╛рдп, рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА рд╡реЗрдЧрд╡реЗрдЧрд│реА рд╣реЛрддреА рдЖрдгрд┐ рдереНрд░реВрдкреБрдЯ 300 рддреЗ 600 рд╡рд┐рдирдВрддреНрдпрд╛ рдкреНрд░рддрд┐ рдорд┐рдирд┐рдЯрд╛рдкрд░реНрдпрдВрдд рдмрджрд▓рдд рд╣реЛрддреЗ. 50 рддреЗ 500 рдереНрд░реЗрдбреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛.

рдбреЗрдЯрд╛рдмреЗрд╕ рдЦреВрдкрдЪ рд▓рд╣рд╛рди рдЖрд╣реЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдореБрд│реЗ, рдЖрджреЗрд╢:

mysql -e "SHOW ENGINE INNODB STATUS"

рджрд╛рдЦрд╡рддреЗ рдХреА:

Buffer pool hit rate 923 / 1000, young-making rate 29 / 1000 not 32 / 1000

рдЦрд╛рд▓реА рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рд░рд╛рд╕рд░реА рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│рд╛ рдЖрд╣реЗрдд:

рд▓реЗрдмрд▓

рд╕рд░рд╛рд╕рд░реА

рдордзреНрдпрдХ

90% рдУрд│

95% рдУрд│

99% рдУрд│

рдорд┐

рдХрдорд╛рд▓

рдХрд░реНрдордЪрд╛рд░реА рдорд┐рд│рд╡рд╛

37.64

12.57

62.28

128.5

497.57

5

4151.78

getState

17

7.57

30.14

58.71

193

3

2814.71

рдкреЕрдЪ рдХрд░реНрдордЪрд╛рд░реА

161.42

83.29

308

492.57

1845.14

5

6639.4

рдкрдЧрд╛рд░ рдареЗрд╡рд╛

167.21

86.93

315.34

501.07

1927.12

7

6722.44

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

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

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