переходит на новый выделенный сервер и мне нужен совет по новой настройке [закрыто]

В настоящее время у меня есть выделенный сервер, который мы выросли, и мы перемещаемся на другой сервер.

Наша текущая установка представляла собой сервер W2008R2 объемом 8 Гбайт, на котором была запущена виртуальная машина IIS W2008R2 с использованием VMWare.

Мы переходим на сервер с 2 процессорами 24 ГБ с W2012 R2 на Hyper-V.

На нашей виртуальной машине запущены iis 7.5 и sql server. Sql Server, похоже, хочет съесть всю память, поэтому мне пришлось ограничить его до 2 ГБ, что кажется недостаточным.

Мой вопрос: когда я перемещаю виртуальную машину на новый сервер, должен ли я создавать 2 виртуальные машины, одну для сервера sql и одну для IIS? Или я должен оставить их обоих на одной виртуальной машине? Или даже поместить Sql Server на выделенный сервер и запустить IIS в виртуальной машине?

Я хотел бы получить информацию о том, как это должно быть сделано, у меня нет опыта, необходимого для правильного обращения.

Спасибо!

-1
задан 21 October 2013 в 18:32
1 ответ

It depends on your usage.

What is your CPU usage with your current system?

How much of it is IIS? How much of it is SQL?

What is your memory usage with your current system?

How much of it is IIS? How much of it is SQL?

Generally speaking, for small operations, combining IIS and SQL servers into one is fine. However, if you start breaking the 75% mark of your I/O maximums, it'd be about time to split up your servers. (75% is an arbitrary number, but it's ideal, because it means you're halfway from 50%, which means your system should be rocking, to 100% efficiency, which means your system cannot perform any better than it already is; planning at this stage will be less stressful than planning at 100% efficiency, because by 100%, your systems are already prone to problems and it's easier to tackle a problem proactively than reactively).

If the combined percentages of usages between IIS and SQL are equal to or greater than 75% or the arbitrary Desired Max Usage Percentage, then you should split them up.

Here's a guide (note, I just put it together off the top of my head, so I don't know how accurate the calculations are yet; and this doesn't account for hard drive bottlenecks or network latency. This also does not take into account poorly written applications that may take up too much resources unnecessarily, which won't change by beefing up a system):

  1. Determine your current latency

  2. Determine how much latency you're willing to accept and change that into an empirical quantitative numeric value. Example; If you are willing to take a little latency; how much? 100ms? 250ms? 500ms? 1s?

  3. Determine if the latency you're willing to accept will be an average over time (ideally, at a minimum, a full 7 days) or an absolute maximum value (ideally, on the day your experience the most load on your server).

  4. a) If the accepted latency is an average, calculate the average CPU and Memory usage values overtime

    b) If the accepted latency is an absolute maximum value, calculate the max CPU and max Memory usage values at the highest load of the day

  5. Determine Current Processing Capability/Memory Capacity

  6. Determine your growth rate percentage per year; if you have no baseline data to compare, arbitrarily assume 10% growth every year or take 1 / (Current_Latency / Desired_Latency) x 100% / Years_System_Was_In_Service, whichever is higher.

  7. Determine the processing power/memory capacity needed to keep your systems under 75% (Desired_Max_Usage_Percentage) utilization for the next Y amount of years, before your next upgrade. Resource_Needed = (Current_Usage_Percentage x Current_Capability) + (1 + (Y_Years x Growth_Percentage)) / Desired_Max_Usage_Percentage

  8. Determine the adjusted value needed to accommodate for desired latency.

Example (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

Example (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

Example (Memory) 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

Example (Memory) 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

Note: please take my examples with a grain of salt.

To plan for network capacity, hard disk storage capacity, or hard disk I/O metrics, you'd essentially do similar calculations.

TL:DR; If your CPU or Memory utilization is reaching 100%, you should probably split the IIS and SQL services into their own resources. However, before doing so, you should consider application/resource tuning, as hardware changes can be expensive, and will not resolve inefficient applications.

3
ответ дан 5 December 2019 в 19:16

Теги

Похожие вопросы