
Доклад
Не ждите сообщений, получайте их: Асинхронное тестирование производительности
Доклад о разработке плагинов для Gatling и тестировании производительности через RabbitMQ, и решении технических проблем и создании новых.
Доклад основан на опыте команды Raiffeisen Business Platform по тестированию производительности асинхронных микросервисов, которые принимают запросы через RabbitMQ по протоколу AMQP и отвечают в RabbitMQ.
В качестве инструмента для подачи нагрузки был выбран Gatling. И в ходе написания тестов были решены следующие технические проблемы:
- как подать нагрузку через RabbitMQ, когда нет плагина для AMQP;
- как написать оптимальный Gatling-сценарий, который не будет потреблять гигабайты оперативной памяти;
- как эффективно замерить длительность от момента отправки сообщения в одну очередь, до момента появления сообщения в другой очереди, и не забыть момент появления сообщения во временной очереди;
- как логировать асинхронные операции, какой подход выбрать для разделения десятка сценариев в рамках одного Gatling-теста.
Комментарий программного комитета:
Вячеслав нагружал много разных систем, и его рекомендации к тестированию очередей могут пригодиться многим.