Nginxは最大接続数、要求速度、ダウンロード速度を制限します。

2301 ワード

パラメータ説明$binary_remote_addrは同じクライアントIPアドレスであり、クライアントのアドレスをバイナリで記憶し、1 mは32000の同時セッションを記憶することができる。server_nameは同じserverの最大合併数です。(バーチャルホストとは、例えば、www.aa.comは仮想ホストである)limit_connzoneは同じ時間の接続数を制限します。すなわち同時に制限して、同時に接続数を制限します。limit_req_.zoneは単位時間内の要求数、すなわち速度制限を制限するために用いられ、採用されたリーキーバケツアルゴリズム「leaky bucket」はダウンロード速度を制限する。limit_ダウンロード速度を制限するためにラップ
制御nginx同時接続数定義メモリエリアlimit_connzone key zone=name:size;コンテキストhttp内に共有メモリ領域keyを設定すると文字列とすることができ、inx固有変数または前の2つの組み合わせ、例えば$binary_remote_addr,$server name nameはメモリ領域の名称であり、sizeはメモリエリア城のサイズである。
serverタグのlocation内でリミッターをする。conn zone numberzonenameは定義されたメモリ領域名numberとは最大接続数を指し、最大接続数を超えるとサーバは503エラーに戻ります。
例:http{limit_connuzone}binary Moteuder zone=addr:10 m;}location/limit conn addr 10;莕制限片ipの最大合併接続数は10}
以下の機能は、サーバーのダウンロード(制限BTダウンロード)http{limitCanuzone$binary uuremoted zone=addr:10 m;location/download/limit conn addr 1;)に使用できます。
仮想ホストの総接続数を制限するlimit_connzone$server_name zone=perserver:10 m;httpタグの中のlimit_conn perserver 100;locationタグの例:http{limit conn zone$serveryuname zone=perserver:10 m;}location/{limit_connperserver 100;谣制限同一server(仮想ホスト)最大合併数}
コントロールnginxユーザ要求レートコンテキストhttp内limit_req_.zone$binaryremote_addr zone=reqlist:10 m rate=1 r/s;要求されたクライアントipをkey値とし、メモリ領域をreqlistと名付け、10 mのメモリ空間を割り当て、アクセス速度制限は毎秒1回でrequestを要求する。
serverタグのlocation内でリミッターをする。req zone=reqlist burst=5 nodelay;前に定義されたreqlistというメモリ空間を使用して、キューの値は5であり、すなわち5つの要求がキューに並ぶことができる。nodelay文字の意味は、遅延しないということです。具体的には、ユーザに対して開始された要求は遅延処理をせず、直ちに処理するということです。本当に限流に対して作用する構成は、rate=1 r/sとburst=5の2つの構成例です。遠端の同じIPアドレスを制限する毎秒のアクセス回数http{limitture quzone}{limitchureq zone=one burst=5 nodelay}
例2は、1つの仮想ホスト(例えば、wwww.aa.com)が毎秒アクセス可能なレートhttp{limitureq zone$server name zone=one:10 m rate=30 r/s;}location/limitureq zone=one burst=5 nodelayを制限する。
nginxユーザーを制御して速度location^をダウンロードします。/videos/{…limitcat ture After 10 m;limitcuurate 150 k;
一番目のコマンドはlimitcuufterで、あなたが指定したファイルサイズにダウンロードしてから速度制限を開始して、二つ目のコマンドはlimitcuurateで、一番高いダウンロード速度を設定します。上の設定は各接続のダウンロード速度を制限していますので、ユーザーが複数の接続を開けたら、そのダウンロード速度は単一接続の制限速度に乗じられます。接続数です。しかし、私たちはlimituconnuzoneとlimituconnの二つのコマンドを使って接続数を制限できます。
同じipの接続数とダウンロード速度を制限して、サーバーのダウンロード(制限BTダウンロード)に使用します。http{limituconnuzone$binary uuremoted zone=addr:10 m;location/download/limituconn addr 1;limitcuurature After 10 m;mitture 150。