
我們有一個16核伺服器它充當虛擬機器主機。
其中一個 VM 來賓是一個 Windows Server 2012 機器,它託管一個 .NET Web 服務,該服務向手機應用程式的使用者提供即時資訊。
我們現在需要為即將推出的新應用程式新增第二個 .NET Web 服務。 (類似的網路服務,幾乎相同的程式碼庫)
現有的虛擬伺服器已經處於高負載狀態,因此,在我看來,我們有兩個選擇:
1 - 同一虛擬伺服器上的新站點
- 增加 VM Guest 執行個體的 RAM 和 VCPU 分配。
- 將 Web 服務作為新站點新增至現有 IIS8。
- (可選)將每個 Web 服務的應用程式集區固定到其自己的專用 CPU 核心。 (使用IIS8 cpu遮罩)
2 - 新的虛擬 Windows Server
- 使用自己的專用 RAM 和 VCPU 資源建立全新的 VM Guest(在同一台主機上)。
我很難在這兩個選項之間做出選擇 - 性能有什麼區別嗎?
選項2 的吸引力在於,直觀上,單獨的虛擬伺服器感覺與其他伺服器“隔離”,因此在我看來,它提供了自己的無競爭資源(CPU、RAM、IP 位址),這會表現得更好。
但是,當我想一想,既然兩者都在同一台主機上運行,那麼真的有什麼區別嗎?更不用說作業系統本身的授權成本了。
假設我們重複使用選項 1,即許多多個 IIS Web 服務,IIS 效能是否會降低到使用單獨的第二個 Windows Server(儘管是同一台主機上的虛擬伺服器)更有意義的程度?我想知道是否會存在網路瓶頸,因為所有 Web 服務都會指向相同的 IP 位址。
答案1
啊,性能優化這個古老的問題。這個問題從來沒有一個答案,除了嘗試並準備好改變它。
由於新增網站很簡單,我會先嘗試看看。處理器固定可能是不必要的,並且可能只會導致資源匱乏。
當效能耗盡時,您可以重新調整現有虛擬機器的大小或將某些網站移至新網站。或者,您甚至可以建立多個 Web 伺服器虛擬機,所有虛擬機都運行您的所有站點,並使用負載平衡器。