圖片加載失敗
首頁 動态

Our News

動态

先誠科(kē)技(jì):關于性能(néng)優化(huà)的(de)技(↕≥λjì)巧

1 啓用(yòng)gzip。

  gzip壓縮是(shì)一(yī)種開(kāi)發的(de)壓縮算(suàn)法♦®₩,目前的(de)主流浏覽器(qì)(Firefox, Safε£¥ari, Chrome, IE4及以上(shàng))與主流服務器( ♠☆qì)(Apache, Lighttpd, Nginx)均對(duì)其有(yǒu)很(hě$∏₽n)好(hǎo)的(de)支持。gzip壓縮是(shì)通(tōng)過HTTP 1.1協議(yì÷σ∑↓)中的(de)Content-Encodi≤&ng : gzip來(lái)進行(xíng)标記說(shuō)明(míng),其可(kě)以α∑‌明(míng)顯減少(shǎo)文(wén)本文(wén)件(jiàn)的(₽¥  de)大(dà)小(xiǎo),從(cóng)而節省帶寬和(hé)加載時(shí)間(•"≠jiān)。先誠科(kē)技(jì)做(zuò)過的(↑"de)一(yī)個(gè)實驗,發現(xiàn)啓用(yò≥©​ng)gzip後,jquery 1.2.6 minify版本的(de)大(dà)小(x•≥iǎo)從(cóng)54.4k減少(shǎo)到(dào)16k,減少(shǎo)₹ 了(le)70%。gzip适用(yòng)的(de)情況包括♣α↓:


  內(nèi)蒙古網站(zhàn)制(zhì)作(zuò™♥₹ ),內(nèi)蒙古網站(zhàn)設計(jì),內‍ε'(nèi)蒙古網站(zhàn)建設,呼和(hé)浩特網站(zh≠×↔‌àn)建設,呼和(hé)浩特網站(zhàn)制(zhì)作(zuò)、呼和(hé)浩特網站(zhà‌≥∑n)設計(jì)首選內(nèi)蒙古呼和(hé)浩特先誠網絡科(kē)技(jì)公司←✘σ≤、、、先誠官網:/ 

  HTML\CSS\JavaScript文(wén)件(jiàn),gzip算(su→$©àn)法對(duì)于文(wén)本文(wén)件¶✔"(jiàn)的(de)效率比較高(gāo),而jpg/₽÷¥≥gif/png/pdf等二進制(zhì)文(wén)件(jiàn)本身(shēn)已經進行(x↕™♦©íng)了(le)一(yī)次壓縮,再使用(yòng)gziδ p的(de)成效已經不(bù)明(míng)顯了(le≠₩↕)。而且gzip壓縮需要(yào)消耗服務器(qì)的(de)資源↔‍ε,而解壓縮需要(yào)消耗浏覽器(qì)的(d£≠e)資源,對(duì)于比較大(dà)的(de)二進制(zhì)文(wén)件γ ‌λ(jiàn)具有(yǒu)非常高(gāo)的(de)性能( ¥☆néng)消耗;盡量使用(yòng)一(yī)種大(dà)小(xiǎo)寫方式,要↑©α(yào)麽全部大(dà)寫,要(yào)麽全部小(xi∞Ω♠ǎo)寫。學過數(shù)據結構和(hé)算(suàn)÷₹λ 法的(de)同學一(yī)定知(zhī)道(dào)壓縮其本身(shēn)就(jiù∑₹)是(shì)對(duì)冗餘信息熵進行(xíng)壓縮,如(rú)何數(shù)據 ≈•原素的(de)類型種類太多(duō),其信息冗餘度會(huìπ♣)降低(dī),從(cóng)而壓縮率降低(dī);
