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