nginxで同時実行接続数を制限するには

Nginxの同時接続数を制限するには、Nginxのlimit_connモジュールを使用します。以下に一般的な設定例を示します。

  1. Nginx設定ファイルに次のコードを追加することで、最大同時接続数を 100 に制限します。
http {
    limit_conn_zone $binary_remote_addr zone=concurrent:10m;
    
    server {
        ...
        
        location / {
            limit_conn concurrent 100;
            ...
        }
    }
}

limit_conn_zoneディレクティブは共有メモリ領域を定義するために使用され、limit_connディレクティブは同時接続数を制限するために使用されます。

  1. 特定の URL ごとに同時接続数を制限する: 異なる URL に対して異なる同時接続数制限を設定できます。例えば、ルートパスを 50 の同時接続に制限し、/api パスを 20 の同時接続に制限します。
http {
    limit_conn_zone $binary_remote_addr zone=concurrent:10m;

    server {
        ...
        
        location / {
            limit_conn concurrent 50;
            ...
        }
        
        location /api {
            limit_conn concurrent 20;
            ...
        }
    }
}

Nginxでは上記の設定により、URLにより同時接続数を制限します。

なお、上記サンプルは limit_conn モジュールで同時接続数を制限する方法の例示として示したものであり、実際の運用においては、ニーズやシステムの負荷状況を考慮し、適正な調整・設定を行ってください。

bannerAds