過小(xiǎo)的(de)文(wén)件(jiàn)(通(tōng)常小(xiǎo)于1™≠50個(gè)字節)不(bù)宜進行(xíng)gzip壓縮,因為(wèi)gzip會(huì)★∏在文(wén)件(jiàn)頭加入相(xiàng)關信息,對(duì)于小↑→≤(xiǎo)文(wén)件(jiàn)反而會(huì)增加文(wén)§​Ω件(jiàn)的(de)長(cháng)度;

  那(nà)麽怎麽看(kàn)您的(de)服務器(qì)是(shì)否 ↕♥開(kāi)啓了(le)呢(ne)?

  打開(kāi)nginx的(de)配置文(wén)件(™☆jiàn),您會(huì)看(kàn)到(dào)相(xiàα∏ng)關的(de)gzip的(de)設置,如(rú)果沒有(yǒu)的(de)話(huà),請(¶∞qǐng)您們公司的(de)運維同事(shì)設置啓用(yòng)即可(kě)。types 是(sγ€¶hì)使用(yòng)哪些(xiē)類型的(de)文(wén)件(jiànγ™)使用(yòng)到(dào)gzip。

  您可(kě)以用(yòng)站(zhàn)長(cháng)工(gōng)具查<©看(kàn)您的(de)站(zhàn)點是(shì)否₩€使用(yòng)gzip了(le),如(rú)使用(yòng)http://tool.chinaz.com/Gzips/可(kě)以查看(kàn)

 2 最小(xiǎo)化(huà)JS和(hé)Ωε↓圖片

  您可(kě)以用(yòng)一(yī)個(gè)壓縮工(<∑₽ gōng)具壓縮即可(kě)。對(duì)于JavaScript文(wén±λ)件(jiàn)本身(shēn)具有(yǒu)非常大↓→ (dà)的(de)優化(huà)空(kōn≤♦✘g)間(jiān)。所謂JavaScript壓縮,就(₽ ←≥jiù)是(shì)通(tōng)過一(yī)些(xiē)工(gōng)具将函數(↕ε✘shù)、變量名進行(xíng)優化(huà)(其實就(jiù)是(shì¥βπ)盡可(kě)能(néng)縮短(duǎn)變​♣量名長(cháng)度),消除多(duō)餘字符(比如(rú)空(σ≈•☆kōng)格、換行(xíng)符、注釋等),最終得(de)到(dào)的(de)代碼可(kě)☆  €以在分(fēn)析和(hé)執行(xíng)上(shàng)得(de)到(dào)性能♦±≤φ(néng)提升。壓縮後得(de)到(dào)的(de)代碼對(duì)于機(jī)器(qì)而言÷•∏↓是(shì)可(kě)讀(dú)的(de),對(duì)于人(rén)來(lái)說(shu♠"​ō)就(jiù)不(bù)行(xíng)了₽'★(le),因為(wèi)文(wén)件(jiàn)內(nèi‍‍)容已經面目全非。所以壓縮一(yī)般用(yòng)于生(s≈  hēng)産期的(de)代碼,不(bù)能(nén¥←σg)使用(yòng)于開(kāi)發期。

3 JavaScript最小(xiǎo)化(huà)

  比如(rú)jquery.form.js,最小(xiǎo)化(huà§™€φ)後減少(shǎo)11.9kb,減少(shǎo←™↔α)54.8%的(de)空(kōng)間(jiān)。點擊minified version,在 ¶★新窗(chuāng)口中可(kě)以看(kàn)到(dà↔♦♥o)Page Speed為(wèi)您優化(huà)好(hǎo)的(de)版本,直接更新到(dà¥≈o)服務器(qì)就(jiù)可(kě)以ε♠↔了(le)。

4 啓用(yòng)浏覽器(qì)緩存

  這(zhè)是(shì)經常使用(yòng≥©>‍)的(de)方法。當請(qǐng)求的(de)資源在浏覽器(qì)本地(dì)得↔$₹→(de)到(dào)緩存後,第二次請(qǐng)求這(zhè)些(x•©iē)內(nèi)容就(jiù)可(kě)以從(cóng)直接緩$¥→存中取出,減少(shǎo)了(le)連線的(de)HTTδ<λP請(qǐng)求。

5 JavaScript延遲加載

  通(tōng)常浏覽器(qì)在解析HTML時(shí)遇到(dào)JS文(↔÷wén)件(jiàn)會(huì)先下(xià)載,ε←↔解析執行(xíng)後才會(huì)下(xi&λπ€à)載後面的(de)內(nèi)容,期間(jiān)自(zì)然會(huì)造≈Ω$成一(yī)定的(de)延時(shí)。為(wèi)了(le)提高(gāo)性能(néng)£≈£,盡可(kě)能(néng)将JS文(wénφ£λ)件(jiàn)的(de)位置後移,如(rú×★)果可(kě)能(néng),還(hái)可(k↓☆₩ě)以通(tōng)過部分(fēn)代碼進行(xíng)異步加載。另外(wài),對(du∏±€ì)于JS和(hé)CSS在必須放(fàng)置在一(yī)起情況,需要∑σ(yào)報(bào)JS放(fàng)置在CSS之後,這(zhè)樣CSS與JS文(wén)件¶≤♠≤(jiàn)可(kě)以同步下(xià)載。

6 文(wén)件(jiàn)拼接,就(jiù)是(shì)¶©™ 可(kě)以合并的(de)文(wén)件(jiàn),就(jiù)合并成一(yī)個(gè)文✔♦(wén)件(jiàn)

7 減少(shǎo)HTTP請(qǐng)求。這(zhè)個(gè)是(↓σ&↔shì)同上(shàng)面的(de)幾個(g★‌è)一(yī)起使用(yòng)的(de)。

8 隻加載head裡(lǐ)的(de)部"≤→★分(fēn)js。其他(tā)的(de)可(kě)以放(fàng)∑$♠到(dào)底部加載。