Балансировка нагрузки в Tomcat в 64-битной ОС - PullRequest
0 голосов
/ 10 апреля 2011

У меня есть веб-приложение и требуется балансировка нагрузки в Tomcat.Моя аппаратная спецификация состоит из 5 единиц 32 ГБ ОЗУ четырехъядерных процессоров 64-битной ОС.

Если у меня будет

  1. 5 Tomcats, по одному на каждую машину с -Xmx около 30 ГБ и вышеmaxThreads
  2. Большее количество Tomcats с меньшим -Xmx, например, 25 Tomcats, 5 на каждой машине с -Xmx около 6 ГБ и значением по умолчанию maxThreads

У меня есть балансировщик нагрузки с использованием mod_proxy_balancer перед Tomcats,Предположим, что на уровне базы данных нет горлышка бутылки, чтобы упростить ситуацию.

Дайте мне знать, если вам нужна дополнительная информация.

Спасибо.

1 Ответ

0 голосов
/ 10 апреля 2011

Я не вижу пользы в том, чтобы иметь несколько Tomcats на машину, если только они не обслуживали разные вещи, и вы не хотели убивать их независимо.Или, если вы ожидаете сбои и хотите убедиться, что по крайней мере некоторые экземпляры на машине изолированы.Кроме этого, нет никакой очевидной выгоды.Конечно, не с точки зрения производительности, о чем я думаю, вы спрашиваете.

У нескольких Tomcats есть большой недостаток: каждый имеет фиксированный объем памяти.Если вашему приложению понадобится большее количество в течение короткого периода времени, вы получите ошибки «Недостаточно памяти».Существует большая погрешность, когда у вас есть одно большое пространство памяти.

Кроме того, вы обнаружите, что мониторинг - это большая проблема с большим количеством экземпляров.

Если у вас естьнесколько Tomcats, то все они должны работать на разных портах, или вам нужно что-то перед ними на каждой машине.В любом случае это приводит к ненужной сложности.

Я голосую за одного Tomcat на машину.

...