国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Categories


Tags


WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s)

感謝大CC的投稿:

進(jìn)行優(yōu)化前,關(guān)鍵是剖析當(dāng)前的web性能,找到性能瓶頸,從而確定最需改進(jìn)的地方;如果精力有限,首先將精力放在能明顯提升性能的改進(jìn)點(diǎn)上;

《高性能網(wǎng)站建設(shè)指南》提出了一個性能黃金法則:

只有10%-20%的最終用戶響應(yīng)時(shí)間花在了下載HTML文檔上;其余的80%-90%的時(shí)間花在了下載頁面中的所有組件上。

由于本文將實(shí)施一個完整的優(yōu)化流程,所以,我們還是從后臺開始;

案例說明:

優(yōu)化之前的網(wǎng)站規(guī)模:

2個js、一個頁頭、一個頁腳;3個css;

類型:博客類站點(diǎn);后臺邏輯簡單;首頁不到10個sql查詢;

首頁html文檔52kb;

第一步:后臺優(yōu)化,啟用頁面緩存;

實(shí)驗(yàn)站點(diǎn)首頁后臺邏輯并不復(fù)雜,不超過10個Sql查詢,通過查看時(shí)間線,本站在獲取HTML文檔時(shí),花費(fèi)的時(shí)間不到總響應(yīng)時(shí)間的20%,優(yōu)化之前沒有使用緩存,所有的數(shù)據(jù)都是從數(shù)據(jù)庫讀取,這里,我們使用靜態(tài)頁面緩存,將首頁整個頁面完全的存放在緩存中(關(guān)于YII靜態(tài)頁面緩存的使用,參考這里);

通過查看html文檔的生成時(shí)間來檢測優(yōu)化效果;

首字節(jié)時(shí)間為376ms;html生成的時(shí)間大大縮短,后臺時(shí)間減少了一倍。

優(yōu)化前:

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第1張

優(yōu)化后:

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第2張

第二步,DNS域名解析加速:

DNS解析是用戶訪問站點(diǎn)的第一步,在此之前,你的網(wǎng)站無法做任何事情;

站點(diǎn)的DNS解析時(shí)間不應(yīng)該超過500ms,如果站點(diǎn)原始DNS解析時(shí)間過長,就該考慮考慮使用第三方解析加速服務(wù);

實(shí)驗(yàn)站點(diǎn)的原始DNS解析較慢,平均耗時(shí)1017ms,算是非常長的;對于DNS加速,可以使用DNS域名解析加速服務(wù),本站點(diǎn)采用的國內(nèi)的一款免費(fèi)DNS加速服務(wù)DNSPOD,效果還不錯,使用后平均耗時(shí)降到370ms;

加速前測試:平均解析時(shí)間:1017ms

使用DNS域名解析服務(wù)之后的測試:370ms

第三步:使用CDN加速;

采用第三方CDN加速,時(shí)間縮短到2.1s;從下圖中看到主要的耗時(shí)在于并行下載的個數(shù)有些低,如果能夠提升并行下載量的個數(shù),那么整體加載時(shí)間就會降低;

注:個人建議,啟用CDN最好放在最后一步,等將站點(diǎn)本身的優(yōu)化都做完了之后,再啟用CDN可以明顯的看到優(yōu)化效果。(開啟CDN后,由于有CDN緩存的原因,觀測站點(diǎn)的本身的優(yōu)化就不是很方便了);

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第3張

第四步,采用多臺服務(wù)器提高并行加載量:

原理:一個瀏覽器對與同一域名的并行下載的個數(shù)默認(rèn)是2個, HTTP.1.0中規(guī)定的是4個。這樣,我們可以使用不同的域名來提升下載的速度;

觀察上圖中的下載數(shù)量,第一次并行下載的個數(shù)是4個,初始認(rèn)為是瀏覽器對于同一個域名來源的下載所限導(dǎo)致;于是考慮將部分靜態(tài)文件分別放在不同的服務(wù)器上;通過把css和js放在不同服務(wù)器上;結(jié)果并不理想,發(fā)現(xiàn)并未提高速度。

