java - spring是不是相比其他框架要慢一些?
問題描述
用springMVC開發(fā)了一個(gè)在線考試系統(tǒng)。后臺(tái)用了Spring+SpringMvc,其他還用了SpringSecure。
除了服務(wù)器,其他客戶端載入一個(gè)頁面,看了下時(shí)間大約在70ms左右,不含載入后用post請(qǐng)求的一堆數(shù)據(jù)。重復(fù)刷新或者去其他頁面也都是要等70ms左右才能加載完頁面。頁面靜態(tài)資源緩存已開。
這個(gè)70ms左右的時(shí)間有辦法減少嗎?謝謝!
問題解答
回答1:每個(gè)請(qǐng)求耗時(shí)70毫秒,那每秒1個(gè)CPU核心只能處理1000/70=14個(gè)請(qǐng)求,4個(gè)CPU核心也才能處理56個(gè)請(qǐng)求,說實(shí)話,已經(jīng)挺慢的了.再做個(gè)對(duì)比,Ubuntu(i5-3230M)上用PHP7+OPcache跑WordPress,1個(gè)CPU核心處理1個(gè)WordPress首頁請(qǐng)求(無緩存需要查數(shù)據(jù)庫),耗時(shí)也才28毫秒,要知道WordPress是一個(gè)性能不好的PHP程序.所以,我覺得,每個(gè)請(qǐng)求至少得做到耗時(shí)10毫秒以下,才能稱得上快吧,畢竟Nginx顯示一個(gè)網(wǎng)站根目錄的目錄列表,耗時(shí)只有1毫秒.
其實(shí)70ms對(duì)網(wǎng)頁應(yīng)用來說不算太慢的。
如果你覺得影響用戶體驗(yàn)的話,跟純HttpServlet比較下。影響頁面加載時(shí)間的因素很多,長(zhǎng)的延時(shí)未必是由Spring MVC造成的,跟容器、瀏覽器的因素都有關(guān)系。
回答3:和你寫的代碼也有一定的關(guān)系。。。
回答4:還是得具體看code和實(shí)際情況,如果完全是那個(gè)請(qǐng)求響應(yīng)速度過慢。一般小型系統(tǒng)最好優(yōu)化的地方,就是加一個(gè)緩存,減少數(shù)據(jù)庫請(qǐng)求,數(shù)據(jù)直接從內(nèi)存中取。這樣會(huì)快很多!
回答5:建議你看下這個(gè) : https://my.oschina.net/xiangg...
回答6:這個(gè)主要和Spring進(jìn)行視圖渲染的機(jī)制有關(guān)。可以參考:http://www.cnblogs.com/davidw...
回答7:這么說吧,直接使用 Servlet 寫簡(jiǎn)單頁面可能很快,但是當(dāng)你自己啃哧啃哧的把所有功能做完后,很可能發(fā)現(xiàn)甚至不如 SpringMVC 快,而你自己做的很多功能其實(shí)都是 SpringMVC 等框架已經(jīng)有了的。
回答8:我覺得不算慢了
回答9:70ms 還是算快了吧,這點(diǎn)時(shí)間對(duì)于用戶來說完全沒有感覺。
回答10:前后端分離,然后 GET請(qǐng)求做緩存。當(dāng)然 70ms已經(jīng)很快了。
相關(guān)文章:
1. python 利用subprocess庫調(diào)用mplayer時(shí)發(fā)生錯(cuò)誤2. python - pycharm 自動(dòng)刪除行尾空格3. python - Pycharm的Debug用不了4. python文檔怎么查看?5. datetime - Python如何獲取當(dāng)前時(shí)間6. javascript - 關(guān)于apply()與call()的問題7. html - eclipse 標(biāo)簽錯(cuò)誤8. 請(qǐng)問PHPstudy中的數(shù)據(jù)庫如何創(chuàng)建索引9. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入10. javascript - nginx反向代理靜態(tài)資源403錯(cuò)誤?
