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

Масштабируемость Tomcat - сколько серверов

Я пытаюсь определить размер кластера Tomcat. Ключевыми факторами, скорее всего, будут:

  1. Размер кластерного кеша в памяти, который мы решили использовать. Так, например, если мы хотим поддерживать кеш-память объемом 100 ГБ, нам может потребоваться 50 экземпляров (при максимальном размере кучи 2 ГБ), возможно, на 5 серверах (при условии 24 ГБ ОЗУ).
  2. Задержка запроса относительно некоторой заранее определенной цели.
  3. ЦП.

Учитывая последнее, при нагрузочном тестировании мы отслеживаем вершину.

Для сервера с 2 процессорами x 8 ядер мы видим, например:

top - 15:49:34 up 99 days,  3:00,  5 users,  load average: 1.51, 1.16, 1.04
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.5%us,  0.1%sy,  0.0%ni, 98.4%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:  24551264k total,  6872016k used, 17679248k free,   702612k buffers
Swap: 10731412k total,        0k used, 10731412k free,  4487096k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18227 tomcat    18   0 1751m 857m  11m S 26.0  3.6   3:15.96 java

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

Спасибо.

Процесс% CPU показывает, сколько процесс использует на ядре, на котором он работает. Остальные заголовки ЦП предназначены для всех ЦП / ядер. Это не простой ответ, поскольку масштабирование tomcat может быть простым, но на самом деле это вопрос приложений, которые будут работать внутри tomcat, которые будут определять масштабирование. Некоторые приложения используют больше ЦП, чем другие, а некоторые используют больше памяти или сетевого ввода-вывода, чем другие. Если у вас нет показателей производительности и статистики использования приложений, которые будут работать, это сценарий ожидания и масштабирования по мере необходимости.