想到在哪曾看到過,瀏覽器必須得把放在頁頭的css和js下載完成了之后才會開始下載其它的靜態(tài)組件;

關(guān)于并行下載這點(diǎn)上,后續(xù)將繼續(xù)實(shí)驗(yàn)是否還有優(yōu)化的空間。

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第4張

第五步,合并腳本和樣式表;

本站首頁使用了2個js和3個css。如果采用樸素復(fù)制的方式,將js和css都分別整合到一個文件中,不但操作麻煩,而且不方便后期的管理。網(wǎng)絡(luò)上有不少合并的工具,本站采用了CSS和JS合并優(yōu)化工具-minify(下載地址:http://code.google.com/p/minify/)。如果使用的YII框架,更有YII整合版(minscript Extension),簡單幾步的配置,就自動將頁面所有的js和css文件合并;

關(guān)于minscript Extension的使用,請參考:https://bitbucket.org/TeamTPG/minscript/wiki/Usage

第六步,壓縮css/js/html/xml;

不同的web服務(wù)器設(shè)置方式有所差別,本站使用的Linux/apache,

在web根目錄下的.htaccess文件中添加以下代碼即可:

<ifmodule mod_deflate.c>

AddOutputFilter DEFLATE html xml php js css

</ifmodule>

通過firefox工具可看到,壓縮前,html文檔的大小是25KB;合并后的js大小為138KB;

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第5張

壓縮后,html文檔大小為6.2KB。js大小為39.8KB;減少2/3的傳輸時(shí)間;

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第6張

第七步,最大化的減少HTTP請求;

添加Expires頭, 啟用靜態(tài)內(nèi)容緩存,將jpg、gif等文件緩存;

方法也是在.htaccess中添加:

# Image and Flash content Caching for One Month

<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf)$”>

Header set Cache-Control “max-age=2592360″

</FilesMatch>

結(jié)論

查看最終的測試結(jié)果,整體實(shí)現(xiàn)了較大的性能提升,最終頁面展現(xiàn)時(shí)間為1.62s(測試使用的是一個第三方web測速工具,所有測試結(jié)果是在第三方本地?zé)o緩存的條件下進(jìn)行)。仔細(xì)觀察本站最后幾個加載項(xiàng):有一個第三方網(wǎng)站的廣告(加載廣告的時(shí)刻,頁面已經(jīng)全部呈現(xiàn),對用戶體驗(yàn)影響不大),以及cnzz的統(tǒng)計(jì)數(shù)據(jù)。這樣看來,在第12項(xiàng)加載完后,整個頁面就完整的呈現(xiàn)在用戶面前,優(yōu)化最終結(jié)果是1.1s,較優(yōu)化前加載速度提升2s;由于物理?xiàng)l件(虛擬機(jī)、國外站點(diǎn))所限,本次優(yōu)化就到此為止(后續(xù)將在并行下載上做做文章,看是否有進(jìn)一步提升空間)。

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第7張

本次優(yōu)化主要使用的是前端優(yōu)化,其中大部分規(guī)則來自于這本書的指導(dǎo)《高性能網(wǎng)站建設(shè)指南》;如果你的web前端部分還沒有充分優(yōu)化,強(qiáng)烈建議讀讀這本書;

這是一本你只需畫上三小時(shí)就能看完,但收獲價(jià)值遠(yuǎn)遠(yuǎn)大于付出的一本書。

WEB站點(diǎn)性能優(yōu)化實(shí)踐(加載速度提升2s) 性能優(yōu)化 建站教程 第8張

附上本書的目錄:

緒言A:前端性能的重要性

第1章:規(guī)則1——減少HTTP請求

第2章:規(guī)則2——使用內(nèi)容發(fā)布網(wǎng)絡(luò)

第3章:規(guī)則3——添加Expires頭

第4章:規(guī)則4——壓縮組件

第5章:規(guī)則5——將樣式表放在頂部

第6章:規(guī)則6——將腳本放在底部

第7章:規(guī)則7——避免CSS表達(dá)式

第8章:規(guī)則8——使用外部JavaScript和CSS

第9章:規(guī)則9——減少DNS查找

第10章:規(guī)則10——精簡JavaScript

第11章:規(guī)則11——避免重定向

第12章:規(guī)則12——移除重復(fù)腳本

第13章:規(guī)則13——配置ETag

第14章:規(guī)則14——使AjaX可緩存

第15章:析構(gòu)十大網(wǎng)站

頁面大小、響應(yīng)時(shí)間、YSlow等級

如何進(jìn)行測試

來源:盧松松博客


Public @ 2011-10-26 15:37:11

網(wǎng)站備案要多久,阿里云備案需要幾天

網(wǎng)站備案的時(shí)間因地區(qū)和備案機(jī)構(gòu)而不同。通常情況下,網(wǎng)站備案需要1周到1個月不等的時(shí)間。阿里云備案一般需要3-5個工作日。但是,如果提交的資料不完整或存在問題,則可能需要更長時(shí)間。建議提前準(zhǔn)備好所有需要的材料并且仔細(xì)核對,以確保備案順利進(jìn)行。

Public @ 2023-06-15 08:50:06

設(shè)計(jì)英文網(wǎng)站要注意的問題

為什么很多站長開始做英文網(wǎng)站,我想主要是原因是良好的互聯(lián)網(wǎng)環(huán)境讓大家更容易賺到錢,中小站長做英文網(wǎng)站大致為兩類,一是電子商務(wù)的外貿(mào)網(wǎng)站,二是普通的內(nèi)容站。做英文網(wǎng)站首頁要的問題是要盡量適應(yīng)絕大部分國家或地區(qū),也就是產(chǎn)品的“兼容性”,下面盧松松就從網(wǎng)站設(shè)計(jì)角度來探討一下制作英文網(wǎng)站要注意的問題。注意適配分辨率的大小盡管我們的顯示器越來越大,分辨率越來越高,但在我們國家,1024X768像素分辨率依然

Public @ 2011-05-05 15:25:14

網(wǎng)站打開慢常見情況解析

1. 服務(wù)器響應(yīng)時(shí)間慢:這可能是由于服務(wù)器的負(fù)載太高或服務(wù)器的性能不足,因此需要優(yōu)化服務(wù)器性能。 2. 網(wǎng)絡(luò)延遲:在網(wǎng)站和用戶之間傳輸數(shù)據(jù)時(shí),網(wǎng)絡(luò)延遲可以導(dǎo)致網(wǎng)站打開慢。這可能是因?yàn)榫W(wǎng)站的服務(wù)器位置遠(yuǎn)離用戶,或者因?yàn)橛脩羰褂玫氖堑退倬W(wǎng)絡(luò)。 3. 圖片和其他媒體文件過大:如果網(wǎng)站中包含許多大的圖片和視頻文件,那么它們加載的速度就會很慢。此時(shí)需要優(yōu)化這些媒體文件的大小和格式。 4. 第三方腳本:

Public @ 2023-04-13 19:51:34

網(wǎng)站出現(xiàn)Service Unavailable提示怎么辦?

問:為什么我的網(wǎng)站有時(shí)會出現(xiàn)“Service Unavailable”的提示,有時(shí)候刷新幾下又可以訪問。答: 出現(xiàn)這種情況是由于您的網(wǎng)站超過了系統(tǒng)資源限制造成的,主要是流量太大或者程序占用資源太多。1.流量太大比如您購買的是b002型基礎(chǔ)型主機(jī),該主機(jī)的額定流量是15G/月。如果您的網(wǎng)站每月流量在15G,每天流量在0.5G以下,則應(yīng)該能正常訪問。如果連續(xù)幾天的訪問量上升,流量超過0.5G/天,則該

Public @ 2022-11-21 15:37:05

更多您感興趣的搜索

0.454758s