Ubuntu

nginx對連接沒有速度限制

  • June 30, 2015

我有一台安裝了nginx的伺服器來提供一些文件以供下載。我也沒有更改nginx預設配置

問題是,當我嘗試從該伺服器下載時,似乎存在連接限制,因為當我嘗試使用 10 個連接的axel下載時,它比使用一個連接的wget快約3 倍。

如何消除此限制,以便使用者可以通過一個連接從該伺服器以最大速度下載?

是因為我的配置而使用axel更快還是因為網路和網際網路的特性?

更新:

在表明我的比較錯誤的第一條評論之後,我將測試更改為axel -n 1Vs。axel -n 10. 現在它們之間沒有太大區別,但是使用多個連接仍然會快一點。(1個連接780KB /s,10個連接830KB/s)。

這種差異與nginx配置無關嗎?

這種差異可能不是由於 nginx,而更可能是由於您的 TCP 堆棧(在客戶端或伺服器上)。

最明顯的區別是,通過使用 10 個同時連接,您將使用的 TCP 緩衝區記憶體是單個連接的 10 倍。這也意味著通過增加緩衝區大小,您很有可能提高單個連接的吞吐量(同時您可能會減少伺服器可以處理的連接數量 - 每個故事都有兩個方面)。

有幾十個參數用於調整 TCP 堆棧。有關更多資訊,請參見tcp(7)手冊頁。

如果您只想使用緩衝區大小,可以通過以下文件執行此操作/proc

  • /proc/sys/net/core/rmem_max
  • /proc/sys/net/core/wmem_max
  • /proc/sys/net/ipv4/tcp_rmem
  • /proc/sys/net/ipv4/tcp_wmem

不要忘記這適用於伺服器和客戶端。

引用自:https://serverfault.com/questions/702565