Почему веб-сервисы Spring RESTful выполняются каждый раз по-разному - PullRequest
7 голосов
/ 06 марта 2019

У меня есть простое приложение с весенней загрузкой и класс контроллера.Простой метод внутри моего контроллера:

@RequestMapping(value = "/heartbeat", method = RequestMethod.GET)
public ResponseEntity<String> heartbeat() {
    return new ResponseEntity<>("success", HttpStatus.OK)
}

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

Например, 28 мс, 70 мс, 15 мс ...

Это нормально, если говорить о миллисекундах, но я заметил, что в больших веб-сервисах эта разница больше, иногда даже несколько секунд.

Полагаю, это нормально, но с чем это связано?

Ответы [ 2 ]

3 голосов
/ 06 марта 2019

Есть много факторов, которые могут вызвать это поведение.И в большинстве случаев это объяснимо.

При условии, что вы тестируете веб-сервис на локальной установке, могут быть следующие сценарии:

Другие фоновые задачи

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

Состояние сети

Возможно, что сеть используется различными приложениями, и, следовательно, вы можете получить слегка задержанный ответ.

Задержка от клиента WS

Клиент, как и Почтальон, может сам выполнить некоторую обработку для отправки запроса или принять ответ.Это также относится к общему времени отклика.

0 голосов
/ 06 марта 2019

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

По первому запросу выполнение может занять много времени, но после этого сервер кеширует много вещей на различном уровне, а затем обычно занимает одинаковое количество времени с незначительной разницей. Но если вы будете ожидать больше запросов через JMeter, то серверная ОС будет обрабатывать его самостоятельно, что приведет к сбою ответа или более длительной задержке.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...