Я разработал RESTful api, который я развернул на Azure Web App. При выполнении нагрузочного теста с помощью JMeter я вижу, что время отклика огромно, т.е. ~18 секунд. Это время отклика беспокоит меня, потому что конечная точка, которую я открыл, получает только ~1-2 КБ текстовых данных и записывает их в очередь сервисной шины Azure.
Я исследовал и нашел следующее:
Для тестирования нагрузки я создал экземпляр VM в том же регионе, что и Azure Web App, чтобы минимизировать задержку. Операция enqueue занимает время порядка миллисекунд, поэтому мне интересно, на что уходят лишние секунды, пока сервер находится в нагрузке?
Мой код создает единственный экземпляр QueueClient, который я повторно использую для всех запросов. Код состоит из следующих двух строк внутри ApiController
ServiceBusManager.GetQueueWriter().Enqueue(data); //data is no more than ~1KB
return Request.CreateResponse(HttpStatusCode.OK, "Data enqueued");