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

Фотография

[Опрос] Инструмент для нагрузочного тестирования

performance testing нагрузочное тестирование инструменты load testing test-engine опрос

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

#21 Spock

Spock

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

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

Отправлено 09 ноября 2016 - 12:06

у них инструмент своей разработки, на питоне


  • 0

#22 Сергей

Сергей

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

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 09 ноября 2016 - 12:46

яндекс.танк на питоне

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


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#23 Spock

Spock

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

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

Отправлено 09 ноября 2016 - 12:51

танк, насколько я понимаю - это платформа для нагрузочного тестирования, с аналитикой

 

к ней подключаются генераторы нагрузки - например, phantom, JMeter и другие


  • 0

#24 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 09 ноября 2016 - 15:12

яндекс.танк на питоне

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

Я почему-то подумал, что не очень прилично будет так неприкрыто рекламить свой продукт. Хотя с другой стороны, это опенсорс. Да, речь о Яндекс.Танке.


  • 0

#25 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 09 ноября 2016 - 15:19

 

Для тех кто в танке: Если вылезти из танка и оглянутся, то вы как раз и увидите тот самый неназванный инструмент. Да-да, Яндекс.Танк.

Алексей, а это собственный интерфейс поверх графита или какая-нибудь графана затюненая?

 

У нас свой интерфейс на джанге, бэкэнд -- Кликхаус. Графит такое точно не потянет (я делал плагин для заливки в графит, там таймлайны непрерывные, т.е. пока вы не тестите -- там нули будут). Еще был вариант InfluxDB, но кликхаус в итоге подошел намного лучше.


  • 0

#26 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 09 ноября 2016 - 15:30

 

 

В этом, наверное, и суть - иметь инструмент, с которым можно было бы быстро и удобно работать.

У нас, например, отдел тестирования порядка 20 человек. И не всегда в нужный момент можно задействовать тех специалистов, которые являются продвинутыми в нагрузочном тестировании. Есть естественное желание, снизить порог входа в данную тему.

Это потенциально даст несколько различных возможностей и снизить некоторые риски при управлении проектами.

Другой вопрос, что утопичная идея должна выродиться в правильную реализацию. Для чего, собственно, и требуется помощь других профессионалов (со взглядом со стороны).

 

Самый удобный интерфейс для создания сценариев -- у Лоад Раннера. Нажал на запись, потыкал -- пожалуйста, сценарий. Проблема у них в том, что все остальное из 90-х, а в сценариях используется C (не соответствующий общепринятому стандарту) и Java (тоже с расхождениями со стандартом). Сложно настраивать схемы нагрузки, мониторинг, итд. Сложно с результатами работать. И главное, сторонние тулзы нельзя использовать, потому что в формате выходных данных нетривиально разобраться.

 

Отсюда две идеи:

-- либо научиться заливать данные ЛП в overload

-- либо научиться "записывать" сценарии на питоне (или lua, или javascript)

 

Танк модульный, сценарии сможет исполнять -- сейчас уже можно на питоне (мы так, кстати, в мобильники стреляем), есть идея прикрутить еще lua или js.

 

Кстати говоря, у нас отдел тестирования -- 15 чел на весь Яндекс. Но большую часть тестов гоняют разработчики и админы, т.е. порог входа у нас очень низкий. У нас есть сервис для стрельб -- заходишь, поля в формочке заполняешь, нажимаешь "пострелять".

 

Еще есть очень много автоматизированных (полностью) стрельб, которые гоняются на каждый релиз. Сами, без участия людей. Задача наших нагрузочников, чаще всего, не "потестировать", а "сделать автоматическое тестирование".


  • 0

#27 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 09 ноября 2016 - 15:39

танк, насколько я понимаю - это платформа для нагрузочного тестирования, с аналитикой

 

к ней подключаются генераторы нагрузки - например, phantom, JMeter и другие

 

Все верно.

 

phantom -- C++, очень быстрая стрелялка, до 100 тысяч запросов в секунду, но можно стрелять только заранее приготовленными логами, нельзя генерить запросы прямо в процессе стрельбы

JMeter -- вы и так знаете +)

BFG -- стрельба сценариями на питоне

