Планирование емкости Определите, может ли система справиться с нагрузкой
-
01-10-2019 - |
Вопрос
Позвольте сказать, что веб-сайт электронной коммерции на базе Java EE выполняет хорошо, давая ожидаемое время отклика и пропускной способности. Веб-сайт проходит крупные изменения пользовательских интерфейсов, и ожидается, что принесет 3 раза больше трафика.
Как узнать, можно ли обрабатывать проецируемый веб-трафик существующей средой?
Есть ли способ найти его с использованием некоторой эмпирической формулы без фактического нагрузки тестирования системы, если у меня есть использование системы (процессор, использование памяти), пропускная способность, время отклика существующей системы. (Цель состоит в том, чтобы определить, можно ли встретить SLAS на самом этапе проектирования)
Решение
Нет, нет никакой формулы для этого, есть слишком много взаимодействия факторов для этого. Единственный способ получить реалистичные числа - это эмпирические тесты. Если вы не можете этого сделать, вы только вариант - отправиться на переустройство в оборудовании и выполнить образование догадаться, что пошел бы что-то подобное:
- Занимает ли новое использование CPU UI?
- Это займет больше времени для рендера и передачи страницы? Оцените увеличение параллелизма.
- Больше всего ли трафика означает больше данных? Если да, как эта производительность влияния?
- Есть ли какие-либо узкие места, которые могут привести к неожиданному увеличению параллелизма?
- Как увеличивается повышенное использование памяти памяти параллелизма?
- Как кэш файловой системы пользования памятью на использование памяти, кэш базы данных, кэш JPA и т. Д.
- Выступление IO связано? И сколько доступна запасная емкость?
- Это производительность CPU связана? И сколько доступна запасная емкость?
- Сколько запасной емкости в памяти у вас есть?
Другие советы
Я частично не согласен с предыдущим ответом. Наверняка любые планирование емкости включает создание модели с набором (потенциально опасными) предположениями.
Тем не менее, имея хорошую историческую перспективу:
транзакционная нагрузка (например, веб-хиты на журнала Apache)
CPU и использование памяти
Анализ производительности нагрузки может быть построен для определения «Сервисного спроса» (грубо говоря, объем ресурсов, используемых для обработки единого запроса) через аналитические статистические методы. То же самое относится и тот же параметр затем подается в модели сети очередей, чтобы оценить ожидаемое время и пропускную способность отклика (поведение которого может стать очень нелинейным на высоком уровне насыщенности ресурсов).
Несмотря на то, что только что сказали: - это не простая формула
Вам необходимо предположить, что новый эффект пользовательского интерфейса - это 3x Генерация нагрузки и ничего больше (одинаковый спрос на обслуживание для запроса, та же эффективность)
Вы рискуете испытывать проблемы с проблемами не моделированных возможных узких мест (например, насыщенные соединительные бассейны, пропускной способности сети, ...), которая является общей проблемой планирования емкости.
Тестирование - единственный безопасный вариант, к сожалению, слишком часто вариант, который недоступен.