рдиреЛрдб.рдЬреЗрдПрд╕ + рдХрд╛рд░реНрдпрд╕реНрдерд▓ == рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд╣рд╛рд╕реНрдп

рдореИрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╕реБрдирддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ "Node.js рд╣рд╛рдИрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ"ред

рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореИрдВ рдЙрд╕ рд▓реЗрдЦ рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рдорди рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдЕрдзрд┐рдХ рд▓рд┐рдЦрд╛ред рдЙрд╕ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ, рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЖрд╣рдд рд╣реБрдПред

рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рдЧрд▓рдд рд╣реИред рд╣рдорд╛рд░реА рдкрд┐рдЯрд╛рдИ! рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ, рд╣рд╛рдБред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ, рд▓реЗрдХрд┐рди рдпреЗ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЖрдВрдХрдбрд╝реЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╕реЛрдЪрдирд╛ рд╣реИ - рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд░рд╛рдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред

рдпреВрдкреАрдбреА 3 рдЪрд░реНрдЪрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рд╢реБрд░реВ рд╕реЗ рд╣реА рд▓рд┐рдЦрдирд╛ рдЬрд░реВрд░реА рдерд╛, рдореЗрд░рд╛ рдорддрд▓рдм рдХреНрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН: рдкрд░реАрдХреНрд╖рдг рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдпрд╣ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдореЗрд░реА рдмрд╣реБрдд рдХрдордЬреЛрд░ рдорд╢реАрди рдкрд░ рдирдЧрдиреЗрдХреНрд╕ рдкрд░ рдиреЛрдб рд╕рдм рдХреБрдЫ рдХреЗ рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред ред рдиреЛрдб, рдЬреИрд╕реЗ рдирдЧреНрдиреЗрдХреНрд╕, рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╡реЗ "рд╕рдорд╛рди" рд╣реИрдВред рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХрд╛рд░реНрдпрд╕реНрдерд▓ рд╣реИрдВ, рдХрд┐ рдиреЛрдб рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдкреНрд░рддрд┐рд╢рдд рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХрд┐ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

UPD 1 "humor" рдХреЗ рд░реВрдк рдореЗрдВ tag'al рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛, рдореАред рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛ред
UPD 2 рдПрдХ рднреА рд╢рдмреНрдж рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИ!



рдореИрдВ рдПрдХ рдЬрд╛рджреВрдЧрд░ рд╣реВрдБ! рдЪреБрдкрдЪрд╛рдк рдПрдХ рддрдорд╛рдЪрд╛ рдЙрдард╛рдУ рдФрд░ рд╡реАрдгрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЛ ...

рдореБрдЭреЗ рд╕рдВрд╕рд╛рдзрди рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрд╛рддрдХрд╛рд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╡реЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдореЗрд░реЗ рд╕рд╛рде рдмрд╣реБрдд рдорд╛рдореВрд▓реА рд╣реИрдВ: рдПрдПрдордбреА рд╕реА -60 / 4 рдЬреАрдмреА / рдПрд╕рдПрд╕рдбреАред

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

рдФрд░ рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд╢реМрдХреАрди рд╣реВрдВред рдирд╣реАрдВ, рдореИрдВ рдкрд╛рдпрдерди, рд░реВрдмреА, рдкреАрдПрдЪрдкреА, рдкрд░реНрд▓, рд╡реАрдмреА, рд╕реА #, рдЬрд╛рд╡рд╛, рдЖрджрд┐ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛, "рдЖрддреНрдорд╛ рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓рддреАред" рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрдИрдЯреА рд╢рд┐рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдФрд░ рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрд╡рднрд╛рд╡ рд╕реЗ рдореИрдВ рдХрднреА-рдХрднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд┐рд░ рдХреЗ рд╕рд╛рде рд╕реЛрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдХрд┐рд╕реА рдФрд░ рдХрд╛ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рд░рд╣рддрд╛ рд╣реВрдВред

рдЧреНрд░рд╛рд╣рдХреЛрдВ рдиреЗ рдореБрдЭреЗ Node.JS рдФрд░ Nginx рдХреЗ рдЧреЛрд▓рд╛рдХрд╛рд░ рддреБрд▓рдирд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдХрд╛рдо рджрд┐рдпрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдиреЛрдб рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдлрд┐рд░ рд╣рдордиреЗ рдХрд╛рд░реНрдп рдХреЛ рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛:

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

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ nginx рдЬреАрдд рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдмрд┐рдВрджреБ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИред рдпрд╛рдиреА рдХрд┐рддрдиреА рдмрд╛рд░ рдиреЛрдб рд╡реНрдпрд╛рдЦреНрдпрд╛рдХрд╛рд░ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИред

рдмреЗрд╢рдХ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдиреЛрдб рдХреЛ рд╕реНрдерд┐рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рдПрдХ рджрд░реНрдЬрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдирдЧреАрдиреЗ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ?

