Я знаю, что этот тип вопросов уже задавался ( Разница в скорости, если SQL Server находится на одном сервере, а веб-сайт - на другом, а не оба на одном сервере ), я не знаю » Не знаю, применимо ли это к моей ситуации.
Текущая ситуация:
У меня есть один выделенный сервер (Corei5 3,6 ГГц, 4 ядра, без HT, 32 ГБ оперативной памяти, 120 ГБ SSD + 1 ТБ жесткого диска), на котором размещено почти все необходимое для работы веб-сайта (IIS , SQL-сервер, почтовый сервер, кеш Redis). Сначала было решено собрать их все вместе, чтобы минимизировать затраты.
Веб-сайт в настоящее время генерирует хороший объем трафика (около 90 миллионов запросов на веб-сайте в день), и база данных также находится под давлением (в среднем 1500 запросов в секунду).
Я, конечно, уже думал об их разделении. Активность процессора довольно высока (обычно от 70 до 80%).
Мой главный вопрос: я боюсь проблем, которые могут возникнуть при наличии двух серверов, особенно с точки зрения производительности.
Обычно говорят, что рекомендуется разделять, но так ли это, учитывая количество запросов, сделанных в базе данных? Меня особенно пугает задержка в сети между двумя серверами, потому что у меня нет реального контроля над ней.
При таком количестве запросов SQL могут ли возникнуть проблемы с задержкой в сети и пропускной способностью? Пинг между серверами моего хостинг-провайдера составляет менее 2 мс. Пропускная способность составляет 100 МБ / с.
Как вы думаете, было бы неплохо их разделить?
Спасибо,
Вам нужно выяснить, что является узким местом прямо сейчас, прежде чем беспокоиться о том, что может стать вашим следующим.
Ваш вопрос сформулирован так, как будто у вас проблемы с производительностью.
Но я не вижу никаких реальных цифр, подтверждающих это.
Следите за своим текущим сервером на:
Вам следует сосредоточиться на обоих общих статистики и счетчиков SQL Server. .
Если вы считаете, что дополнительная задержка, связанная с добавлением второго сервера с сетевым подключением, может быть проблемой, попробуйте проверить ее.
Смоделируйте среду с более высокой сетевой задержкой и выполните нагрузочный тест, чтобы убедиться, что влияние на производительность измеримо / вызывает озабоченность.
После того, как вы все это сделаете, вы можете получить свой ответ с абсолютной уверенностью.
Но я готов поспорить, и скажу, что вы обнаружите, что размещение вашего SQL Server на выделенном компьютере лучше для производительности.
Просто гораздо более вероятно, что SQL Server борется за память и ЦП с сервером IIS и вызывает плохую производительность. Кроме того, сетевое соединение вызовет проблемы с задержкой, если вы не разместите серверы далеко друг от друга с плохим соединением.