Pandora -- экспериментальная пушка на Golang, которая умеет SPDY и которую хочется научить стрелять lua/js-сценариями


  • 0

#28 Little_CJIOH

Little_CJIOH

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

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


Отправлено 09 ноября 2016 - 15:40

Кстати говоря, у нас отдел тестирования -- 15 чел на весь Яндекс.


Агаааа... Попался!!!
1) "Карты" просчитывая маршрут на общественном транспорте указывают время без учета пробок. Уже, наверное, год как.
2) "Транспорт" регулярно миксует координаты этого транспорта в итоге на экране трамвай едет боком по улице на которой и рельсов то нет, а потом волшебным образои превращается в местный автобус.
3) "Маркет" в результатах поиска показывает товар, которого при ближайшем рассмотрении нет. Обнаружено недавно на редких ноутах, но баг похоже очень старый, регулярно в списке отсортированном по ценам не вижу нижней цены из поисковой выдачи.
4) "Погода" на мобилке требовала сложного танца с бубном чтоб перестать показывать позавчерашнюю погоду и показать уже сегодняшнюю, хотя она недавно сильно поменялась и вроде баг ушел.
  • 0

#29 Spock

Spock

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

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

Отправлено 09 ноября 2016 - 16:06

 

 

Агаааа... Попался!!!

ну не надо тут бить людей... надо тикеты создавать лучше ;)


  • 0

#30 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 09 ноября 2016 - 16:08

 

Кстати говоря, у нас отдел тестирования -- 15 чел на весь Яндекс.


Агаааа... Попался!!!
1) "Карты" просчитывая маршрут на общественном транспорте указывают время без учета пробок. Уже, наверное, год как.
2) "Транспорт" регулярно миксует координаты этого транспорта в итоге на экране трамвай едет боком по улице на которой и рельсов то нет, а потом волшебным образои превращается в местный автобус.
3) "Маркет" в результатах поиска показывает товар, которого при ближайшем рассмотрении нет. Обнаружено недавно на редких ноутах, но баг похоже очень старый, регулярно в списке отсортированном по ценам не вижу нижней цены из поисковой выдачи.
4) "Погода" на мобилке требовала сложного танца с бубном чтоб перестать показывать позавчерашнюю погоду и показать уже сегодняшнюю, хотя она недавно сильно поменялась и вроде баг ушел.

 

 

Спасибо за фидбек, я передам в сервисы +) Я имел в виду нагрузочное тестирование, функциональные баги вне нашей компетенции. И функциональщиков у нас больше 15-ти, я не знаю сколько. Хотя мы (нагрузочники) хотим придумать очень клевое автоматическое тестирование на мобильниках, которое и функциональным тоже будет.


  • 0

#31 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 11 ноября 2016 - 11:18

 

Для кого-то JMeter -- юзер френдли, но для меня -- совсем нет. Программировать в GUI -- это адский ад, малейшее изменение влечет кучу кликов мышкой. И копипастить не получится.

Хочется инструмент с современным и понятным интерфейсом

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

 

 

Программное управление на Питоне -- это очень современно. Питон сейчас везде, в администрировании, в программировании, в DataScience. Почему бы ему не быть в нагрузочном тестировании?

 

Плюс опять же, у нас есть танки в облаке и старт тестов через вебформу. Тоже современно.

 

 

Программировать в GUI -- это адский ад, малейшее изменение влечет кучу кликов мышкой. И копипастить не получится.

в JMeter этот пользовательский интерфейс - в основном для начинающих.
продвинутые пользователи сценарии правят сразу в XML сорсе, ну и затем конфиги и XML сорсы естественно в гите

 

 

Программировать на XML -- это тоже не из приятных занятий ) Особенно если учесть, что эти навыки потом вообще нигде не пригодятся. Скрипты на питоне позволяют расти профессионально.


  • 0

#32 Spock

Spock

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

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

Отправлено 13 ноября 2016 - 11:42

 

 

Программировать на XML -- это тоже не из приятных занятий ) Особенно если учесть, что эти навыки потом вообще нигде не пригодятся. Скрипты на питоне позволяют расти профессионально.

ну программные вставки там ясно делаются не на XML :)

 

