Назад | Перейти на главную страницу

Имеет ли смысл добавлять дополнительные узлы кластера на недостаточно загруженный сервер?

Допустим, я запускаю кластер с двумя серверными узлами Weblogic на двух серверах (Solaris, 4 процессора, 64 ГБ ОЗУ каждый). Размер кучи на этих узлах максимален, поэтому каждый сервер большую часть времени работает с 40+ ГБ свободной памяти, и каждый сервер обычно в среднем использует 30% ЦП.

Предполагая, что приложение правильно масштабируется по горизонтали, имеет ли смысл добавлять дополнительные узлы сервера приложений на том же оборудовании, чтобы воспользоваться преимуществами недостаточно используемых ресурсов? Ограничение кучи JVM в 2 ГБ действительно ограничивает максимальное количество запросов, которые может обслуживать один узел, верно?

Я не совсем знаком с Solaris, но рискну предположить, что это 32-битные машины? Я считаю, что это единственное, что ограничивает JVM размером кучи 2 ГБ. Если вы обновили их до 64-битной ОС, у вас не было бы этого ограничения.

В качестве альтернативы (и я не уверен, что это возможно даже с Weblogic) вы можете запустить несколько экземпляров этого приложения на каждом из ваших серверов. Это позволит каждому экземпляру Weblogic использовать свои 2 ГБ памяти. При таком подходе вы, вероятно, обнаружите, что узким местом масштабирования будет ЦП, а не ОЗУ.

Да, и отвечая прямо на ваш вопрос, нет, я думаю, что было бы глупо добавлять еще один узел кластера на этом этапе. Ваши существующие узлы почти не используются. Прежде чем рассматривать вопрос о покупке дополнительного оборудования, выясните, как обойти ограничение в 2 ГБ и лучше использовать имеющееся оборудование.