рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж
рдХреЗ рдЕрдиреБрд╕рд╛рд░
рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджреЗрдЦреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рджрд╕ рд▓рд╛рдЦ рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ, nginx рдХреА рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА 25.54% (рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ 26.22%, рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ 23.76%) рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд▓рдЧрднрдЧ 459 рдорд┐рд▓рд┐рдпрди рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ Nginx (рдПрдХ рд╡рд░реНрд╖ рдкрд╣рд▓реЗ 397 рдорд┐рд▓рд┐рдпрди) рдЪрд▓рд╛ рд░рд╣реА рд╣реИрдВред рджреНрд╡рд╛рд░рд╛
1.17.x рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢рд╛рдЦрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рдмрд╕реЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░:
- рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
рд▓рд┐рдорд┐рдЯ_рд░реЗрдХ_рдбреНрд░рд╛рдИ_рд░рди , рдЬреЛ рдЯреНрд░рд╛рдпрд▓ рд░рди рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреАрд╡реНрд░рддрд╛ (рджрд░ рд╕реАрдорд╛ рдХреЗ рдмрд┐рдирд╛) рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ; - рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
рд▓рд┐рдорд┐рдЯ_рдХреЙрди_рдбреНрд░рд╛рдИ_рд░рди , рдЬреЛ ngx_http_limit_conn_module рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЯреЗрд╕реНрдЯ рд░рди рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ; - рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ "
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░_рджреЗрд▓ ", рдЬреЛ рдЖрдкрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрдорд╛рди рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП 401 рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрдирдзрд┐рдХреГрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рджреЗрд░реА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИрдЖрдХреНрд░рдордг , рдЬрд┐рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕реАрдорд┐рдд рд╣реИ, рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рдХрд░рддреЗ рд╕рдордп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп (рдЯрд╛рдЗрдорд┐рдВрдЧ рдЕрдЯреИрдХ) рдХреА рдорд╛рдк рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛рдкрд╛рд╕рд╡рд░реНрдб ,рдПрдХ рд╕рдмрдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╛рдЬреЗрдбрдмреНрд▓реНрдпреВрдЯреА (JSON рд╡реЗрдм рдЯреЛрдХрди); - "limit_rate" рдФрд░ "limit_rate_after" рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдЯреНрд░реАрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ "proxy_upload_rate" рдФрд░ "proxy_download_rate" рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
- рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ
рдЬреАрдЖрд░рдкреАрд╕реА_рдкрд╛рд╕ рдХрд┐рд╕реА рдкрддреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдердиред рдпрджрд┐ рдкрддрд╛ рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдирд╛рдо рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд░реНрдгрд┐рдд рд╕рдореВрд╣реЛрдВ рдХреЗ рдмреАрдЪ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; - рдирдП рд╡реИрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд╝реЗ рдЧрдП
$рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓_рд╕рд░реНрд╡рд░_рдПрдбреНрд░ ╨╕$рдкреНрд░реЙрдХреНрд╕реА_рдкреНрд░реЛрдЯреЛрдХреЙрд▓_рд╕рд░реНрд╡рд░_рдкреЛрд░реНрдЯ , рдЬрд┐рд╕рдореЗрдВ PROXY рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реЗрдбрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рд░реНрд╡рд░ рдкрддрд╛ рдФрд░ рдкреЛрд░реНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ; - рдореЙрдбреНрдпреВрд▓ рдореЗрдВ
ngx_stream_limit_conn_module рд╡реИрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛$limit_conn_status , рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ: PASSED, REJECTED рдпрд╛ REJECTED_DRY_RUN; - рдореЙрдбреНрдпреВрд▓ рдореЗрдВ
ngx_http_limit_req_module рд╡реИрд░рд┐рдПрдмрд▓ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛$limit_req_status , рдЬреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЖрдЧрдорди рдХреА рджрд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN рдпрд╛ REJECTED_DRY_RUN; - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдореЙрдбреНрдпреВрд▓ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
ngx_http_postpone_filter_module ; - рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкрд░реНрд▓ рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ $r->internal_redirect() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╛рдорд┐рдд "рд╕реНрдерд╛рди" рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЯреЙрдЧрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдЕрдм рдмрдЪреЗ рд╣реБрдП рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдЖрдИ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ;
- "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рд╕реЗрдЯрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдореЗрдВ "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп
рд╣реИрд╢ ┬╗рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ рдЦрд╛рд▓реА рдХреБрдВрдЬреА рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпреВрдирд┐рдлреЙрд░реНрдо рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдореЛрдб (рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди) рдЕрдм рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ; - рд╕рдордп рдХреЗ рд╕рд╛рде рддреЗрдЬрд╝ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ ioctl(FIONREAD) рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
рд╕реНрд░реЛрдд: opennet.ru