XNUMX๋
์ ๊ฐ๋ฐ ๋์
์ ๋ฐ๋ผ
์ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ๋ฐฉ๋ฌธํ 25.54๋ง ๊ฐ์ ์ฌ์ดํธ ์ค nginx์ ์ ์ ์จ์ 26.22%(23.76๋
์ 459%, 397๋
์ XNUMX%)์
๋๋ค. ํ์ฌ ์ฝ XNUMX์ต XNUMX๋ง ๊ฐ์ ์น์ฌ์ดํธ๊ฐ Nginx๋ฅผ ์ด์ํ๊ณ ์์ต๋๋ค(XNUMX๋
์ XNUMX์ต XNUMX๋ง ๊ฐ). ์ ์ํด
1.17.x ์ ์คํธ๋ฆผ ๋ธ๋์น ๊ฐ๋ฐ ์ค์ ์ถ๊ฐ๋ ๊ฐ์ฅ ๋์ ๋๋ ๊ฐ์ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ง์๋ฌธ์ด ์ถ๊ฐ๋์์ต๋๋ค.
ํ๋_req_dry_run , ์์ฒญ ์ฒ๋ฆฌ ๊ฐ๋์๋ ์ ํ์ด ์ ์ฉ๋์ง ์์ง๋ง(๋น์จ ์ ํ ์์ด) โโ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ์ ํ์ ์ด๊ณผํ๋ ์์ฒญ ์๋ฅผ ๊ณ์ ๊ณ ๋ คํ๋ ์ํ ์คํ ๋ชจ๋๋ฅผ ํ์ฑํํฉ๋๋ค. - ์ง์๋ฌธ์ด ์ถ๊ฐ๋์์ต๋๋ค.
Limit_conn_dry_run ngx_http_limit_conn_module ๋ชจ๋์ ํ ์คํธ ์คํ ๋ชจ๋๋ก ์ ํํฉ๋๋ค. ์ด ๋ชจ๋์์๋ ์ฐ๊ฒฐ ์๊ฐ ์ ํ๋์ง ์์ง๋ง ๊ณ ๋ ค๋ฉ๋๋ค. - ์ง์์ด "๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ธ์ฆ_์ง์ฐ "๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ต ์ฝ๋ 401๋ก ์น์ธ๋์ง ์์ ์์ฒญ์ ์ง์ฐ์ ์ถ๊ฐํ์ฌ ๋น๋ฐ๋ฒํธ ์ถ์ธก์ ๊ฐ๋๋ฅผ ์ค์ด๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณดํธํ ์ ์์ต๋๋ค.๊ณต๊ฒฉ , ์ ๊ทผ์ด ์ ํ๋ ์์คํ ์ ์ ๊ทผํ ๋ ์ฐ์ฐ ์ํ ์๊ฐ ์ธก์ (ํ์ด๋ฐ ๊ณต๊ฒฉ)์ ์กฐ์ํ๋ ํ์๋น๋ฐ๋ฒํธ ,ํ์ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ ๋๋JWT (JSON ์น ํ ํฐ); - ์คํธ๋ฆผ ๋ชจ๋์ "proxy_upload_rate" ๋ฐ "proxy_download_rate" ์ง์๋ฌธ๋ฟ๋ง ์๋๋ผ "limit_rate" ๋ฐ "limit_rate_after" ์ง์๋ฌธ์ ๋ณ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ง์๋ฌธ์์
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 ; - ๋ด์ฅ๋ Perl ์ธํฐํ๋ฆฌํฐ์์ ์ ๊ณตํ๋ $r->internal_redirect() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ๋ช ๋ "์์น" ๋ธ๋ก์ ํ ๊ธํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์ด ๋ฐฉ๋ฒ์๋ ์ด์ค์ผ์ดํ ๋ฌธ์๊ฐ ํฌํจ๋ URI ์ฒ๋ฆฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
- "upstream" ์ค์ ๋ธ๋ก์์ "upstream" ์ง์๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
ํด์ ยป ํด๋ผ์ด์ธํธ-์๋ฒ ๋ฐ์ธ๋ฉ์ผ๋ก ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๊ตฌ์ฑํ๊ธฐ ์ํด ๋น ํค ๊ฐ์ ์ง์ ํ๋ฉด ์ด์ ๊ท ์ผ ๋ฐธ๋ฐ์ฑ ๋ชจ๋(๋ผ์ด๋ ๋ก๋น)๊ฐ ํ์ฑํ๋ฉ๋๋ค. - ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋น ๋ฅธ ์ฐ๊ฒฐ์์ ์ฝ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ioctl(FIONREAD) ํธ์ถ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru