Планирование мощности определяет, сможет ли система справиться с нагрузкой. - PullRequest
2 голосов
/ 06 сентября 2010

Допустим, веб-сайт электронной коммерции на основе Java EE работает хорошо, обеспечивая ожидаемое время отклика и пропускную способность. Веб-сайт претерпевает значительные изменения в пользовательском интерфейсе, и ожидается, что он принесет в 3 раза больше трафика.

Как узнать, может ли проецируемый веб-трафик обрабатываться существующей средой?

Есть ли способ выяснить это с помощью некоторой эмпирической формулы без фактического нагрузочного тестирования системы, если у меня есть загрузка системы (ЦП, использование памяти), пропускная способность, время отклика существующей системы. (Цель состоит в том, чтобы определить, могут ли SLA быть выполнены на самой стадии проектирования)

Ответы [ 2 ]

0 голосов
/ 20 марта 2011

Я частично не согласен с предыдущим ответом.Наверняка любое планирование мощностей включает создание модели с набором (потенциально опасных) допущений.

Тем не менее, имея хорошую историческую перспективу:

  • транзакционная нагрузка(например, веб-хиты в журналах Apache)

  • Использование ЦП и памяти

Анализ нагрузки и производительности можно построить для определения «спроса на услуги»(грубо говоря, объем ресурсов, использованных для обработки одного запроса) с помощью аналитических статистических методов.Затем этот же параметр может быть введен в модели сети массового обслуживания для оценки ожидаемого времени отклика и пропускной способности (поведение которой может стать весьма нелинейным при высоких уровнях насыщения ресурса).

Несмотря на то, что только что сказано: - это нелегкоФормула

  • Вы должны предположить, что эффект нового пользовательского интерфейса - 3-кратное генерирование нагрузки и ничего больше (тот же спрос на обслуживание для запроса, такая же эффективность)

  • вы рискуете столкнуться с проблемами с немоделируемыми возможными узкими местами (например, насыщенные пулы соединений, пропускная способность сети, ...), что является общей проблемой планирования емкости.

Тестирование является единственным безопасным вариантом, к сожалению, слишком часто этот вариант недоступен.

0 голосов
/ 18 октября 2010

Нет, формулы для этого нет, просто слишком много взаимозависимых факторов для этого. Единственный способ получить реалистичные числа - это эмпирические тесты. Если вы не можете сделать это, вы можете выбрать избыточные аппаратные средства и сделать обоснованное предположение, что это будет выглядеть примерно так:

  • Влияет ли новый интерфейс на использование процессора?
  • Требуется ли больше времени для рендеринга и переноса страницы? Оцените увеличение параллелизма.
  • Значит ли больше трафика также больше данных? Если да, то как это влияет на производительность?
  • Существуют ли какие-либо узкие места, которые могут привести к неожиданному увеличению параллелизма?
  • Как увеличение параллелизма влияет на использование памяти?
  • Как использование памяти влияет на кэш файловой системы, кэш базы данных, кэш JPA и т. Д.
  • Связан ли производительность ввода-вывода? А сколько свободных мощностей доступно?
  • Производительность процессора ограничена? А сколько свободных мощностей доступно?
  • Сколько у вас свободного места в памяти?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...