溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決springboot做的controller服務時每隔一段時間后第一次請求耗時特別長

發(fā)布時間:2021-10-19 15:51:42 來源:億速云 閱讀:210 作者:柒染 欄目:大數據

這篇文章給大家介紹如何解決springboot做的controller服務時每隔一段時間后第一次請求耗時特別長,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1、在訪問任何一個接口后,此接口在短時間內訪問速度都很正常。但就是在每隔一段時間后(大概幾秒)第一個請求訪問速度很慢,客戶端顯示耗時是3000ms,但服務器打印耗時正常就是60ms。
2、本機windows環(huán)境調試的時候不會出現這種問題,部署到linux系統下出現此問題。

問題:
無論用瀏覽器、Postman、curl、Python(requests) 去訪問接口,均得到第一次響應非常耗時,短時間內第二次訪問會快很多;
服務端在controller打印耗時一直是正常的耗時60ms左右,在第一次響應非常慢時,服務器端打印耗時還是60ms,但客戶端耗時是3000ms??梢耘懦艟W絡(客戶端請求代碼與服務器在同一臺機器上)、性能(測試環(huán)境)等問題。

解決方案:

第一種:升級springboot,spring-boot-starter-parent從1.4.2版本升級到1.5.9版本,升級后,問題解決。(我們目前使用這種方案)升級后若是出現jsp頁面無法訪問問題,參考http://blog.csdn.net/wwd0501/article/details/79609415處理

第二種:打成 war 包部署到正常的 tomcat 上,問題解決。(打war包方式http://blog.csdn.net/wwd0501/article/details/79555215)

第三種:將內置Tomcat的改為undertow,問題解決。

修改pom文件

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>
 
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

關于如何解決springboot做的controller服務時每隔一段時間后第一次請求耗時特別長就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI