用springMVC開發(fā)了一個在線考試係統(tǒng)。後臺用了Spring SpringMvc,其他還用了SpringSecure。
除了服務(wù)器,其他客戶端載入一個頁麵,看了下時(shí)間大約在70ms左右,不含載入後用post請求的一堆數(shù)據(jù)。重複刷新或者去其他頁麵也都是要等70ms左右才能加載完頁麵。頁麵靜態(tài)資源緩存已開。
這個70ms左右的時(shí)間有辦法減少嗎?謝謝!
每個請求耗時(shí)70毫秒,那每秒1個CPU核心只能處理1000/70=14個請求,4個CPU核心也才能處理56個請求,說實(shí)話,已經(jīng)挺慢的了.再做個對比,Ubuntu(i5-3230M)上用PHP7+OPcache跑WordPress,1個CPU核心處理1個WordPress首頁請求(無緩存需要查數(shù)據(jù)庫),耗時(shí)也才28毫秒,要知道WordPress是一個性能不好的PHP程式.
所以,我覺得,每個請求至少得做到耗時(shí)10毫秒以下,才能稱得上快吧,畢竟Nginx顯示一個網(wǎng)站根目錄的目錄列表,耗時(shí)只有1毫秒.
其實(shí)70ms對網(wǎng)頁應(yīng)用程式來說不算太慢的。
如果你覺得影響使用者體驗(yàn)的話,跟純HttpServlet比較下。影響頁面載入時(shí)間的因素很多,長的延遲未必是Spring MVC造成的,跟容器、瀏覽器的因素都有關(guān)係。
還是得具體看code和實(shí)際情況,如果完全是那個請求回應(yīng)速度過慢。一般小型系統(tǒng)最好優(yōu)化的地方,就是加一個緩存,減少資料庫請求,資料直接從記憶體取。這樣會快很多!
這個主要和Spring進(jìn)行視圖渲染的機(jī)制有關(guān)??蓞⒖迹篽ttp://www.cnblogs.com/davidw...
這麼說吧,直接使用Servlet 寫簡單頁面可能很快,但是當(dāng)你自己啃噠啃噠的把所有功能做完後,很可能發(fā)現(xiàn)甚至不如SpringMVC 快,而你自己做的很多功能其實(shí)都是SpringMVC等框架已經(jīng)有了的。