1. 程式人生 > 實用技巧 >Powershell中啟用Anaconda環境無效的解決辦法

Powershell中啟用Anaconda環境無效的解決辦法

Nginx提供了兩種限流手段:一是控制速率,二是控制併發連線數。

1.控制速率

使用limit_req_zone來限制單位時間內的請求數,即速率限制,示例配置如下:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s;
server { 
    location / { 
        limit_req zone=mylimit;
    }
}

以上配置表示,限制每個IP訪問的速度為2r/s,因為Nginx的限流統計是基於毫秒的,我們設定的速度是2r/s,轉換一下就是500ms內單個IP只允許通過1個請求,從501ms開始才允許通過第2個請求。

速率限制允許突發burst:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s;
server { 
    location / { 
        limit_req zone=mylimit burst=4;
    }
}

burst=4表示每個IP最多允許4個突發請求。

2.控制併發連線數

利用limit_conn_zone和limit_conn兩個指令即可控制併發數,示例配置如下:

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server {
    ...
    limit_conn perip 10;
    limit_conn perserver 100;
}

其中limit_conn perip 10表示限制單個IP同時最多能持有10個連線;limit_conn perserver 100表示server同時能處理併發連線的總數為100個。

PS:只有當request header被後端處理後,這個連線才進行計數。