Я анализировал некоторые медленные запросы API с Dynatrace.Я видел этот, который занял 623 мс, и он привлек мое внимание.Я смог увидеть PurePath запроса, и первое, что происходит, это org.glassfish.jersey.servletServletContainer.service()
потратить 590 мс перед вызовом следующего метода, как можно увидеть ниже:
Сценарий теста выглядит следующим образом:
Apache JMeter с 1 потоком, выполняющим один и тот же запрос каждый раз.Первые 100 секунд или около того среднее время отклика составляет около 5 мс, а затем внезапно время отклика увеличивается и остается высоким до конца теста.После увеличения времени отклика все запросы выглядят как на изображении.Время ожидания огромное (по-видимому, с Джерси).
Я использую следующие версии REST на Джерси / Джерси:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.2.3.v20140905</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.2.3.v20140905</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.2.3.v20140905</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.22.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-jetty-http</artifactId>
<version>2.22.2</version>
</dependency>
Это задокументированная проблема?Кто-нибудь испытывал это?
Редактировать 1 : Мне удалось воспроизвести это с Почтальоном.JMeter отправляет Connection: close
в заголовке запроса.Время соединения JMeter низкое, а время отклика выше обычного.Кажется, нет проблемы открытия нового соединения при каждом запросе.