|
|
|||||||||||||||||||||||||||||
|
Нагрузочное тестирование как элемент формирования безопасных системИсточник: docplayer
Нагрузочное тестирование как элемент формирования безопасных систем Котов С.Л. Метод нагрузочного тестирования для проверки надежности и безопасности систем 3. несколько рабочих станций моделирования нагрузки, на которых расположены компоненты для имитации деятельности пользователей. На каждой такой станции может быть смоделирована работа до нескольких сотен виртуальных пользователей (VU); Моделирование нагрузки осуществляется путем выполнения тестовых транзакций, каждая из которых включает определенный набор тестов, выполняемых в последовательном или произвольном порядке. При тестировании сложных систем большое значение имеет адекватность моделирования взаимосвязанных процессов обработки информации. Выполнение следующего этапа технологического цикла обработки запроса зависит от результатов предыдущего, т. е. практически образуется цепочка работ, каждая из которых принимает на входе результаты предыдущего этапа обработки и на выходе передает собственные результаты следующему этапу. Группы пользователей или клиентские приложения, взаимодействующие с автоматизированной системой, являются частью общего технологического цикла и их действия являются взаимосвязанными между собой. Для обеспечения достоверного моделирования сложных технологических циклов, инструментальные средства тестирования должны учитывать взаимосвязи работ, преобразуя их в соответствующие этапы выполнения тестовых заданий. Адекватное моделирование работы пользователей в таких системах возможно только при поддержке тестовым инструментарием определенной схемы выполнения тестов конвейерной модели выполнения тестов с асинхронной передачей результатов между этапами выполнения. 1. Масштабируемость нагрузки. Поддержка возможности параллельного запуска систем выполнения тестовых транзакций на большом числе станций испытательного стенда. Каждая станция должна обладать возможностью имитации до 100 виртуальных пользователей. 2. Централизованный сбор статистики. Инструмент должен обладать централизованным компонентом сбора статистики в реальном режиме времени. Средства статистической обработки должны давать возможность строить временные ряды для изучения динамики измерения показателей в течение сеанса тестирования; 3. Централизованное управление. Подготовка к выполнению сеансов, планирование, запуск и остановка сеансов, просмотр результатов все эти процессы должны выполняться из единой точки. Процедуры конфигурирования и управления состоянием исполняющих систем, измерительных мониторов и агентов должны осуществляться в автоматическом режиме. 4. Гибкость моделирования. Инструментальное средство тестирования должно обладать способностью построения реалистичных по составу потоков тестовых запросов. Необходимо иметь возможность независимого исполнения нескольких тестовых транзакций с различными тестовыми смесями, для каждой транзакции должен задаваться свой план выполнения и число имитируемых пользователей. Для моделирования сложных систем, особенно связанных с документооборотом, требуется поддержка конвейерной модели выполнения тестов с асинхронной передачей результатов между этапами выполнения. 5. Развитые средства хранения конфигурации сеансов и результатов тестирования. Конфигурация сеансов тестирования представляет достаточно сложную систему взаимосвязанных параметров, поэтому инструментальное средство должно предоставлять возможности по структурированному хранению конфигурации сеансов. Необходимо иметь возможность многократного запуска каждого сеанса тестирования с сохранением статистических результатов по всем реализациям с целью последующего проведения сравнительного анализа. Наилучшим решением является использование реляционной СУБД для хранения конфигураций и связанных с ними наборов результатов. 6. Наличие средств мониторинга показателей системной статистики. Весьма желательным является наличие инструментов для измерения и записи показателей статистики ядра операционной системы параллельно с измерением и записью показателей производительности. Анализ показателей системной и прикладной статистики, привязанных к единой временной шкале, позволяет более точно определить причину возникновения "узких мест" и несбалансированности в системе. 7. Наличие средств регистрации событий (журнализация). Эти средства требуются для выполнения автоматизированной фиксации нештатных ситуаций и записи сообщений об обнаруженных в ходе тестирования отклонений в поведении испытываемый системы. Практическое применение инструментов для нагрузочного тестирования телекоммуникационных информационных систем Существующая практика применения инструментов нагрузочного тестирования для телекоммуникационных информационных систем предусматривает, как правило, реализацию сеансов тестирования с имитацией параллельной работы необходимого числа пользователей, выполняющих определенные запросы к испытуемой системе в сетевой среде. Общая цель таких сеансов оказать в течение заданного времени определенное воздействие на тестируемую систему в диапазоне от расчетной нагрузки до пиковой, моделируя при этом как допустимые (штатные), так и дестабилизирующие действия пользователей. Особенный практический интерес представляет моделирование с уровнем нагрузки, максимально приближенным к предельному, что позволяет выявить возможные проблемы надежности систем до того, как они станут реальной угрозой информационной безопасности. Практически любые действия пользователей в пиковых режимах нагрузки оказывают значительное дестабилизирующее воздействие, поэтому устойчивость системы в этих условиях является чрезвычайно важным компонентом общей надежности. Существует три основных практических сценария применения инструментов для нагрузочного тестирования, ориентированные именно на анализ надежности и безопасности систем:
Моделирование DOS-атак ставит своей целью проверку устойчивости системы к преднамеренным дестабилизирующим воздействиям. Распределенные инструментальные средства нагрузочного тестирования как нельзя лучше подходят для организации моделирования таких атак. DOS-атака может быть организована на любом уровне системы, от уровня протокола TCP до прикладного уровня сервисов. Благодаря гибкости инструментальных средств тестирования возможна реализация алгоритмов любых атак и проведение комплексных испытаний с одновременным воздействием по всем уязвимым местам системы. Целью DOS-атак является исчерпание ресурсов серверного приложения или системы в целом, что вызовет потерю работоспособности. Устойчивое приложение должно теми или иными способами блокировать нежелательные запросы и не допускать опасного уровня исчерпания ресурсов. Достаточно уязвимыми для таких атак являются приложения распределенных вычислений, которые ассоциируют с каждым открывающимся соединением определенные ресурсы системы, такие как области памяти, потоки, порты и т.д. Кроме того, выполнение даже относительно небольшого количества ресурсоемких запросов может существенно дестабилизировать работу системы. Благодаря свойству масштабируемости инструментальных средств достаточно легко организовать массированную тестовую атаку с одновременным участием тысяч пользователей, используя всего станций моделирования нагрузки. Целесообразно выполнять проведение атаки параллельно с моделированием нормальной работы пользователей, чтобы оценить степень влияния дестабилизирующих воздействий на нормальный ход процесса обработки. Моделирование нормальной деятельности пользователей в режимах пиковой нагрузки предусматривает высокоинтенсивное выполнение реальных транзакций от имени имитируемых пользователей. Тестирование преследует две основные цели определение нагрузочной способности системы и обнаружение ошибок. Режим работы системы, при котором загружено более 80% системных ресурсов принципиальным образом отличается от обычного режима работы. В этих условиях вероятность обнаружения ошибок, которые в обычных условиях не проявляют себя, существенно повышается. К ошибкам, наиболее часто проявляющимся в условиях высокоинтенсивной нагрузки, относятся:
Каждая из этих ошибок способна привести к внезапной остановке системы, сопровождающейся потерей обрабатываемых данных. Для обнаружения признаков возможных ошибок наряду с моделированием нагрузки используется расширенный мониторинг системы, включая наблюдение за характеристиками функционирования ядра операционной системы, сетевыми протоколами, параметрами СУБД, этапами прикладных процессов обработки. Применение инструментов нагрузочного тестирования, обладающих способностью одновременного запуска различных по составу последовательных тестов, позволяют гибко моделировать характерные ситуации, выделяя проблемные "узкие места". Определение предельно допустимого уровня нагрузки на систему в конкретном окружении - достаточно распространенная практика получения объективных сведений о характеристиках системы. С помощью тестового инструментария выполняется серия реализации одного и того же сеанса тестирования с определенным шагом увеличения интенсивности нагрузки от реализации к реализации. Увеличение интенсивности обычно заключается в добавлении на каждом шаге определенного числа новых пользователей. При фиксированных значениях показателей времени отклика становится возможным определить предельно допустимое число пользователей, которые при заданной частоте обращений могут получить гарантированный уровень качества обслуживания.
Файлы для загрузки
|
|