一般網(wǎng)站優(yōu)化都是優(yōu)化后臺反砌,如接口的響應時間、SQL優(yōu)化萌朱、后臺代碼性能優(yōu)化宴树、服務器優(yōu)化等。高并發(fā)情況下晶疼,對前端web優(yōu)化也是非常重要的酒贬。
下面說說幾種常見的優(yōu)化措施又憨。
1、HTML CSS JS位置
一般需要將CSS放頁面最上面锭吨,即HEAD部分蠢莺,而將JS代碼放頁面底部。因為頁面需要加載為CSS才進行渲染耐齐,而JS如果不是在頁面加載之前就要執(zhí)行就要放到頁面最底部浪秘,以免在頁面展示之前因JS過多加載而影響頁面渲染速度。
2埠况、引用文件位置
有一些插件需要引用到遠程的圖片耸携、CSS闯捎、JS物赶、圖標等,如果遠程的資源連接網(wǎng)速不佳蹂风,如國外的某些資源喜命,會造成網(wǎng)頁阻塞沟沙,同樣也會造成頁面展示問題,盡量能把引用遠程的資源能本地化壁榕。
3矛紫、減少后臺請求
每個請求都是耗費資源影響系統(tǒng)性能的,所以牌里,能減少后臺請求就減少颊咬。如,盡量的將同一個資源(圖片牡辽、JS喳篇、CSS等)合并成一個文件,頁面只要請求一次即可态辛,這樣就節(jié)省了很多http連接的開銷及往返的時間損耗麸澜。
另外一方面,如果是關(guān)于抽獎奏黑、搖一搖炊邦、秒殺等功能,可以限制發(fā)往后臺的頻率攀涵,如前端操作10次才往后端發(fā)一次請求铣耘,這樣從前端就做到了后臺的流量控制,把流量控制到訪問的最外層是最好的以故,盡量不要讓請求落到底層蜗细。
4、壓縮傳輸
http壓縮可以對純文本可以壓縮至原內(nèi)容的40%, 從而節(jié)省了60%的數(shù)據(jù)傳輸,GZIP是一種常用的壓縮編碼炉媒。因此踪区,對文本類型的資源如CSS、JS吊骤、HTML啟用GZIP壓縮加速http傳輸速度缎岗。
5、減少cookie傳輸
cookie會包含在每次請求和響應中白粉,如果cookie過多會影響http響應速度传泊,所以高并發(fā)情況下盡量控制cookie的傳輸量,nginx對cookie傳輸默認是做了限制的鸭巴。另外眷细,像CSS、JS鹃祖、圖片等靜態(tài)資源可以啟用單獨域名溪椎,禁用cookie對靜態(tài)資源的傳輸,這樣就能大大提高效率恬口。
6校读、瀏覽器緩存
高并發(fā)情況下,可以將一些不怎么變動的東西緩存到瀏覽器cache中祖能,或者一些活動內(nèi)容可以提前將內(nèi)容在客戶端緩存起來歉秫,以免活動開始大量請求涌入服務器。
7养铸、CDN
之前的文章有講過CDN的概念端考,它就是一個靜態(tài)內(nèi)容分發(fā)網(wǎng)絡,本質(zhì)就是靜態(tài)資源的緩存揭厚,可以將靜態(tài)資源放到CDN上,這樣扶供,用戶就能離自己最近的地方獲取到資源筛圆,大大提高了用戶訪問速度。
8椿浓、反向代理
常用的反向代理nginx除了負載均衡功能太援,它也可以通過配置緩存功能來加速請求響應速度,當用戶第一次訪問的時候靜態(tài)資源就可以被緩存到反向代理服務器上扳碍,這樣其他用戶的請求就能直接從反向代理服務器直接獲取返回提岔,這樣也就直到了靜態(tài)資源緩存的作用。
我大概列了這些笋敞,其實還有很多優(yōu)化手段碱蒙,大家有更好的建議的話,可以在下方留言。