java - spring是不是相比其他框架要慢一些?
問題描述
用springMVC開發(fā)了一個(gè)在線考試系統(tǒng)。后臺用了Spring+SpringMvc,其他還用了SpringSecure。
除了服務(wù)器,其他客戶端載入一個(gè)頁面,看了下時(shí)間大約在70ms左右,不含載入后用post請求的一堆數(shù)據(jù)。重復(fù)刷新或者去其他頁面也都是要等70ms左右才能加載完頁面。頁面靜態(tài)資源緩存已開。
這個(gè)70ms左右的時(shí)間有辦法減少嗎?謝謝!
問題解答
回答1:每個(gè)請求耗時(shí)70毫秒,那每秒1個(gè)CPU核心只能處理1000/70=14個(gè)請求,4個(gè)CPU核心也才能處理56個(gè)請求,說實(shí)話,已經(jīng)挺慢的了.再做個(gè)對比,Ubuntu(i5-3230M)上用PHP7+OPcache跑WordPress,1個(gè)CPU核心處理1個(gè)WordPress首頁請求(無緩存需要查數(shù)據(jù)庫),耗時(shí)也才28毫秒,要知道WordPress是一個(gè)性能不好的PHP程序.所以,我覺得,每個(gè)請求至少得做到耗時(shí)10毫秒以下,才能稱得上快吧,畢竟Nginx顯示一個(gè)網(wǎng)站根目錄的目錄列表,耗時(shí)只有1毫秒.
其實(shí)70ms對網(wǎng)頁應(yīng)用來說不算太慢的。
如果你覺得影響用戶體驗(yàn)的話,跟純HttpServlet比較下。影響頁面加載時(shí)間的因素很多,長的延時(shí)未必是由Spring MVC造成的,跟容器、瀏覽器的因素都有關(guān)系。
回答3:和你寫的代碼也有一定的關(guān)系。。。
回答4:還是得具體看code和實(shí)際情況,如果完全是那個(gè)請求響應(yīng)速度過慢。一般小型系統(tǒng)最好優(yōu)化的地方,就是加一個(gè)緩存,減少數(shù)據(jù)庫請求,數(shù)據(jù)直接從內(nèi)存中取。這樣會快很多!
回答5:建議你看下這個(gè) : https://my.oschina.net/xiangg...
回答6:這個(gè)主要和Spring進(jìn)行視圖渲染的機(jī)制有關(guān)。可以參考:http://www.cnblogs.com/davidw...
回答7:這么說吧,直接使用 Servlet 寫簡單頁面可能很快,但是當(dāng)你自己啃哧啃哧的把所有功能做完后,很可能發(fā)現(xiàn)甚至不如 SpringMVC 快,而你自己做的很多功能其實(shí)都是 SpringMVC 等框架已經(jīng)有了的。
回答8:我覺得不算慢了
回答9:70ms 還是算快了吧,這點(diǎn)時(shí)間對于用戶來說完全沒有感覺。
回答10:前后端分離,然后 GET請求做緩存。當(dāng)然 70ms已經(jīng)很快了。
相關(guān)文章:
1. docker-compose中volumes的問題2. mysql 一個(gè)sql 返回多個(gè)總數(shù)3. CSS3 畫如下圖形4. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境5. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器6. android - rxjava merge 返回Object對象數(shù)據(jù)如何緩存7. javascript - 螞蟻金服里的react Modal方法,是怎么把元素插入到頁面最后的8. python - Scrapy存在內(nèi)存泄漏的問題。9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????10. angular.js - ionic2 瀏覽器跨域問題
