Перейти к содержимому

Фотография

Тестирование скорости открытия страниц сайта


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 stezz

stezz

    Новый участник

  • Members
  • Pip
  • 17 сообщений


Отправлено 07 февраля 2017 - 10:36

Добрый день!

В тестировании производительности я, скажем прямо, новичок.

Появилась задача протестировать сайт, найти узкие места. Так же надо понять, как будет сайт работать, если зайдет N кол-во пользователей, не очень много, 10-20 человек. Сайт находится на отдельном сервере, куда у меня есть доступ по RDP. Так же есть доступ к сайту через интернет, что само собой разумеется  :smile:

 

Что я делаю:

Записал скрипты для Jmeter, эмулирует работу пользователей с сайтом. Например, создает какую-то сущность.

Добавил csv файл с логинам и паролями, сделал параметризированную авторизацию.

Запускаю скрипт, где 20 человек создает что-то, в графиках (стандартных: View Results in Table, View Results Tree, Aggregate Report) вижу отклик по запросам. Захожу в систему - вижу что все сущности созданы. Для меня это знак, что нагрузочное тестирование успешно. Первый вопрос - так ли это, достаточно ли?

 

Теперь про производительность.

Раньше я как делал - выгружал из отчета все запросы и группировал по операциям. Например, банальная авторизация это несколько запросов. Я их группировал и получал итоговое время выполнения. Но вот нюанс: авторизация в системе выполняется параллельными запросами, а значит просто просуммировать время выполнения всех запросов выдаст неверный результат. Что я стал делать: запускаю тот же скрипт, но в настройках тред группы ставлю, чтобы работало всё бесконечно в цикле. Во время выполнения скрипта открываю chrome - dev tools и выполняю все те же операции, что и скрипт, при этом смотрю общее время отклика на открытие страницы и тп, на все операции, делаю скриншоты всех операций и выдаю за результат

Второй вопрос - корректен ли такой подход, получаю ли я верные результаты?

 

PS я специально расписал поподробней что и как, ибо не знаю всех нюансов. Мне моя работа кажется логичной и правильной, но всё равно какие-то сомнения витают в голове. Может быть всё это можно сделать проще?

 

 


  • 0

#2 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 07 февраля 2017 - 12:22

dev tools надо использовать только как "проверку для себя", а все отчёты должны быть из JMeter

 

например: 

в JMeter пользователь номер20 получил один отклик в 10 секунд, остальные отклики 3 секунды

пользователи 1-19 всегда получали отклики в 3 секунды

запрос используя дев-тулс выдал 3 секунды

 

значит если сделаем репорт из дев-тулс, то упустим тот интересный медленный отклик

 

 

ну и конечно надо мониторить использование памяти, процессора и т.п.


  • 0

#3 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 07 февраля 2017 - 13:18

Возьмите здесь курс "тестирование производительности". Вам сейчас с вашими практическими задачами реально полезно будет.


  • 0

#4 stezz

stezz

    Новый участник

  • Members
  • Pip
  • 17 сообщений


Отправлено 07 февраля 2017 - 15:37

dev tools надо использовать только как "проверку для себя", а все отчёты должны быть из JMeter

 

например: 

в JMeter пользователь номер20 получил один отклик в 10 секунд, остальные отклики 3 секунды

пользователи 1-19 всегда получали отклики в 3 секунды

запрос используя дев-тулс выдал 3 секунды

 

значит если сделаем репорт из дев-тулс, то упустим тот интересный медленный отклик

 

 

ну и конечно надо мониторить использование памяти, процессора и т.п.

Спасибо, но как тогда быть с тем, что часть запросом идет параллельно?

 

 

Возьмите здесь курс "тестирование производительности". Вам сейчас с вашими практическими задачами реально полезно будет.

Записался :-)

Но всё равно хочется тему продолжить.


  • 0

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 07 февраля 2017 - 16:56

"Но вот нюанс: авторизация в системе выполняется параллельными запросами, а значит просто просуммировать время выполнения всех запросов выдаст неверный результат."

Вот тут непонятно. Обычно так:
1. один пользователь выполняет запросы аутентификации последовательно
2. Запросы эти сгруппированы, чтобы получить общее время от одного пользователя
3. Количество потоков выставляется на N пользователей

В результате внутри одного потока у нас последовательные запросы на аутентификацию, а вот сами потоки идут параллельно
  • 0

#6 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 07 февраля 2017 - 17:27

Про одновременные запросы из jmeter есть неплохая статья: https://www.blazemet...ed-sites-jmeter


  • 0

#7 stezz

stezz

    Новый участник

  • Members
  • Pip
  • 17 сообщений


Отправлено 07 февраля 2017 - 17:53

"Но вот нюанс: авторизация в системе выполняется параллельными запросами, а значит просто просуммировать время выполнения всех запросов выдаст неверный результат."

Вот тут непонятно. Обычно так:
1. один пользователь выполняет запросы аутентификации последовательно
2. Запросы эти сгруппированы, чтобы получить общее время от одного пользователя
3. Количество потоков выставляется на N пользователей

В результате внутри одного потока у нас последовательные запросы на аутентификацию, а вот сами потоки идут параллельно

Я не совсем понял. После того, как пользователь вводит логин и пароль, нажимает "Войти". Идут запросы, часть последовательно, часть параллельно (если что, я сейчас про браузер). Получается картинка типа как на "authorization.PNG"

 

Можно как-то в jmeter сгруппировать, чтобы все эти запросы были одной какой-то операцией и работали параллельно, а время считалось в том числе и для всей операции? Чтоб я знал, что под нагрузкой операция выполнилась за сколько-то секунд, что юзер смог авторизовать за столько-то?

Прошу прощения, если пишу не понятно.

 

 

Little_CJIOH, спасибо, почитаю


  • 0

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 07 февраля 2017 - 18:35

Аутентификация происходит одним запросом, скорее всего POST

А остальные запросы - это видимо загрузка первой страницы

Так что надо их отличать и не группировать все в одну кучу
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных