Невозможно улучшить RPS для моих тестов locust

#locust

#саранча #locust

Вопрос:

Я пытаюсь протестировать загрузку вызова сервера, время отклика которого составляет около 3 секунд. Я пытаюсь увеличить нагрузку на этот сервер, но максимальный rps, который я получаю, составляет 0,3-0,4. У меня 100 пользователей, и я сохранил скорость вывода 100 в секунду. Кроме того, время ожидания составляет 0,1 секунды.

Почему rps такой низкий и что я могу сделать, чтобы его улучшить?

Если я заменю свой серверный вызов очень дешевым вызовом, внезапно RPS значительно увеличится. Итак, я не думаю, что проблема в моей настройке.

Комментарии:

1. привет! взгляните на github.com/locustio/locust/wiki/FAQ#increase-my-request-raterps и если это не поможет, разместите файл lour locust здесь, чтобы я мог взглянуть. ваш сервер вызывает HTTP-запрос? если нет, убедитесь, что он по-прежнему поддерживает gevent. (в противном случае это заблокирует всех пользователей locust в процессе locust)

2. Я использовал grpc, и это вызывало проблемы, поскольку он не поддерживает gevent. Я смог исправить это, используя monkey patch и grpc gevent patch

Ответ №1:

Мой сервер был сервером grpc, и это вызывало проблему с gevent. Добавление этого перед инициализацией любого клиента grpc устранило проблему

 from gevent import monkey
monkey.patch_all()

import grpc.experimental.gevent
grpc.experimental.gevent.init_gevent()
  

Комментарии:

1. Круто! Если он продолжает работать хорошо, возможно, вы бы подумали о создании PR для добавления вашего пользователя grpc в github.com/SvenskaSpel/locust-plugins

2. @Cyberwiz конечно, я это сделаю