Фейсбук Твиттер
alltechbites.com

Тестирование масштабируемости: 7 шагов к успеху

Опубликовано {{рosted}} {{аuthor}}

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

Уместный образцовый случай этого происходит от значительной компании Blue Chip, которая недавно передала разработку ориентировочной платформы с высокой технологией. Хотя разработка отстала от графика, это считается приемлемым. Машина постепенно проходила функциональные компоненты индивидуального приемлемого тестирования, и, наконец, оказалась так, как если бы дата развертывания могла быть установлена. Но поставщик начал тестирование нагрузки и тестирование масштабируемости. Затем последовало расширенное и дорогостоящее количество архитектурных изменений и изменений в требованиях машины. Поставщик героически боролся за предоставление удовлетворительной системы, пока, наконец, проект не стал навалком.

Это не изолированный случай. Это фольклор изобилует подобными сказками. От систем отправки скорой помощи до веб-сайтов для электронного представления налоговых заявлений, системы терпят неудачу, поскольку они масштабируют и испытывают пиковые требования. Все эти проекты, по -видимому, никогда не выявили и упорядочили основные риски, с которыми они столкнулись. Это может быть фундаментальной стадией тестирования на основе риска, и в равной степени применяется к тестированию масштабируемости или тестированию нагрузки, поскольку оно делает функциональность тестирования или тестирование непрерывности бизнеса. Без оценки риска они не признали, что масштабирование было между самыми большими рисками, намного больше, чтобы обеспечить всю функциональность

Недавние тенденции в отношении сервисной архитектуры (SOA) пытаются решить проблему масштабируемости, но дополнительно вводят новые проблемы. Включение извне предоставленных услуг в ваше текущее решение подразумевает, что ваша возможность масштабирования сейчас зависит от этой внешней системы, работающей при нагрузке. Убедиться, что это может быть требовательной задачей, и, к сожалению, тестирование деформации и тестирование стресса здесь часто упускаются из виду.

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

  • ИССЛЕДОВАНИЕ И ОФИЦИИ МОЖЕСТВЕННЫЕ МОЛОМА И ТОЛЬКОМ ТОРГОВЫХ ТОМ. Некоторые из этих фигур могут быть открытиями глаз и помочь пользователям бизнес -предприятия реализовать весь масштаб машины. Одно это может привести к переоценке приоритета нескольких функций.
  • Определите, как функции могут быть представлены пользователям и машине, структурированной для облегчения масштабирования машины. Обычно не пытайтесь иметь точно такую ​​же функциональность, что и для отдельного пользовательского настольного решения, предлагает соответствующую масштабируемую альтернативу.
  • Распознавать внутреннюю область процесса разработки - это нагрузочное тестирование в репрезентативной шкале при каждом постепенном выпуске программного обеспечения. Это постоянное тестирование, концентрируясь на наибольшем риске для проекта: возможность работать в полной масштабе.
  • Убедитесь, что нагрузочное тестирование является адекватным как по объему, так и в строгости. Нагрузочное тестирование связано не только с измерением времени отклика с помощью тестирования производительности. Программа тестирования деформации должна включать в себя другие стили тестирования нагрузки, включая тестирование на стресс, тестирование на надежность и тестирование на выносливость.
  • Не забывайте, что сбои произойдут. Крупномасштабные системы обычно включают в себя кластеры сервера с поведением с провалом. Тестирование сбоя, провальное тестирование и тестирование на восстановление, завершенные в репрезентативных системах масштаба, работающих под нагрузкой, должны быть включены.
  • Не забывайте, что может произойти катастрофическая сбой. Для крупномасштабных задач тестирование на стихийное бедствие и тестирование на аварийное восстановление должно быть завершено в репрезентативных масштабах и нагрузках. Эти действия можно рассматривать как технические уровни тестирования непрерывности бизнеса.
  • Распознайте внешние службы, если вы их используете. То, что ваше местоположение использует подход SOA, и поэтому влияют внешние службы, вы должны быть уверены, что пропускная способность и время выполнения выполнения этих услуг будут оставаться приемлемыми, поскольку масштабы тела и его собственные требования будут увеличиваться. Хорошая архитектура системы включает в себя изящную реакцию и операцию с падением, если внешнее поведение обслуживания ухудшается или не удалось.
  • .