рд╡рд┐рдХрд╛рд╕рдХреЛ рдПрдХ рд╡рд░реНрд╖ рдкрдЫрд┐
рдпрд╕ рдЕрдиреБрд╕рд╛рд░
рд╕рдВрд╕рд╛рд░рдорд╛ рд╕рдмреИрднрдиреНрджрд╛ рдзреЗрд░реИ рднреНрд░рдордг рдЧрд░рд┐рдПрдХрд╛ рд▓рд╛рдЦреМрдВ рд╕рд╛рдЗрдЯрд╣рд░реВ рдордзреНрдпреЗ, nginx рдХреЛ рд╢реЗрдпрд░ 25.54% рдЫ (рдПрдХ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ 26.22%, рджреБрдИ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ 23.76%)ред рд╣рд╛рд▓, рд▓рдЧрднрдЧ 459 рдорд┐рд▓рд┐рдпрди рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВ Nginx (рдПрдХ рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ 397 рдорд┐рд▓рд┐рдпрди) рдЪрд▓рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред рджреНрд╡рд╛рд░рд╛
1.17.x рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╢рд╛рдЦрд╛рдХреЛ рд╡рд┐рдХрд╛рд╕рдХреЛ рдХреНрд░рдордорд╛ рдердкрд┐рдПрдХрд╛ рд╕рдмреИрднрдиреНрджрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░рд╣рд░реВ:
- рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ
рд╕реАрдорд┐рдд_рд░реЗрдХ_ рдбреНрд░рд╛рдИ_рд░реБрди , рдЬрд╕рд▓реЗ рдЯреНрд░рд╛рдпрд▓ рд░рди рдореЛрдб рд╕рдХреНрд░рд┐рдп рдЧрд░реНрджрдЫ, рдЬрд╕рдорд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╢реЛрдзрдирдХреЛ рддреАрд╡реНрд░рддрд╛ (рджрд░ рд╕реАрдорд╛ рдмрд┐рдирд╛) рдорд╛ рдХреБрдиреИ рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рд▓рд╛рдЧреВ рд╣реБрдБрджреИрди, рддрд░ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реАрдорд╛ рд╕реАрдорд╛рд╣рд░реВ рдирд╛рдШреЗрдХрд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫ; - рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ
рд╕реАрдорд╛_рдХреБрди_ рдбреНрд░рд╛рдИ_рд░реБрди , рдЬрд╕рд▓реЗ ngx_http_limit_conn_module рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдг рд░рди рдореЛрдбрдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджрдЫ, рдЬрд╕рдорд╛ рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдЫреИрди, рддрд░ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЗрдиреНрдЫ; - рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ "
auth_delay ", рдЬрд╕рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ 401 рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдбрдХреЛ рд╕рд╛рде рдЕрдирд╛рдзрд┐рдХреГрдд рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ рдврд┐рд▓рд╛рдЗ рдердкреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдиреБрдорд╛рди рдЧрд░реНрдиреЗ рддреАрд╡реНрд░рддрд╛ рдХрдо рдЧрд░реНрди рд░ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рдЧрд░реНрдиредрдЖрдХреНрд░рдордгрд╣рд░реВ , рдкрд╣реБрдБрдЪ рд╕реАрдорд┐рдд рднрдПрдХреЛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрджрд╛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордп (рд╕рдордп рдЖрдХреНрд░рдордг) рдХреЛ рдорд╛рдкрди рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрджреИредрдкрд╛рд╕рд╡рд░реНрдб ,subquery рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛J.W.T. (JSON рд╡реЗрдм рдЯреЛрдХрди); - "limit_rate" рд░ "limit_rate_after" рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдорд╛, рд╕рд╛рдереИ рд╕реНрдЯреНрд░рд┐рдо рдореЛрдбреНрдпреБрд▓рдХреЛ "proxy_upload_rate" рд░ "proxy_download_rate" рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдорд╛ рдЪрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
- рдирд┐рд░реНрджреЗрд╢рдирдорд╛
grpc_pass рдареЗрдЧрд╛рдирд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ рдЪрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред рдпрджрд┐ рдареЗрдЧрд╛рдирд╛ рдбреЛрдореЗрди рдирд╛рдордХреЛ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдирд╛рдо рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд╡рд░реНрдгрд┐рдд рд╕рдореВрд╣рд╣рд░реВ рдмреАрдЪ рдЦреЛрдЬреА рдЧрд░рд┐рдиреНрдЫ, рд░, рдпрджрд┐ рдлреЗрд▓рд╛ рдкрд░реЗрди рднрдиреЗ, рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ; - рдирдпрд╛рдБ рдЪрд░ рдердкрд┐рдпреЛ
$proxy_protocol_server_addr ╨╕$proxy_protocol_server_port , рдЬрд╕рдорд╛ 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() рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ "location" рдмреНрд▓рдХрд╣рд░реВ рдирд╛рдордХ рдЯрдЧрд▓ рдЧрд░реНрдиреЗ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред рдпреЛ рд╡рд┐рдзрд┐рд▓реЗ рдЕрдм рдПрд╕реНрдХреЗрдкреНрдб рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрд╕рдБрдЧ URI рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ;
- "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рд╕реЗрдЯрд┐рдЩ рдмреНрд▓рдХрдорд╛ "рдЕрдкрд╕реНрдЯреНрд░реАрдо" рдирд┐рд░реНрджреЗрд╢рди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛
рд╣реНрдпрд╛рд╕ ┬╗ рдХреНрд▓рд╛рдЗрдиреНрдЯ-рд╕рд░реНрднрд░ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╕рдБрдЧ рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд┐рдЩ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЦрд╛рд▓реА рдХреБрдЮреНрдЬреА рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдПрдХрд╕рдорд╛рди рд╕рдиреНрддреБрд▓рди рдореЛрдб (рд░рд╛рдЙрдиреНрдб-рд░реЛрдмрд┐рди) рдЕрдм рд╕рдХреНрд░рд┐рдп рдЫ; - ioctl(FIONREAD) рдХрд▓ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рдЫ рднрдиреЗ рд╕рдордпрдХреЛ рд╕рд╛рде рджреНрд░реБрдд рдЬрдбрд╛рдирдмрд╛рдЯ рдкрдвреНрдирдмрд╛рдЯ рдмрдЪреНрдиред
рд╕реНрд░реЛрдд: opennet.ru