[ nginx ] 帶寬下載限速


  nginx上了一個APP提供給用戶下載,考慮到帶寬占用的問題,決定在nginx上做下載限速處理。

操作系統:Centos6.7 X64

nginx版本:nginx/1.11.3

根據官方文檔:

 

對nginx.conf進行配置:

http {
  ...
  limit_conn_zone $binary_remote_addr zone=addr:10m;   # 添加該行
  ...
include vhost/*.conf; }


因為我這里是APP下載業務是定義的一個nginx虛擬主機

  
[root@localhost vhost]# pwd
/usr/local/nginx/conf/vhost

1 server { 2 listen *:8080; 3 server_name localhost; 4 location / { 5 root /usr/local/test; 6 index index.html; 7 limit_conn addr 1; # 每個客戶端只允許一個線程。 8 limit_rate 100k;  # 每個線程最大下載速度100k 9 } 10 11 }
 
每個客戶端最終的下載速度 = limit_conn * limit_rate 我這里很明顯是100kb/s

 

啟動服務,並進行測試:

在網站根目錄寫入一個大文件並嘗試下載:

[root@localhost test]# dd if=/dev/zero of=test.txt bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 2.99695 s, 350 MB/s

 

本地直接使用wget進行測試: 最大速度100kb/s

 

客戶端使用瀏覽器進行測試:

 

 可以看見,nginx限速成功。我一個是本地測試,一個是局域網內部測試,當然公網測試就更加明顯了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM