Планирование емкости Определите, может ли система справиться с нагрузкой

StackOverflow https://stackoverflow.com/questions/3653655

Вопрос

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

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

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

Это было полезно?

Решение

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

  • Занимает ли новое использование CPU UI?
  • Это займет больше времени для рендера и передачи страницы? Оцените увеличение параллелизма.
  • Больше всего ли трафика означает больше данных? Если да, как эта производительность влияния?
  • Есть ли какие-либо узкие места, которые могут привести к неожиданному увеличению параллелизма?
  • Как увеличивается повышенное использование памяти памяти параллелизма?
  • Как кэш файловой системы пользования памятью на использование памяти, кэш базы данных, кэш JPA и т. Д.
  • Выступление IO связано? И сколько доступна запасная емкость?
  • Это производительность CPU связана? И сколько доступна запасная емкость?
  • Сколько запасной емкости в памяти у вас есть?

Другие советы

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

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

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

  • CPU и использование памяти

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top