Нагрузочное тестирование серверов Jmeter и Bitbucket

Я новичок в Jmeter. У меня есть локальный сервер Bitbucket. Иногда, когда план Bamboo запускает одновременные операции клонирования git, обнаруживается, что серверы Bitbucket работают медленно / не отвечают, и мне приходится перезапускать службу. Я хочу смоделировать это поведение, запустив тесты jmeter на другом локально созданном сервере Bitbucket.

Я хотел бы загрузить тестовый сценарий ниже с Jmeter и сервером bitbucket.

  • Загрузите тестовые операции git clone и git update для сервера bitbucket через Jmeter.
  • Первоначально 20 пользователей будут делать запросы клонирования, а 20 - запросы обновления git на сервер Bitbucket.
  • Несколько репозиториев git и несколько пользователей, настроенных в jmeter для тестирования.

Поскольку это не операции браузера (операция git clone), я не уверен, как извлечь точный URL-адрес, который попадает на сервер Bitbucket.

Спасибо


person Pushpraj    schedule 28.04.2017    source источник
comment
Почему вы хотите протестировать BitBucket? Вы авторизованные тестеры для нагрузочного тестирования BitBucket? Для изучения JMeter доступно множество демонстрационных сайтов. Пожалуйста, используйте их.   -  person NaveenKumar Namachivayam    schedule 28.04.2017
comment
что ты пробовал? чего вы пытаетесь достичь? обновите свой вопрос с помощью минимального, полного и поддающегося проверке примера   -  person Yuri G.    schedule 30.04.2017
comment
@NaveenKumarNamachivayam Я добавил дополнительную информацию к вопросу. Я проверил много демонстрационных сайтов, но не уверен, как можно настроить запросы, не относящиеся к браузеру, через Jmeter.   -  person Pushpraj    schedule 30.04.2017
comment
Вам необходимо создать HTTP-запрос и использовать API BitBucket. Перейдите по этой ссылке developer.atlassian. com / bitbucket / server / docs / latest / how-tos / Сначала вам нужно пройти аутентификацию, а затем отправить вызовы GET / POST для выполнения ваших операций. Убедитесь, что вы добавляете Content-Type как application/json к своим HTTP-запросам.   -  person NaveenKumar Namachivayam    schedule 30.04.2017


Ответы (1)


Я бы рекомендовал использовать клиентскую библиотеку Git Java, то есть JGit, чтобы имитировать необходимые операции с помощью JMeter. Просто добавьте JGit и зависимости в путь к классам JMeter, перезапустите JMeter, и вы должны уметь использовать методы API JGit из Элементы тестирования JSR223:

JMeter JSR223 Git

Использованная литература:

person Dmitri T    schedule 01.05.2017
comment
Большое спасибо. Первоначально он работает для одной операции клонирования git. Я хочу расширить его, чтобы передать список из 20 различных репозиториев и 20 каталогов localWorkingCopy в отличный скрипт. Я читаю документы для этого. Если вы знаете простой способ справиться с этим, дайте мне знать. - person Pushpraj; 02.05.2017
comment
Спасибо Дмитрий. Я смог параметризовать его и успешно выполнил 20 операций клонирования git. Следующее, что я хочу проверить, это 20 одновременных коммитов и push. Не могли бы вы подсказать, как это можно сделать с помощью Jgit и groovy? Или нужно использовать другой подход для этой операции? - person Pushpraj; 02.05.2017
comment
Почему мы не можем напрямую использовать API BitBucket для выполнения операций git? Есть ли еще преимущества использования JGit по сравнению с API BB? - person NaveenKumar Namachivayam; 03.05.2017
comment
@NaveenKumarNamachivayam Потому что, мой дорогой, хорошо проведенный нагрузочный тест должен имитировать реальное использование тестируемого приложения, то есть сервера битбакета. Я считаю, что 99% запросов будут основаны на SSH, а не на HTTP. Кстати, это не первый раз, когда я вижу от вас плохой ответ или рекомендацию, так что не могли бы вы подумать о том, чтобы прекратить эту форму деятельности? - person Dmitri T; 03.05.2017
comment
Извинения. Я имел в виду вежливо, а не плохо. Я знаю, что ты специалист. Я здесь, чтобы учиться, как и все, пожалуйста, помогите мне, если я сделал что-то не так. Спасибо за разъяснения. - person NaveenKumar Namachivayam; 03.05.2017
comment
@DmitriT, пожалуйста, прокомментируйте или направьте, если мой ответ, рекомендацию или ответ можно улучшить. Это поможет мне и другим. Спасибо еще раз. - person NaveenKumar Namachivayam; 03.05.2017
comment
Привет, @DmitriT, не могли бы вы предложить / совет, как можно достичь одновременной операции git commit и git push для нескольких репозиториев? Код клонирования, который вы упомянули в ответе выше, дал мне отличное направление. Спасибо - person Pushpraj; 03.05.2017