云服務器響應慢,網頁加載慢的問題
問題:
本文接上一次博客,云服務發布springboot項目踩過的坑
自從上次,一咬牙買了阿里云的服務器(雖然是白嫖的15天試用期)。
但是有一個問題一直困擾著我,如鯁在喉!
非常難受!
就是網頁的加載速度,實在是太慢了!
硬生生的把我從5G時代,拉倒了3G時代!
可是我使用的是2M的寬帶啊,速度不至于這樣吧!
原因分析:
1、服務器原因——購買網速快的寬帶
2、數據庫查詢慢——增加索引,一次查詢少量數據
3、服務器傳來的css,js,圖片等文件沒有被緩存,導致一次次重復的加載相同的文件
4、其他
發現原因:
這里著重解決第3種問題。
我打開 檢查 (快捷鍵 F12) ,發現Network里面的js,css文件會很快消失
檢查vue.js 里面的請求頭,發現no-cache

然后,我百度了很久,終于找到了解決方案:
首先,新建一個類 WebConfigConfigurer,實現 WebMvcConfigurer接口
「此方法的作用就是,將resouces下的靜態資源納入到瀏覽器緩存之中」
package com.jch.quiz2.config; import org.springframework.context.annotation.Configuration; import org.springframework.http.CacheControl; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.util.concurrent.TimeUnit; @Configuration public class WebConfigConfigurer implements WebMvcConfigurer { // 推薦使用implements WebMvcConfigurer,這樣不會覆蓋其他的配置 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") // 此處是url的路徑 .addResourceLocations("classpath:/static/") // 這里是uri資源的路徑,即靜態資源路徑 // .addResourceLocations("classpath:/static/pic/") // 這里可以配置專門的文件夾 .setCacheControl(CacheControl.maxAge(604800, TimeUnit.SECONDS).cachePublic()); } }
我的文件結構:
效果:
添加配置類前

添加配置類后

可以看到,網頁的響應速度快了100多ms!!
而且,在size一欄,可以看到memory cache,說明,已經加入了瀏覽器內存之中!
參考資料:
ps:這位大佬講的非常清楚了!

浙公網安備 33010602011771號