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

Фотография

Инструмент для тестирования производительности конвейера


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

#1 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 08 апреля 2014 - 11:52

Добрый день!

Стоит задача: собрать данные о производительности на различных профилях нагрузки.

Система работает по принципу конвейера, т.е. принимает сообщения и отправляет их в дальнейшую обработку.

 

В чём проблема: такие инструменты, как JMeter, Grinder и т.п. замеряют данные по принципу запрос-ответ.

Иначе говоря:

- если мы генерируем чистую нагрузку на входную точку конвейера, мы не трейсим дальнейшую обработку;

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

 

Хочется получить что-то подобное:

1. Агент нагрузки создает нагрузку на входную точку, все треды загружены непосредственно отправкой сообщений.

2. Отдельный трейс-агент получает данные об отправленных сообщениях и отслеживает весь их путь по конвейеру.

3. В отчете автоматически сопоставляются данные об отправленных сообщениях и времени на их обработку.

 

Может быть, кто-то знает готовые инструменты/фреймворки с такими возможностями?

 


  • 0

#2 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 08 апреля 2014 - 12:46

Например так:
1. Агент нагрузки создает нагрузку на входную точку, все треды загружены непосредственно отправкой сообщений.
2. Включаем логирование везде
3. Парсим логи.


  • 1

#3 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 09 апреля 2014 - 05:13

Например так:
1. Агент нагрузки создает нагрузку на входную точку, все треды загружены непосредственно отправкой сообщений.
2. Включаем логирование везде
3. Парсим логи.

+1

 

ПС: признаюсь правил форума не читал полностью, надеюсь за +1 тут не банят =)


  • 0

#4 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 09 апреля 2014 - 08:00

Например так:
1. Агент нагрузки создает нагрузку на входную точку, все треды загружены непосредственно отправкой сообщений.
2. Включаем логирование везде
3. Парсим логи.

 

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


  • 0

#5 ligreen

ligreen

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

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

Отправлено 05 мая 2014 - 16:28

Например так:
1. Агент нагрузки создает нагрузку на входную точку, все треды загружены непосредственно отправкой сообщений.
2. Включаем логирование везде
3. Парсим логи.

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

Ещё, как вариант, можно разбить конвеер на отдельные сущности и протестить отдельно каждую сущность конвеера. Например если сущности конвеера общаются друг с другом по http, то задача кажется достаточно простой.


  • 0


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

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