рд░реВрдмреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд░реВрдмреА рдореЗрдВ рдпреВрдирд┐рдХреЙрд░реНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ


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

рд╕рдорд░реВрдкрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдХреЙрд░реНрди рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдорд┐рдд (forked) рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдб рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрдпреВрдорд╛ , рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдмреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░рд╡рд╛рдж рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЬреЗрд░реА рдФрд░ рд░реБрдмрд┐рдирд┐рдпрд╕ ред

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдпреВрдирд┐рдХреЙрд░реНрди рдХреЗ рдХрдВрд╕реАрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рджреЗрдЦреЗрдВрдЧреЗред

рд░реВрдмреА 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ!


рдпрджрд┐ рдЖрдк рд░реВрдмреА 1.9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ 2.0 рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдереЛрдбрд╝рд╛ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдХреЙрдкреА-рдкрд░-рд▓рд┐рдЦреЗрдВ

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

рдпрд╣ рд╕рдм рд░реВрдмреА 1.9 / 2.0 рдФрд░ рдпреВрдирд┐рдХреЙрд░реНрди рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

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

рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдХрд╣рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рд░реВрдмреА 2.0 рдореЗрдВ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдХреЙрдкреА-рдСрди-рд░рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпреВрдирд┐рдХреЙрд░реНрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдпрд╣рд╛рдВ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджреА рдЧрдИ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо Unicorn рд╕реЗ рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП config / unicorn.rb рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
worker_processes
рдЪрд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╡реАрдкреАрдПрд╕ рдХреА рд░реИрдо рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдбрд░ рдХреЗ рдмрд┐рдирд╛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдЪрд▓рд╛ рд╕рдХреЗрдВред
рдордзреНрдпрд╛рдВрддрд░
рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП: рдЖрдорддреМрд░ рдкрд░ 15 рд╕реЗ 30 рд╕реЗрдХрдВрдб рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдЕрдиреНрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджреЗрд░реА рди рдХрд░реЗрдВред
preload_app
рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдк-рдСрди-рд░рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╢реЗрд╖ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреЗрддрд╛рд╡рдиреА рд╣реИред рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╕реЙрдХреЗрдЯ (рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд╕рд╣рд┐рдд) рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдВрдж рдФрд░ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдкрд╣рд▓реЗ_рдлрд░реНрдХ рдФрд░ рдмрд╛рдж_рдлрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
before_fork do |server, worker| # Disconnect since the database connection will not carry over if defined? ActiveRecord::Base ActiveRecord::Base.connection.disconnect! end if defined?(Resque) Resque.redis.quit Rails.logger.info('Disconnected from Redis') end end after_fork do |server, worker| # Start up the database connection again in the worker if defined?(ActiveRecord::Base) ActiveRecord::Base.establish_connection end if defined?(Resque) Resque.redis = ENV['REDIS_URI'] Rails.logger.info('Connected to Redis') end end 

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

рдпреВрдирд┐рдХреЙрд░реНрди рд╡рд░реНрдХрд░ рдореЗрдореЛрд░реА рд▓рд┐рдорд┐рдЯреЗрд╢рди


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

рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдореГрддрд┐ рд▓реЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░реЗрд▓ рдЖрд╡реЗрджрди рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдзрд┐рдХ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдЕрдзрд┐рдХ рдЖрд╡рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рднреМрддрд┐рдХ рд░реИрдо рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВред

рдПрдХ рд░реЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рднреА рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЛ "рдкреНрд▓рдЧ" рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдЕрдкреВрд░реНрдг рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ (рдореЗрд░рд╛ рдорддрд▓рдм рдПрдордЖрд░рдЖрдИ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ)ред

рдКрдкрд░ рджреА рдЧрдИ рдЫрд╡рд┐ рдпреВрдирд┐рдХреЙрд░реНрди рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рд▓реАрдХ рд░реЗрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред

рд╕рдордп рдХреЗ рд╕рд╛рде, рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдмрдврд╝рддреА рд░рд╣реЗрдЧреАред рдХрдИ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рдЧрддрд┐ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдореБрдлреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рдмрдЪреА рд╣реЛред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдХрдИ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдмрди рдЬрд╛рдПрдВрдЧреЗред

рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдпреВрдирд┐рдХреЙрд░реНрди рдХреА рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕рд╛рдордирд╛ рдЖрдк рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдХрд░реЗрдВрдЧреЗред

рдорд┐рд▓рд┐рдП рдпреВрдирд┐рдХреЙрд░реНрди рд╡рд░реНрдХрд░ рдХрд┐рд▓рд░ рд╕реЗ


рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдЧреЗрдВрдбрд╛-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-рд╣рддреНрдпрд╛рд░рд╛ рдордгрд┐ред
README рдХреЗ рдЙрджреНрдзрд░рдг:
рдЧреЗрдВрдбрд╛-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-рд╣рддреНрдпрд╛рд░рд╛ рдордгрд┐ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЧреЗрдВрдбрд╛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
1) рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдФрд░
2) рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЖрд░рдПрд╕рдПрд╕) рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдЬреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдиреЛрдбреНрд╕ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдореЗрдореЛрд░реА рдХреА рдХрдореА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛рдПрдЧрд╛ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпреВрдирд┐рдХреЙрд░реНрди рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЪрд░рдг 1:
рдЧреЗрдВрдбрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдиреЗ рдЬреЗрдордлрд╛рдЗрд▓ рдХреЛ рдЧреЗрдВрдбрд╛-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-рд╣рддреНрдпрд╛рд░рд╛ рдЬреЛрдбрд╝реЗрдВред
 group :production do gem 'unicorn' gem 'unicorn-worker-killer' end 

рдЪрд░рдг 2:
рднрд╛рдЧреЛ рдмрдВрдбрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдЪрд░рдг 3:
рдлрд┐рд░ рдордЬрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред Config.ru рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред
 # --- Start of unicorn worker killer code --- if ENV['RAILS_ENV'] == 'production' require 'unicorn/worker_killer' max_request_min = 500 max_request_max = 600 # Max requests per worker use Unicorn::WorkerKiller::MaxRequests, max_request_min, max_request_max oom_min = (240) * (1024**2) oom_max = (260) * (1024**2) # Max memory size (RSS) per worker use Unicorn::WorkerKiller::Oom, oom_min, oom_max end # --- End of unicorn worker killer code --- require ::File.expand_path('../config/environment', __FILE__) run YourApp::Application 

рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЙрддреНрдкрд╛рджрди рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рд╣реИрдВред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рдмрд╛рдХреА рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдпреВрдирд┐рдХреЙрд░реНрди-рд╡рд░реНрдХрд░-рдХрд┐рд▓рд░ рджреЛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдХреА рдЦрдкрддред

рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдкрдиреА рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреА рдореЗрдореЛрд░реА рдЦрдкрдд рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рд╕реНрдореГрддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рдХрдо рдЕрд╕реНрдерд┐рд░ рд╕реНрдореГрддрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

рдЧреНрд░рд╛рдл рдореЗрдВ рдЕрдзрд┐рдХрддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдпрд╣ рд░рддреНрди рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рдирд┐рд╖реНрдХрд░реНрд╖


рдпреВрдирд┐рдХреЙрд░реНрди рдХрдВрд╕реАрд▓рд░ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЖрдкрдХреЗ рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ рдпрд╛ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд░реИрдо рдХреА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рд╣рдордиреЗ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдпреВрдирд┐рдХреЙрд░реНрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреЗ 3 рддрд░реАрдХреЗ рджреЗрдЦреЗрдВ:
  1. рд░реВрдмреА 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдХреЙрдкреА-рдСрди-рд░рд╛рдЗрдЯ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  2. Config / unicorn.rb рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ред
  3. рдЬрдм рд╡реЗ рдлреВрд▓рд╛ рд╣реБрдЖ рд╣реЛ рддреЛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдВрдбрд╛-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-рд╣рддреНрдпрд╛рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред


рд╕рд╛рдзрди


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


All Articles