Size: a a a

QA — Load & Performance

2020 April 10

ВС

Вячеслав Смирнов in QA — Load & Performance
Ещё удообно делать фильтры тематические
[[inputs.procstat]]
pattern = "^java.+/my-internal-service/.+$"
user = "service-user"
process_name = "java (my internal service)"
pid_tag = true
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Если такой фильтр не сделать, то в статистике будет просто много java-процессов, без понимания, какой именно это был сервис
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
паттерн составляется с помощью утилиты командной строки
pgrep
например
pgrep -fa "java"
pgrep -fa "^java.+$"
pgrep -fa "^java.+myjar.jar.+$"
...
источник

DS

D S in QA — Load & Performance
благодарю!
источник

М

Матвей in QA — Load & Performance
Здраствуйте, не могли бы вы подсказать - тестирую проект , написанный на laravel - стоит задача организовать нагрузочное тестирование бекенда, подойдет ли для такой задачи vegeta?
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Матвей
Здраствуйте, не могли бы вы подсказать - тестирую проект , написанный на laravel - стоит задача организовать нагрузочное тестирование бекенда, подойдет ли для такой задачи vegeta?
Здравствуйте, если вы только начинаете, то для минимального проекта подойдёт любой инструмент. Особенно, если он вам нравится.

Дальше можно корректировать, сделать стенд большой, тесты сложнее, данные другие, ...
источник

A

Andrii in QA — Load & Performance
Матвей
Здраствуйте, не могли бы вы подсказать - тестирую проект , написанный на laravel - стоит задача организовать нагрузочное тестирование бекенда, подойдет ли для такой задачи vegeta?
Простой ответ - да.
laravel веб фреймворк, vegeta http лоад тестинг тула, все сходится 🙂
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Матвей
Здраствуйте, не могли бы вы подсказать - тестирую проект , написанный на laravel - стоит задача организовать нагрузочное тестирование бекенда, подойдет ли для такой задачи vegeta?
Недавно было обсуждение инструментов. Обсуждали k6.io опираясь на статью

https://k6.io/blog/comparing-best-open-source-load-testing-tools

К статье есть ряд вопросов, касательно точности измерений в ней. Но там есть vegeta.

В статье рекомендуется конкретный инструмент, что понятно из домена. На это не обращайте внимание. Смотрите на критерии по которым сравниваются продукты
источник

М

Матвей in QA — Load & Performance
Спасибо большое
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Всем привет!
Небольшое изменение, эксперимент.

Чтобы было удобнее сохранять общие заметки. В дополнение к
https://qaload.github.io/

Сделал общий доступ к wiki: https://github.com/qaload/qaload.github.io/wiki
Для редактирования нужна только учетная запись Github. Просмотр доступен всем.

И как вариант, чтобы работать из мобильного приложения: сделал ещё Trello-доску https://trello.com/qaload
В Trello нельзя дать всем доступ на редактирование. У всех на просмотр, у участников команды - на редактирование.
Это пока эксперимент
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Fix: доступ к Trello не работает :(
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Коллеги, всем привет, тут мой товарищ интересуется как Билайн, есть у кого опыт работы в этой компании? Положительные, отрицательные отзывы?
источник

IB

Ilja Bulakh in QA — Load & Performance
Можешь тут глянуть @qa_bad_company
источник

ME

Myresearch Edu in QA — Load & Performance
Мне необходимо провести нагрузочное тестирование WCF приложения на Windows 10.

Для нагрузки нужно использовать протокол NET.TCP
В данный момент вариант нагрузки через HTTP не рассматривается.

Я нахожусь на этапе записи скрипта. Мне нужен совет от уважаемых читателей как записать сценарий нагрузки через следующие инструменты

Мои инструменты
1. Visual Studio 2019 Enterprise
2. Loadrunner Vugen 2020 build 610

Главная проблема которая имеется в данный момент.
источник

ME

Myresearch Edu in QA — Load & Performance
VISUAL STUDIO

1. Автоматическая генерация сценария

Я выполнил трассировку WCF запросов и их логирование для нагружаемого WCF приложения.

Настройку трассировки выполнял через SvcConfigEditor который входит в .net SDK

В отчете трассировки я получил сценарий нагрузки в виде WCF вызовов. Отчет можно смотреть утилитой SvcTraceViewer из .net SDK

Теперь записанный отчет WCF трассировки нужно сконвертировать в .net приложение на C# и с помощью него подавать нагрузку.

Я смотрел в интернете, что из отчетов WFC tracing и WCF logging в самом деле можно сгенерировать .net проект и при помощи него проводить нагрузку на WCF приложение.

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

2. Ручное составление сценария

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

В общем нужно создать Web Performance and Load Test Project. Есть примеры на гитхабе проектов по нагрузке WCF приложений. Но пока у меня расплывчатое представление что нужно делать в моем случае.
источник

ME

Myresearch Edu in QA — Load & Performance
LOADRUNNER

В Loadrunner запись сценария для WCF приложения происходит через .net протокол. Он генерируется на языке С#.

1. При записи сценария всегда генерируется неработающий код с ошибками

Может я что-то делаю не так, но после записи скрипта loadrunner-ом у меня всегда получается не работающий проект.

Часто повторяющаяся ошибка в записанном скрипте
#warning:  Code Generation Error
  // Found an undefined object of type XXX.YYY.ZZZ.AAA.Client.ClientTestService. Assigning it the name ClientTestService_1.
  // Suggested solution: adding both this type, in assembly XXX.YYY.ZZZ.AAA, Version=3.15.0.0, Culture=neutral, PublicKeyToken=027095b0bc6bbde7, to the filter and/or any other types that return instances of this one.

Как сделать так, чтобы Loadrunner при записи скрипта .net этих ошибок не делал, либо что делать с такими ошибками?

2. В скрипте генерируется очень много мусорных операций. Одна процедура логина записывается на 20 тыс строк.

У меня подозрение что 90% операций которые записывает Loadrunner в сценарии нагрузки не нужны.

Можно ли сделать так, чтобы Loadrunner при записи сценария фильтровал и не записывал мусорные операции?

Если нельзя отбросить ненужные операции при записи сценария, то что с ними делать?
Придется удалять руками 10 тыс строк кода?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Ilja Bulakh
Можешь тут глянуть @qa_bad_company
Отлично спасибо)
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Myresearch Edu
VISUAL STUDIO

