Networking

如果我從 localhost vs web-address 請求數據,數據是否通過網路

  • December 14, 2020

如果我的措辭不完全正確,我深表歉意——我對這一切都很陌生。

**目標:**我正在嘗試提高從數據庫中獲取數據的速度

設置: 我在伺服器 A 上託管數據庫。也可以通過 www 等網站訪問該數據庫。我的網站。com(不是我的實際網站 ofc)。伺服器端的這種訪問是通過 Nginx 發生的,帶有路由到類似localhost:1234.

**問題:**如果我登錄伺服器並通過網站向數據庫發出請求(即www.mydbweb.com),數據將通過網路獲取(對嗎?),但如果我localhost:1234直接通過請求,這是否意味著沒有數據通過網路?

一般來說,是一種跳過通過網路獲取的數據的方法嗎?我覺得網路確實為大數據查詢引入了某種延遲或瓶頸。

它取決於作業系統和網路配置,但與伺服器的外部 IP 地址或本地主機/環回 IP 地址通信通常沒有顯著的速度差異,因為通常作業系統和網路堆棧都知道外部 IP 地址也是“這台機器”,數據包不會通過網路傳輸,而是保留在記憶體中。

但是與讓這兩者直接通信相比,在應用程序和數據庫之間的路徑中額外的 nginx 抽象層會增加延遲。

將應用程序連接到數據庫的最快方法(當它們都在同一主機上執行時)是通過 Unix 套接字(對於在 Linux 或類似 Unix OS 上執行的數據庫)或類似的直接連接。這種連接消除了將請求和響應封裝在網路數據包中的需要。

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