GIT рдХрд╛ рд▓рд┐рдВрдХ рд╕рдмрд╕реЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрдЧрд╛ред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ "рдЯреИрдВрдХ рдореЗрдВ" рд╣реИрдВред

рдореИрдВ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдЖрдпрд╛, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрджреЗрд╣ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рд╕рдм рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреИрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЗрддрдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ!

рдореБрдЭреЗ рдмрддрд╛рдУ, рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рд╛рде рдХрдИ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ? рдФрд░ рдЕрдЧрд░ рдЙрд╕ рдкрд▓ рдореЗрдВ рдлреЛрди рдмрдЬрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░, рдЯреЗрд▓реАрдлреЛрди рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░, рдПрдХ рд╕рд╣рдХрд░реНрдореА рдЖрдкрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ [рдУрд╣ || рдореНрдпреВ] рдЖрдкрдХреЛ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИ рдФрд░ рдХреБрдЫ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╡рд╛рд▓ рдкреВрдЫреЗрдВрдЧреЗ? рдФрд░ рдЕрдЧрд░, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдПрдХ рдмреАрдУрдПрд╕рдПрд╕ рд╡реНрдпрдХреНрддрд┐ рдЕрднреА рднреА рдЧреБрдЬрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдХреНрд░реАрди рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдПрдХ рдЕрдирдлрд╝реЙрд▓реНрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ рд▓рд░реНрдХ рдлреНрд▓реЙрдВрдЯ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдФрд░ рдордЬрд╝реЗрджрд╛рд░ рд╣реИ?

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ - рдЗрдВрдЯрд░рдкреНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдФрд░ рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рд░реЛрдХрдирд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ - рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рдЖрдк рдЕрдЪрд╛рдирдХ, рдХрд┐рд╕реА рднрдпрд╛рдирдХ рдХрд╛рд░рдг рд╕реЗ, рдлрд┐рд░ рднреА рдЕрдВрдд рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдП, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

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

рдЕрдкрдиреЗ рд▓рд┐рдП рд╕реЛрдЪреЗрдВ рдХрд┐ рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЖрдЗрдВрд╕реНрдЯреАрди рдХреА рдкрд╣реЗрд▓реА рдкрд╣реЗрд▓реА рдХреЛ рдЦреЗрд▓реЗрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╕рд┐рд░ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ (рдПрд▓ 1-рдПрд▓ 2 рдХреИрд╢ рдореЗрдВ), рдЗрд╕ рдЕрд░реНрде рдореЗрдВ, рд╣рд╛рдВ - рдПрдХ рдкрддреНрд░рдХ (рдореЗрдо) рдХреЗ рдмрд┐рдирд╛?




рдЕрдм рдЧрд┐рдирддреА рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рдиреЛрдб рдкрд░ рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд╛рдирдХ рдХреЛрдб рд╣реИ, рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рд╕реЗ ред

var cluster = require('cluster'); var numCPUs = require('os').cpus().length; ... for (var i = 0; i < numCPUs; i++) { cluster.fork(); ... 


рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫ, рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рдеред

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛?

рд╕рд╣реА - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдоред
рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдХреМрди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ?

рдпрд╣ рд╕рд╣реА рд╣реИ - рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ \ рд╡рд┐рдВрдбреЛрдЬ рдХреЛрд░ - рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдмреНрд╕реНрдЯреНрд░рдХреНрд╢рди рд▓реЗрдпрд░ (hal.dll, рдореИрдВ рд╢рд╛рдпрдж рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ)ред

рдЕрдм рддрдХ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреБрдЫ рднреА рд╕рдВрджрд┐рдЧреНрдз рдирд╣реАрдВ рд╣реИред

рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдФрд░ рд╕реЛрдЪреЛ!
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдиреЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреНрдпрд╛ рд╣реИ?
рд╕рд╣реА - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдоред

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

рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд▓реЛрд╣реЗ рдХрд╛ рдХреЛрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХреЗ рдКрдкрд░ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рд╣реИ, рдЬреЛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рдЕрдВрджрд░, рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ, рдиреЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдХреЛрдб рдХрддрд╛рдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╕реАрдкреАрдпреВ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 8 рдЯреБрдХрдбрд╝реЗ рд╣реИрдВред

рдкреЙрд▓рд┐рдорд░ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрдм "IO" рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдмрдХрд┐ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдореИрдереБрди рдХрд░ рд░рд╣рд╛ рд╣реИ ...

рдФрд░ рдЕрдЧрд░ рдиреЛрдб рдкрд╣рд▓реЗ рд╣реА рд╕рднреА 8 рдХреЛрд░ рдкрд░ рд╕рдм рдХреБрдЫ рдХрд╛ рдирд┐рдкрдЯрд╛рд░рд╛ рдХрд░ рдЪреБрдХрд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдмрдХрд┐ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рднреА рдирдХрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ ...

рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛!

рдЪрд▓реЛ рдХрд░рддреЗ рд╣реИрдВ!

  1. рдиреЛрдб рдХреЗ рд╕рд╛рде рдиреЛрдб рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
  2. рдПрдХ рдкреВрд░реНрдг CPU рд▓реЛрдб рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдиреЛрдб рдХреА рдЬрд╡рд╛рдмрджреЗрд╣реА рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред


рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдХреЛрдб рдФрд░ рд╕рд░реНрдлрд┐рдВрдЧ рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддреЗ рд╣реБрдП 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдШреБрдорд╛ рджрд┐рдпрд╛ред

рд╣рд╛рдВ, рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЧреБрдард▓реА рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд╛рд╕реНрдХрд╕реЗрдЯ рд╣реИрдВред

рдиреЛрдб рдореЗрдВ, рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

  var PID = process.pid; exec('taskset -pc ' + affinity + ' ' + PID); 


рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЛрдб рдкрд░ рдХреНрд╡реЗрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднреА рд▓рд┐рдЦрд╛ рдерд╛ред http.agent.maxSockets рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред рдпрд╣ рд╕рдВрднрд╡ рдерд╛, рдмреЗрд╢рдХ, CURL, рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж рд╕рдм рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рддреЛ, рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг: рдирдЧреАрдирдХреНрд╕ рдФрд░ рдиреЛрдб рдкрд░ рд╕рд░реНрд╡рд░, рдореИрдХреНрд╕ 10,000 рдЦреБрд▓реЗ рдЕрдиреБрд░реЛрдзред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдХрдо рдирд┐рдХрд▓рд╛, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИред рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЙрдирдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдкреНрд░рд╢реНрди рд╕рдВрднрд╡ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдВрддрд░ рдорд╛рдкрд╛, рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВред

рдореЗрд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░, рдиреЛрдб рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 1200 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдкреАрдЫреЗ рд╣рдЯ рдЧрдпрд╛ред рдФрд░ рдирдЧреНрдиреЗрдХреНрд╕ рдиреЗ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрднрдЧ 3500 рд╕рдордЭрд╛ред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдмрдХрд╡рд╛рд╕ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдВрдХреЗрддрдХ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдиреЛрдб рд╕рд░реНрд╡рд░ рд╢реВрдиреНрдп рдХреЛрд░ рдкрд░ рдШреВрдо рд░рд╣рд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

рдпрд╛рдиреА рдЕрдВрддрд░ рднреА рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рдордп рдкрд░!

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдкрд╣рд▓реА рдмрд╛рд░ рд╡рд╛рдкрд╕реА рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддреА рд╣реИ, рдлрд┐рд░ рдЕрдВрддрд┐рдо рдЖрдВрдХрдбрд╝рд╛ рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИред рд▓рдЧрднрдЧ рддреАрди рдорд┐рдирдЯ рдмрд╛рджред

рджреВрд╕рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╣реА рдерд╛:

рд╢рд╛рд╕рди~ рдЖрд░рдкреАрдПрд╕~ рдкрд╛рд╡рд┐рдЯ~ рдореЗрдо
1редрдЬрдм рдиреЛрдб рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд╡реЗрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдЖрддреНрдореАрдпрддрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдорд┐рд▓реАред14006.595m
2редрд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд╡реЗрд░реА nginx рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдЖрддреНрдореАрдпрддрд╛ рдХреЗ рд╕рд╛рдеред~ 1200-1300~ 5.285M
3редрдЖрддреНрдореАрдпрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░, рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВред1100~ 5.5100M
4редрдЖрддреНрдореАрдпрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░, рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред1200~ 690 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ


рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рднреА рдорд╛рдк рдХреЛ рдСрдкрд░реЗрд╢рди рдХреЗ 3 рдорд┐рдирдЯ рдмрд╛рдж рдиреЗрддреНрд░рд╣реАрди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдм рд╕рдм рдХреБрдЫ рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдиреЛрдб рдЧрд╣рди рд░реВрдк рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ "рдЦрд╛рддрд╛" рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдереЛрдбрд╝рд╛ рдЧрд┐рд░рддрд╛ рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдХрд▓реЗрдХреНрдЯрд░ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

~ рдЖрд░рдкреАрдПрд╕ - рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓рдЧрднрдЧ рдЕрдиреБрд░реЛрдзред
~ PWait рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдкреЗрдЬ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд▓реЛрдб рдХрд╛ рдПрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреЗрддрдХ рдЬрдм рдЖрдк рд░рдирд┐рдВрдЧ рдирдВрдмрд░реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рд╕реНрдореГрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ htop рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЭрд╛рдБрдХрд╛ред

рдЙрдореНрдо - рдЕрд░реНрдерд╛рддреН, рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рддреНрд░реБрдЯрд┐ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИред

рдЬрд░рд╛ рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдиреЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕, рд░реЗрдбрд┐рд╕, рд╣реИрдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдирдЧреНрдиреЗрдХреНрд╕ рднреА рд╣реИред
+ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рди рдХрд┐ рдХреБрдЫ рдЬреЛрдбрд╝рд┐рдпреЛрдВ рдХрд╛ред
рдЪрдкреНрдкрд▓ рдХрд┐рд╕рдХреА рд╣реЛрдЧреА?

рдореЗрд░реЗ рд▓рд┐рдП рдореЗрд░реЗ рдирд┐рд╖реНрдХрд░реНрд╖:
0. рдиреЛрдб - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИред
  1. рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рд╣реА рдХреЛрд░ рдЫреЛрдбрд╝ рджреЗрдВред
  2. рдЕрдЧрд░ рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдХреБрдЫ рдФрд░ "рдореЛрдбрд╝" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдзрд┐рдХ рдХреЛрд░ рдЫреЛрдбрд╝ рджреЗрдВред
  3. рдмрд╛рдХреА рдХреЛ 100% рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдиреЛрдб рд╕рд░реНрд╡рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЬреА.рдЖрдИ.рдЯреА.

рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд╛рджрд╛ рдорд╛рдорд▓рд╛:


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

рдХреЗрд╡рд▓ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 4 рдХреЛрд░ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 2 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИрдВ, рддреЛ numCPUs рдирд┐рд░реНрджрдпрддрд╛ рд╕реЗ рдЖрдкрд╕реЗ рдЭреВрда рдмреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдФрд░ рдореЗрд░реЗ рд╡рд┐рдиреНрдпрд╛рд╕, рдЕрдЧрд░ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ:

cat /etc/sysctl.conf
fs.file-max = 65535

рдХрд░реНрдиреЗрд▓.max_lock_depth = 4096
fs.mqueue.queues_max = 1024
fs.mqueue.msg_max = 2048
fs.mqueue.msgsize_max = 16384
fs.inotify.max_user_watches = 1048576
fs.inotify.max_queued_events = 65536
fs.inotify.max_user_instances = 16384
net.ipv4.tcp_fin_timeout = 150
рдХрд░реНрдиреЗрд▓ред sem = 1000 32000 128 2048

cat /etc/security/limits.conf
рд░реВрдЯ рд╣рд╛рд░реНрдб рдореЗрд╕реНрдХреНрдпреВ 131072
рд░реВрдЯ рд╕реЙрдлреНрдЯ рдореЗрд╕реНрдХреНрдпреВ 131072
рд░реВрдЯ рд╣рд╛рд░реНрдб рд╕рд┐рдЧрд┐рдВрдЧрд┐рдВрдЧ 131072
рд░реВрдЯ рд╕реЙрдлреНрдЯ рд╕рд┐рдЧрд┐рдВрдЧрд┐рдВрдЧ 131072
рд░реВрдЯ рд╣рд╛рд░реНрдб nproc 131072
рд░реВрдЯ рдирд░рдо nproc 131072
рд░реВрдЯ рд╣рд╛рд░реНрдб рдХреЛрд░ 131072
рд░реВрдЯ рд╕реЙрдлреНрдЯ рдХреЛрд░ 131072
рд░реВрдЯ рд╣рд╛рд░реНрдб nofile 131072
рд░реВрдЯ рд╕реЙрдлреНрдЯ рдиреЛрдлрд╛рдЗрд▓ 131072

* рдХрдард┐рди рд╕рдВрджреЗрд╢ 131072
* рд╕реЙрдлреНрдЯ рдореЗрд╕реНрдХреНрдпреВ 131072
* рд╣рд╛рд░реНрдб рд╕рд┐рдЧрд┐рдВрдЧрд┐рдВрдЧ 131072
* рдирд░рдо рд╢рд┐рдерд┐рд▓рддрд╛ 131072
* рд╣рд╛рд░реНрдб nproc 131072
* рдирд░рдо nproc 131072
* рд╣рд╛рд░реНрдб рдХреЛрд░ 131072
* рд╕реЙрдлреНрдЯ рдХреЛрд░ 131072
* рд╣рд╛рд░реНрдб рдиреЛрдлрд╛рдЗрд▓ 131072
* рдирд░рдо рдиреЛрдлрд┐рд▓ 131072


рдореИрдВрдиреЗ рдЗрди рд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЬрд╛рдБрдЪ рдХреА, рдпрд╣ 30 рдкреНрд░рддрд┐рд╢рдд рдмреЗрд╣рддрд░ рдирд┐рдХрд▓рд╛ред
...

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


All Articles