Выбрать страницу

Тестирование нагрузки очень важно для оценки производительности веб-сайта, веб-приложений и API во время обычных, тяжелых или даже внезапных скачков трафика. Эта должность поможет понять тестирование нагрузки с помощью контейнеров Docker с инструментами непрерывной интеграции (CI). Подход Docker к загрузке тестовых приложений позволяет легко делиться тестами между пользователями и реплицировать тестовую среду с помощью контейнеров Docker. Мы кратко объясним, что такое Docker, и используем контейнеры и инструменты Docker, используемые для загрузки тестовых приложений через CI.

 

Что такое Докер?

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

Кроме того, Docker является популярным инструментом, который делает его очень легко строить, развертывать и запускать приложения с помощью контейнеров. Из-за этого наше приложение может работать в любом месте с одинаковым поведением. И главное, Docker с открытым исходным кодом.

 

Что такое контейнер докера?

Контейнер Docker — это легкий, автономный, выируемый пакет программного обеспечения, который включает в себя все, что нужно приложению: кодовую базу, системные библиотеки, системные инструменты и настройки. Контейнер завершает код и его зависимости вместе, что помогает приложению быстро и надежно работать из одной среды в другую.

 

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

 

Ключевые особенности докера

  • Легко масштабируемый. Благодаря легким контейнерам, контейнеры докеров могут вращаться в считанные секунды и могут легко масштабироваться.
  • Повышает производительность. Это облегчает технические накладные расходы для разработки приложений, настройки среды. Кроме того, это помогает выполнять приложение в изолированной среде и сокращает использование ресурсов.
  • Изоляция приложения. Каждое приложение работает независимо друг от друга и запускает приложения в изоляции.
  • Снижение затрат на инфраструктуру и техническое обслуживание. Это помогает поддерживать существующие платформы, которые будут перемещены в Docker легко, который работает в автоматическом порядке, следовательно, снижение расходов на техническое обслуживание.
  • Рой. Swarm является инструментом кластеризации и планирования контейнеров Docker. Это позволяет пользователю управлять несколькими контейнерами, развернутыми на нескольких компьютерах-хозяинах.
  • Маршрутная сетка. Это помогает в способе маршрутизации и балансировки трафика в контейнеры.

 

Преимущества докера

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

 

Докер Внутри CI Инструменты

Самое большое преимущество с Docker мы не склонны беспокоиться о конфликтах зависимости. Например, если мы хотим построить один проект с Golang 1.11 и один проект с версией Golang 1.12, Docker может помочь отделить это и создать изображения для обоих и даже запустить оба параллельно на разных контейнерах без конфликтов, что было бы невозможно сделать на сервере. Изображения, приготовленные с различными версиями, могут быть сохранены для регистрации и могут быть использованы как часть инструментов непрерывной интеграции, таких как Jenkins.

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

 

Ограничения использования Docker для тестов производительности

Хотя Docker имеет много преимуществ, он имеет несколько ограничений при выполнении теста производительности:

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

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

 

Интеграция тестирования нагрузки LoadView с Дженкинсом

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

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

Мы должны проверить, может ли наше приложение обрабатывать такой трафик. Таким образом, с каждым изменением или новой разработкой функций, мы можем запускать нагрузочных или стресс-тестов на приложение через наш плагин LoadView, который может быть интегрирован с Дженкинс.

Теперь мы посмотрим на шаги, связанные с запуском нагрузочных тестов через интеграцию Jenkins с LoadView:

  1. Прежде чем мы начнем использовать сценарий тестирования нагрузки LoadView для тестирования сборки в Jenkins, нам необходимо иметь сценарий тестирования на LoadView, где мы можем добавить список API, которые должны быть проверены на стресс.
  2. Чтобы начать интеграцию с Jenkins, нам нужен уникальный идентификатор LoadView, который можно использовать в качестве токена LoadView Security.
  3. В LoadView создайте интеграционный UID в рамках интеграции > учетной записи > Добавить интеграционную > нагрузку тестирование веб-API. Копировать эту интеграцию UID.

UID-интерфейсы интеграции docker

 

  1. Чтобы установить стресс-тест, нам потребуется идентификатор тестового сценария. Идентификатор сценария можно найти на странице настройки сценария, как показано ниже.

Сценарий тестирования нагрузки докера

 

Настройка LoadView Плагин в Дженкинс

  1. Войдите в свой аккаунт Дженкинса.
  2. В Jenkins перейдите на учетные > данные, добавляйте > токен безопасности LoadView (UID). Настройка и проверка учетных данных:
  • Вид: Токен безопасности LoadView (UID).
  • Область применения: Установить как глобальный.
  • ID: Оставьте по умолчанию или укажите уникальный идентификатор.
  • Описание/ см. : Введите уникальное описание, чтобы установить его отдельно от других тестов.
  • UID: Введите UID со своей учетной записи LoadView. После добавления выберите Validate UID, чтобы обеспечить доступ Jenkins к API LoadView.

3. Далее выберите работу и нажмите Настройка

Докер Дженкинс

 

  1. Перейти к > созданию пост-сборки > Действия Добавить после сборки > действий LoadView-Run сценарий тестирования нагрузки. Укажите настройки стресс-теста LoadView для сборки:
  • Учетные данные: Выберите ключ API с помощью описания.
  • Идентификатор сценария:Вставьте идентификатор тестового сценария, который вы хотите использовать в сборке. Копировать идентификатор со страницы сценария в LoadView.
  • Порог ошибки: Здесь вы можете установить порог ошибки, который является приемлемым для вашего конкретного сценария. Если процент переступит этот порог, он будет помечен как сбой в Jenkins.
  • Среднее время:Укажите средний срок ответа во время теста. Как и порог ошибки, если лимит превышен, он будет записан как неудачный в Jenkins.
  1. Нажмите Сохранить.

Просмотр результатов тестирования:

При запуске теста статус отображается в режиме реального времени в выходе консоли Jenkins.

Выход консоли Дженкинса

 

Результаты работы Дженкинса

 

Заверните: Тестирование нагрузки приложения Docker

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

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

Попробуйте платформу LoadView сегодня и получите $20 в кредитах тестирования нагрузки для того чтобы получить начатыми.