у вас видимо просто инструмент совершенно другого уровня, Enterprise level. JMeter на таком уровне явно не уместен. 

 

Зато когда надо протестировать небольшой/средний интернет-банк, или интернет-магазин, или гейтвей какой - вот тут JMeter может быть более эффективен


  • 0

#33 wret

wret

    Активный участник

  • Members
  • PipPip
  • 124 сообщений
  • Город:Москва

Отправлено 13 ноября 2016 - 16:34

 

Pandora -- экспериментальная пушка на Golang, которая умеет SPDY и которую хочется научить стрелять lua/js-сценариями

 

А в каком сейчас состоянии Pandora ? Она полностью готова для продакшена? Послений коммит был Feb 11, 2016

Она, как и BFG умеет в логику?

Делали замеры сколько rps у BFG и Pandora максимум?


  • 0

#34 Spock

Spock

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

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

Отправлено 14 ноября 2016 - 10:28

 

 

А в каком сейчас состоянии Pandora ? Она полностью готова для продакшена? Послений коммит был Feb 11, 2016

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

 

если не коммитят, то я бы не стал брать в продакшн


  • 0

#35 direvius

direvius

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

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Лавренюк Алексей

Отправлено 14 ноября 2016 - 12:21

 

 

Pandora -- экспериментальная пушка на Golang, которая умеет SPDY и которую хочется научить стрелять lua/js-сценариями

 

А в каком сейчас состоянии Pandora ? Она полностью готова для продакшена? Послений коммит был Feb 11, 2016

Она, как и BFG умеет в логику?

Делали замеры сколько rps у BFG и Pandora максимум?

 

 

Pandora сейчас -- это прототип новой стрелялки.

 

На ней я пробовал SPDY делать, там архитектура другая по сравнению с фантомом, можно более детально управлять каждой сессией. Потом мы померили SPDY и HTTP/2 в реальных условиях (замеряли хождения на top 15 интернета, включая FB, Wikipedia) -- и не увидели большого профита от них. Соответственно, пушку SPDY и HTTP/2 отложили до лучших времен.

 

Хочется заменить этой пушкой phantom, потому что в ней больше возможностей и ей не нужны заранее сгенеренные патроны, а это сэкономит нам время и место. Поэтому первое, что там появится -- это полноценный HTTP. В HTTP я достреливал до 50 000 RPS. Упирался в JSON decoder -- патроны сейчас читаются из JSON. Хочу переделать на фантомовский формат -- должно стать еще быстрее.

 

Логику сейчас не умеет, но есть идея вкрутить туда lua/js. Естественно, это будет быстрее, чем BFG.

 

В прод пока ее не стоит, вот прикрутим новый формат патронов, потом мы у себя попробуем -- можно будет. Еще dropbox обещал прислать патчи с оптимизацией производительности. Заняты все пока другими делами.

 

BFG -- порядка 10 000 в HTTP, но за ней нужно пристально следить, потому что можно упереться в питон в неожиданных местах. Особенно если какой-то свой протокол.


  • 1

#36 Сергей

Сергей

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

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 15 ноября 2016 - 07:24

 

Так вы с пользовательским интерфейсом сделали, гибким юзер-френдли и понятным, лучше чем у JMeter?

Для кого-то JMeter -- юзер френдли, но для меня -- совсем нет. Программировать в GUI -- это адский ад, малейшее изменение влечет кучу кликов мышкой. И копипастить не получится.

 

Про адский ад в GUI - согласен. Алексей, а каким инструментом, если это не секрет, пользуются у вас для тестирования API?


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#37 Spock

Spock

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

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

Отправлено 15 ноября 2016 - 07:26

Делаю ставку, что что-нибудь типа JUnit с добавкой ещё какого-нибудь фреймворка для удобства


  • 0

#38 RLX

RLX

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

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Роман

Отправлено 17 ноября 2016 - 14:42

Всем привет!

Всем спасибо за участие, опыт просто бесценный. На текущий момент итоги подведены и, если кому интересно, результаты можно посмотреть на https://goo.gl/OUxa2L


  • 0



Темы с аналогичным тегами performance testing, нагрузочное тестирование, инструменты, load testing, test-engine, опрос

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

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