Как корпоративный архитектор я сталкивался с этой проблемой практически ежедневно. Вертикальное или горизонтальное масштабирование?
Каковы ваши потребности?
Вам нужно поддерживать больше пользователей? Вам нужно повысить скорость обслуживания? Вам нужны оба? Вам нужна высокая доступность 99,9999 или ваши пользователи могут сократить время простоя?
Для начала вам нужно получить показатели производительности в текущей системе. Количество активных пользователей, загрузка ОЗУ и ЦП, Disc I / O - узнайте, где ваши узкие места.
Возможные решения, основанные на проблемах: Начните с оптимизации текущих ресурсов. Если ваше приложение управляется базой данных, оптимизируйте базу данных с помощью кэшей запросов и потоков, индексов и т. Д. Если вы делите сервер с другими приложениями, изучите возможность перехода на выделенный сервер. (Посмотрите на виртуализацию для менее активных / критических приложений, чтобы освободить выделенные ресурсы).
современные машины работают на полную мощность, ОЗУ и ЦП сильно загружены, высокая скорость дискового ввода-вывода - рассчитайте стоимость добавления ОЗУ, можете ли вы перейти на более быстрый дисковый ввод-вывод (RAID, SATA вместо ATA)?
Если вам нужна высокая доступность, вам, вероятно, все равно нужно добавить оборудование и балансировку нагрузки.
Дешевле ли добавлять обновления оборудования или новые серверы? Что подходит для долгосрочных целей и роста?
Когда ваш ИТ-отдел лучше всего тратит деньги? Есть ли у вас средства сейчас или вы хотите перенести расходы в другой квартал / год? Если проблема в средствах, оптимизируйте сейчас или изучите возможность освобождения оборудования от других приложений, чтобы добавить решение для временной балансировки нагрузки.
Не бойтесь исследовать многочисленные решения. Поставщики, возможно, захотят, чтобы вы купили решение, ориентированное на нагрузку, ориентированное на хранилище SAN, где новый сервер с iSCSI RAID 10 на борту будет работать за 10 процентов стоимости.
Если ваш процессор все еще сильно загружен после оптимизации, вам нужно добавить / заменить оборудование. Если ваш дисковый ввод-вывод является узким местом, и вы не можете обновить технологию хранения, вам необходимо заменить аппаратное обеспечение или добавить сетевое хранилище / подключенное хранилище.
Захват метрик производительности. Оптимизация, улучшение и сбор метрик снова. Продолжайте документировать увеличение / уменьшение производительности, чтобы вы могли включить в отчет отчет о том, сколько вы потратили и какой прирост производительности. Это тот тип возможных историй успеха, которые превращают администраторов в архитекторов, архитекторов в менеджеров проектов и менеджеров высшего звена в высшее руководство, если все сделано правильно.