移動到新的專用伺服器並需要有關新設置的建議
我目前有一個專用伺服器,我們已經超出了我們的要求,我們正在轉移到另一台伺服器。
我們目前的設置是使用 VMWare 執行 W2008R2 IIS 虛擬機的 8gb W2008R2 伺服器。
我們正在遷移到 Hyper-V 上帶有 W2012 R2 的 2 cpu 24 gb 伺服器。
在我們的虛擬機上,我們正在執行 iis 7.5 和 sql server。Sql Server 似乎想吃掉所有的記憶體,所以我不得不將它限制在 2gb,這似乎還不夠。
我的問題是,當我將虛擬機移動到新伺服器時,我是否應該創建 2 個虛擬機,一個用於 sql server,一個用於 IIS?或者我應該把它們都放在同一個虛擬機上?甚至,把Sql Server放在專用伺服器上,在vm中執行IIS?
我想就如何做到這一點提出一些意見,我沒有做出正確決定所需的經驗。
謝謝!
這取決於您的使用情況。
您目前系統的 CPU 使用率是多少?
IIS有多少?其中有多少是 SQL?
您目前系統的記憶體使用量是多少?
IIS有多少?其中有多少是 SQL?
一般來說,對於小型操作,將 IIS 和 SQL 伺服器合二為一就可以了。但是,如果您開始突破 I/O 最大值的 75% 大關,那麼就該拆分伺服器了。(75% 是一個任意數字,但它是理想的,因為這意味著您從 50%(這意味著您的系統應該搖擺不定)到 100% 效率(這意味著您的系統無法比現在的性能更好)的一半;規劃在這個階段將比以 100% 的效率進行規劃的壓力要小,因為到 100% 時,您的系統已經容易出現問題,並且主動解決問題比被動解決問題更容易)。
如果 IIS 和 SQL 之間的組合使用百分比等於或大於 75% 或任意的 Desired Max Usage Percentage,那麼您應該將它們分開。
這是一個指南(注意,我只是把它放在一起,所以我不知道計算有多準確;這並沒有考慮到硬碟驅動器瓶頸或網路延遲。這也不需要考慮到編寫不佳的應用程序可能會不必要地佔用過多資源,而增強系統不會改變):
- 確定您目前的延遲
- 確定您願意接受多少延遲並將其更改為經驗定量數值。例子; 如果您願意花一點延遲時間;多少?100 毫秒?250 毫秒?500毫秒?1秒?
- 確定您願意接受的延遲是一段時間內的平均值(理想情況下,至少是整整 7 天)還是絕對最大值(理想情況下,在您體驗伺服器負載最多的那一天)。
- a) 如果接受的延遲是平均值,則計算平均 CPU 和記憶體使用值超時
b) 如果接受的延遲是絕對最大值,則計算當天最高負載時的最大 CPU 和最大記憶體使用值 5. 確定目前處理能力/記憶體容量 6. 確定您每年的增長率百分比;如果您沒有要比較的基線數據,則任意假設每年增長 10% 或取1 / ( Current_Latency / Desired_Latency ) x 100% / Years_System_Was_In_Service,以較高者為準。 7. 在下一次升級之前,確定在接下來的 Y 年中保持系統使用率低於 75% (Desired_Max_Usage_Percentage) 所需的處理能力/記憶體容量。Resource_Needed = ( Current_Usage_Percentage x Current_Capability ) + ( 1 + ( Y_Years x Growth_Percentage )) / Desired_Max_Usage_Percentage 8. 確定適應所需延遲所需的調整值。
範例(CPU)1:
Current Latency = 1000 Desired Latency = 500 Latency Variable = 1 + (1 / (1000 / 500)) = 1.5 Current_CPU_Usage = 100% Current_Capability = 2CPU x 3.0GHz = 6.0GHz Y_Years (to next upgrade) = 3 Growth_Percentage = 10% Desired_Max_Usage_Percentage = 75% Minimum Resource = (1 x 6.0) + (1 x (3 x .1))/.75 = 7.73GHz Adjustment For Latency = 7.73 x 1.5 Result: Upgrade to minimum 7.73GHz Result to desired latency: 11.60GHz
範例(CPU)2:
Current Latency = 1000 Desired Latency = 500 Current_CPU_Usage = 70% Current_Capability = 2CPU x 3.0GHz = 6.0GHz Y_Years (to next upgrade) = 3 Growth_Percentage = 10% Desired_Max_Usage_Percentage = 75% Minimum Resource = (.7 x 6.0) + (1 x (3 x .1))/.75 = 5.93GHz Adjustment For Latency = 5.93 x 1.5 = 8.90GHz Result: No need to upgrade Result to desired latency: 8.90GHz
範例(記憶體)1:
Current Latency = 1000 Desired Latency = 500 Latency Variable = 1 + (1 / (1000 / 500)) = 1.5 Current_Memory_Usage = 100% Current_Capability = 4GB Y_Years (to next upgrade) = 3 Growth_Percentage = 10% Desired_Max_Usage_Percentage = 75% Minimum Resource = (1 x 4.0) + (1 x (3 x .1))/.75 = 5.73GB Adjustment For Latency = 5.73 x 1.5 = 8.6GB Result: Upgrade to minimum 5.73GB Result to desired latency: 8.6GHz
範例(記憶體)2:
Current Latency = 1000 Desired Latency = 500 Latency Variable = 1 + (1 / (1000 / 500)) = 1.5 Current_Memory_Usage = 50% Current_Capability = 4GB Y_Years (to next upgrade) = 3 Growth_Percentage = 10% Desired_Max_Usage_Percentage = 75% Minimum Resource = (.5 x 4.0) + (1 x (3 x .1))/.75 =3.73GB Adjustment For Latency = 3.73 x 1.5 = 5.23GB Result: No need to upgrade Result to desired latency: 5.23GB
注意:請以一粒鹽為例。
要規劃網路容量、硬碟儲存容量或硬碟 I/O 指標,您基本上需要進行類似的計算。
TL:博士;如果您的 CPU 或記憶體使用率達到 100%,您可能應該將 IIS 和 SQL 服務拆分為它們自己的資源。但是,在這樣做之前,您應該考慮應用程序/資源調整,因為硬體更改可能很昂貴,並且不會解決低效的應用程序。