1. Автоматическая генерация сценария

Я выполнил трассировку WCF запросов и их логирование для нагружаемого WCF приложения.

Настройку трассировки выполнял через SvcConfigEditor который входит в .net SDK

В отчете трассировки я получил сценарий нагрузки в виде WCF вызовов. Отчет можно смотреть утилитой SvcTraceViewer из .net SDK

Теперь записанный отчет WCF трассировки нужно сконвертировать в .net приложение на C# и с помощью него подавать нагрузку.

Я смотрел в интернете, что из отчетов WFC tracing и WCF logging в самом деле можно сгенерировать .net проект и при помощи него проводить нагрузку на WCF приложение.

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

2. Ручное составление сценария

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

В общем нужно создать Web Performance and Load Test Project. Есть примеры на гитхабе проектов по нагрузке WCF приложений. Но пока у меня расплывчатое представление что нужно делать в моем случае.
По документации Visual Studio, вручную

Сравнивать глазами, эталонный трафик и трафик от теста

Ещё использовал Fiddler с плагином
https://github.com/waf/WCF-Binary-Message-Inspector

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

ВС

Вячеслав Смирнов in QA — Load & Performance
Myresearch Edu
LOADRUNNER

В Loadrunner запись сценария для WCF приложения происходит через .net протокол. Он генерируется на языке С#.

1. При записи сценария всегда генерируется неработающий код с ошибками

Может я что-то делаю не так, но после записи скрипта loadrunner-ом у меня всегда получается не работающий проект.

Часто повторяющаяся ошибка в записанном скрипте
#warning:  Code Generation Error
  // Found an undefined object of type XXX.YYY.ZZZ.AAA.Client.ClientTestService. Assigning it the name ClientTestService_1.
  // Suggested solution: adding both this type, in assembly XXX.YYY.ZZZ.AAA, Version=3.15.0.0, Culture=neutral, PublicKeyToken=027095b0bc6bbde7, to the filter and/or any other types that return instances of this one.

Как сделать так, чтобы Loadrunner при записи скрипта .net этих ошибок не делал, либо что делать с такими ошибками?

2. В скрипте генерируется очень много мусорных операций. Одна процедура логина записывается на 20 тыс строк.

У меня подозрение что 90% операций которые записывает Loadrunner в сценарии нагрузки не нужны.

Можно ли сделать так, чтобы Loadrunner при записи сценария фильтровал и не записывал мусорные операции?

Если нельзя отбросить ненужные операции при записи сценария, то что с ними делать?
Придется удалять руками 10 тыс строк кода?
LoadRunner незаменим для DCom (.NET Remoting).

Его рекодер для DCom очень хорош

Для WCF проще SvcViewer и ручное составление теста, как в Visual Studio (120 дней), так и в LoadRunner (50 пользователей).
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Или вообще в JMeter, если нужно бесплатно
https://github.com/pflb/wcfLoadTest
источник