Web伺服器和資料庫伺服器位於完全不同的位置

Web伺服器和資料庫伺服器位於完全不同的位置

在不同主機的完全不同位置擁有 Web 伺服器 (apache/php) 和資料庫伺服器 (mysql) 對效能有何影響。

編輯:它是一個資料庫密集型 Web 應用程序,因此每個頁面都會多次存取資料庫。資料庫通常是 Web 應用程式中的瓶頸,只是想知道與資料庫互動的典型速度相比,網路速度是否重要。

答案1

這很大程度上取決於兩個位置之間的連接速度。有些公司的資料中心之間有高速主幹網,但從聽起來你看到的是兩家不同的公司。由於連接是透過互聯網進行的,並且線路不受任何一家公司的控制,因此這個問題沒有可靠的答案。

如果可能的話我會避免它。如果您確實認為這是最好的方法,請考慮使用 memcache 之類的方法來減輕資料庫的查詢。

答案2

在不同主機的完全不同位置擁有 Web 伺服器 (apache/php) 和資料庫伺服器 (mysql) 對效能有何影響。

是的,這會對性能產生影響,而且都是負面的。這樣的系統可以發揮作用,特別是當兩個系統透過 VPN 連接並具有基於正常運行時間和效能的服務等級協定時。如果你只是透過“雲端”,你將沒有網路效能的一致性,也沒有一聲哽咽如果連接或效能下降。

只是想知道與資料庫互動的典型速度相比,網路速度是否重要。

這將完全取決於你的網路速度和你的資料庫和應用程式。

有兩個網路效能方面需要考慮——延遲和吞吐量。你需要考慮兩者。

例如,使用者通常會(在一定程度上)耐心等待搜尋查詢。他們會不是當他們瀏覽網站時,請耐心等待每個頁面的載入。雖然從使用者的角度來看,兩者都被視為延遲,但第一個範例可能由資料庫和 Web 伺服器之間的網路吞吐量進行加權,而第二個範例則由網路延遲進行加權。

或不!只有測試才能證明。

答案3

您正在執行什麼類型的查詢?

如果您正在進行複雜的查詢,其中 CPU 的速度是您的限制因素,那麼與資料庫的連接速度低於 10mb/s 和高延遲可能不會那麼明顯。 (但這些要么需要非常複雜的查詢,要么需要在動力非常不足的機器上)

然而,你也許可以加快速度透過在 Web 伺服器電腦上進行緩存,或在 Web 伺服器上本機設定一個小型 mysql 複製伺服器來保存任何頻繁存取的資料的副本。

雖然將整個資料庫遠端放置會對效能產生負面影響,但從災難復原的角度來看,將其共存於兩個位置肯定會產生有益的影響。

答案4

從資料庫伺服器請求的平均資料大小是多少,兩者之間的可用頻寬是多少,以及流量有多大?應該很容易弄清楚是否會出現令人停止的瓶頸。

相關內容