問題現(xiàn)像:
新開一個瀏覽器,打開網(wǎng)站(本機部署),第一次請求的時候響應(yīng)很慢, 但是第二次響應(yīng)就很快,但是停止操作幾分鐘后,再請求又變慢。
或者第一次請求響應(yīng)后,關(guān)閉瀏覽器再重新打開,請求響應(yīng)也會很慢! (
注:項目訪問地址是在本機配的一個域名
www.hooblogs.com
)
?
猜測及驗證:
1. tomcat的問題,重新安裝了一個tomcat, 情況依然存在。
2. 第一次請求后,在代碼中debug了一個斷點,發(fā)現(xiàn)隔幾秒鐘才能到達(dá)斷點處。
3. 因為項目部署采用apache+tomcat的結(jié)構(gòu),其中有用到apache的反向代理,所以猜測是否有可能是apache的原因?qū)е疲?
?? 停掉apache, 直接訪問tomcat, 但是現(xiàn)像依然存在。
4. tomcat的內(nèi)存不夠,于是調(diào)大tomcat的內(nèi)存資源(512M---1G), 現(xiàn)像依然存在。
5. 項目在本機進(jìn)行部署時,配了域名(修改hosts, 添加了
www.hooblogs.com
) 猜測是域名解析過慢導(dǎo)制的。
?? 于是用:
http://localhost
?? 或者
http://127.0.0.1
直接訪問,發(fā)現(xiàn)響很快,之前的現(xiàn)像沒有了。
?
分析原因:
因為公司用的是內(nèi)部局域網(wǎng),不能直接訪問外網(wǎng),我們在網(wǎng)絡(luò)連接那里配置了默認(rèn)的DNS(域名解析系統(tǒng))。
> 當(dāng)新打開一個瀏覽器并發(fā)出一個請求時,因為使用了域名訪問,瀏覽器會優(yōu)化的去請求局域網(wǎng)的DNS解析這個域名
>? 到了DNS之后,DNS在解析的時候,發(fā)現(xiàn)解析不了,等解析超時后,又告之瀏覽器,它搞不定。
>? 然后瀏覽器這才通過本機的DNS去解析,發(fā)現(xiàn)解析成功,然后才指向本機的tomcat. (所以第一次請求會非常慢)
>? 第二次請求的時候,因為瀏覽器的記憶性, 所以第二次就直接通過本機的DNS解析,所以響應(yīng)就很快!
>? 但是瀏覽器的記憶力不是很好,容易健忘, 過了幾分鐘它就忘了, 所以停止操作幾分鐘后,第一次的響應(yīng)又非常慢!
?
為了驗證上面的推斷,我撥掉本機的網(wǎng)線,請求本機項目地址(
http://www.hooblogs.com
) 發(fā)現(xiàn)響應(yīng)速度很快。
?
解決辦法:
修改網(wǎng)絡(luò)連接的首先DNS, 改為 127.0.0.1, 備用DNS改為局域網(wǎng)的DNS.
修改前:

?
修改后:

?
這樣既不影響對局域網(wǎng)的使用,又不影響你在本機的開發(fā)測試。
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
