Nginx 控制客戶端

2021-09-27 12:01:28 字數 2553 閱讀 2981

請求頻率限制: limit_req_module

主要用於限制每乙個定義的金鑰的請求的處理速率,特別是從乙個單一的ip位址的請求的處理速率

請求的完成量限制

vim /usr/local/nginx/conf/nginx.conf38 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;開闢乙個10m的請求空間,命名為one;同乙個ip傳送的請求,平均每秒只處理一次

mkdir /usr/local/nginx/html/searchscp ***.jpg [email protected]:/usr/local/nginx/html/search/傳送任意檔案或測試

systemctl restart nginx

壓力測試

ab是apachebench命令的縮寫

它的測試目標是基於url的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、iis等其它web伺服器的壓力

ab命令對發出負載的計算機要求很低,它既不會占用很高cpu,也不會占用很多記憶體

會給目標伺服器造成巨大的負載,其原理類似cc攻擊

自己測試使用也需要注意,否則一次上太多的負載,可能造成目標伺服器資源耗完,嚴重時甚至導致宕機

ab的引數:

-n在測試會話中所執行的請求個數;預設時,僅執行乙個請求—表示請求總數

-c

一次產生的請求個數;預設是一次乙個—表示併發使用者數

**效能壓力測試是伺服器**效能調優過程中必不可缺少的一環。只有讓伺服器處在高壓情況下,才能真正體現出軟體、硬體等各種設定不當所暴露出的問題

效能測試工具目前最常見的有以下幾種:ab、http_load、webbench、siege

ab是apache自帶的壓力測試工具

ab非常實用,它不僅可以對apache伺服器進行**訪問壓力測試,也可以對或其它型別的伺服器進行壓力測試

壓力測試

2、連線頻率限制: limit_conn_module

ngix_http_limit_conn_module模組用於限制每個定義的金鑰的連線數量,特別是來自單個ip位址的連線數量

並非所有連線都被計算在內 只有在伺服器處理請求並且已經讀取了整個請求頭時才計算連線

對客戶端併發量的限制

vim /usr/local/nginx/conf/nginx.conf39 limit_conn_zone $binary_remote_addr zone=addr:10m;開闢乙個10m的連線空間,命名為 addr

55 limit_conn addr 1;

表示進行併發的限制,乙個時間段只能有乙個

測試

ab -c 1 -n 10

ab -c 10 -n 10

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

nginx集群客戶端分配策略

1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。upstream backserver 2 指定權重 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。upstream backserver 3 ip繫結 ip hash 每...