Я новичок в среде тестирования Locust Load и в процессе переноса моих существующих Azure сценариев тестирования производительности на основе облака C# в сценарии Locust Python. Наша команда почти завершила миграцию скриптов. Но во время наших нагрузочных тестов мы получаем ошибки, как показано ниже: не удается создать новые запросы с компьютера из-за высокой загрузки ЦП или из-за большого количества исключений в Locust. Мы работаем в веб-режиме Locust - подробности указаны ниже. Эти скрипты работают нормально при небольших нагрузках от 50 до 100 пользователей
" Ошибка 1 - ('Соединение прервано.', RemoteDisconnected ('Соединение с удаленным концом закрыто без ответа',) )"
" Ошибка 2: Пул подключений переполнен, отмена подключения "
"** ** Ошибка 3: urllib3.exceptions.NewConnectionError:: Не удалось установить sh новое соединение: [Errno 110] Тайм-аут соединения **** "
Да, мы используем UrlLibs для служебных классов. Но первая ошибка 2, похоже, относится к Locust.
Наши конфигурации нагрузочного тестирования: « 3500 пользователей при скорости вывода 5 пользователей в секунду ». Нормальный запуск (без контейнера docker) на 8-ядерном виртуальном компьютере Ubuntu 16 ГБ Linux на Azure. ulimit установлен на 50 000 * на машине Linux.
Пожалуйста, помогите нам с вашими мыслями
Пример теста, как показано ниже
import os
import sys
sys.path.append(os.environ.get('WORKDIR', os.getcwd()))
from locust import HttpLocust, TaskSet, task
from locust.wait_time import between
class ContactUsBehavior(TaskSet):
wait_time = AppUtil.get_wait_time_function(2)
@task(1)
def post_load_test_contact(self):
data = { "ContactName" : "Mane"
, "Email" : "someone@someone.com"
, "EmailVerifaction" : "someone@someone.com"
, "TelephoneContact" : ""
, "PhoneNumber" : ""
, "ContactReason" : "Other"
, "OtherComment" : "TEST Comments 2019-12-30"
, "Agree" : "true"
}
self.client.post("app/contactform", self.client, 'Contact us submission', post_data = data)
class UnauthenticatedUser(HttpLocust):
task_set = ContactUsBehavior
# host is override-able
host = 'https://app.devurl.com/'