我已将我的java spring项目java版本从12升级到java 17,完全迁移到雅加达, 我还使用最新版本(10.1.16)将 spring 版本升级到 6.1.1,显然将 tomcat 升级到 tomcat 10
从那时起,http请求响应时间就会延迟,即使是最基本的http调用: “../服务名称/状态”
对于“/status”调用,响应时间大大缩短。 我升级的每个 Spring 服务的任何 http 调用都会发生这种情况。
下面是 pom.xml 片段,其中包含我用于项目中所有库的版本
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.min-version>3.5.4</maven.min-version>
<aws.version>1.12.296</aws.version>
<aws-sdk.version>2.20.101</aws-sdk.version>
<cglib.version>3.3.0</cglib.version>
<commons-codec.version>1.14</commons-codec.version>
<commons-collections.version>4.4</commons-collections.version>
<commons-digester3>3.2</commons-digester3>
<commons-io.version>2.11.0</commons-io.version>
<commons-lang.version>3.10</commons-lang.version>
<commons-logging.version>1.2</commons-logging.version>
<commons-text.version>1.10.0</commons-text.version>
<commons-validator.version>1.7</commons-validator.version>
<commons-compress.version>1.22</commons-compress.version>
<commons-csv.version>1.8</commons-csv.version>
<dl4j.version>1.0.0-beta3</dl4j.version>
<easymock.version>5.1.0</easymock.version>
<elasticsearch-java.version>8.8.2</elasticsearch-java.version>
<gson-extras.version>0.2.2</gson-extras.version>
<gson.version>2.10.1</gson.version>
<guava-retrying.version>2.0.0</guava-retrying.version>
<guava.version>31.1-jre</guava.version>
<hamcrest.version>2.2</hamcrest.version>
<hdf5.version>1.10.4-${javacpp-presets.version}</hdf5.version>
<httpasyncclient.version>4.1.5</httpasyncclient.version>
<httpclient.version>4.5.14</httpclient.version>
<httpclient5.version>5.2.1</httpclient5.version>
<httpcore.version>4.4.16</httpcore.version>
<itextpdf.version>5.5.13.1</itextpdf.version>
<jackson-core.version>2.15.2</jackson-core.version>
<java-string-similarity.version>1.2.1</java-string-similarity.version>
<java-webSocket.version>1.5.3</java-webSocket.version>
<javacpp-presets.version>1.4.4</javacpp-presets.version>
<jakarta-activation-api.version>2.1.2</jakarta-activation-api.version>
<jakarta-mail.version>2.1.2</jakarta-mail.version>
<jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version>
<jakarta.inject-api.version>2.0.0</jakarta.inject-api.version>
<jakarta.version>2.0.0</jakarta.version>
<jakarta.rs.version>3.1.0</jakarta.rs.version>
<jakarta.xml.bind.version>4.0.0</jakarta.xml.bind.version>
<jaxb.version>2.3.0</jaxb.version>
<jakarta.xml.bind.version>4.0.0</jakarta.xml.bind.version>
<jaxen.version>1.2.0</jaxen.version>
<jboss-annotations-api.version>1.0.2.Final</jboss-annotations-api.version>
<jboss-jaxrs-api_2.1_spec.version>2.0.2.Final</jboss-jaxrs-api_2.1_spec.version>
<jboss-logging.version>3.4.1.Final</jboss-logging.version>
<jcabi.version>2.1.0</jcabi.version>
<jersey.version>3.1.2</jersey.version>
<jersey-spring4.version>2.40</jersey-spring4.version>
<jgit.version>6.5.0.202303070854-r</jgit.version>
<joda-time.version>2.10.6</joda-time.version>
<jslack.version>3.4.2</jslack.version>
<json.version>20190722</json.version>
<junit.version>4.13.2</junit.version>
<keycloack.version>22.0.0</keycloack.version>
<leptonica.version>1.77.0-${javacpp-presets.version}</leptonica.version>
<log4j.version>2.20.0</log4j.version>
<maven-artifact.version>3.6.3</maven-artifact.version>
<mina.version>2.0.23</mina.version>
<mkl-dnn.version>0.17.2-${javacpp-presets.version}</mkl-dnn.version>
<mkl.version>2019.1-${javacpp-presets.version}</mkl.version>
<mongodb.version>4.9.0</mongodb.version>
<mongodb-crypt.version>1.8.0</mongodb-crypt.version>
<nl.jqno.equalsverifier.version>3.15</nl.jqno.equalsverifier.version>
<oauth-httpclient.version>20090913</oauth-httpclient.version>
<oauth.version>20100527</oauth.version>
<openblas.version>0.3.5-${javacpp-presets.version}</openblas.version>
<opencv.version>4.0.1-${javacpp-presets.version}</opencv.version>
<powermock-api-easymock.version>2.0.7</powermock-api-easymock.version>
<powermock-module-junit4.version>2.0.7</powermock-module-junit4.version>
<prometheus.version>0.8.1</prometheus.version>
<rabbitmq.version>5.0.0</rabbitmq.version>
<redis.version>3.3.0</redis.version>
<redisson.version>3.24.3</redisson.version>
<reflections.version>0.9.12</reflections.version>
<resteasy-jaxrs.version>6.2.5.Final</resteasy-jaxrs.version>
<slf4j.version>2.0.7</slf4j.version>
<snakeyaml.version>2.0</snakeyaml.version>
<socket.io-client.version>1.0.0</socket.io-client.version>
<socketio.version>1.7.18</socketio.version>
<spring.data.rabbit.version>3.1.0</spring.data.rabbit.version>
<spring-data-redis.version>3.2.0</spring-data-redis.version>
<spring-retry.version>2.0.2</spring-retry.version>
<spring-security.version>6.1.1</spring-security.version>
<spring.version>6.1.1</spring.version>
<tomcat-exporter.version>0.0.17</tomcat-exporter.version>
<tyrus-standalone-client.version>1.16</tyrus-standalone-client.version>
<!-- override commons tomcat-exporter.version tomcat internal dependencies version, due to vulnerabilities -->
<tomcat.version>10.1.16</tomcat.version>
<!-- override commons commons-digester3.version tomcat internal dependencies version, due to vulnerabilities -->
<commons-beanutils.version>1.9.4</commons-beanutils.version>
<!-- override commons datavec-data-image internal dependencies version, due to vulnerabilities -->
<imageio.version>3.9.4</imageio.version>
<!-- override commons deeplearning4j-core internal dependencies version, due to vulnerabilities -->
<jna.version>5.13.0</jna.version>
<jacoco.exclusions>${jacoco.exclusions.commons}</jacoco.exclusions>
<jacoco.coverage>0.76</jacoco.coverage>
<jacoco.haltOnFailure>false</jacoco.haltOnFailure>
<spring-boot.version>3.2.0</spring-boot.version>
<springfox.version>3.0.0</springfox.version>
</properties>
我已经检查了我已经确认的http请求泄漏的可能性,因为http长响应时间在服务重新启动后立即发生..
缺乏有关应用程序功能的信息,一些通用的 Java 性能调试步骤:
您还需要通过不断向您的应用程序发送请求来在服务器上创建一些负载,例如使用脚本。