對話企業(yè)家陶利——做企業(yè)靠 19年前,他是一個程序員,初出茅廬,經(jīng)驗(yàn)不足,憑借一己之力闖世界;
省市領(lǐng)導(dǎo)蒞臨億恩科技推進(jìn)電 12月22日上午,由河南省商務(wù)廳,鄭州市商務(wù)局有關(guān)領(lǐng)導(dǎo)蒞臨河南省億
怎樣選擇服務(wù)器托管商?如何 互聯(lián)網(wǎng)開展至今,服務(wù)器方面的受到越來越多人的注重,假如要停止服務(wù)器
網(wǎng)站訪問速度問題其實(shí)應(yīng)該居于站長應(yīng)該考慮的最優(yōu)先的問題,網(wǎng)站訪問慢直接關(guān)系到網(wǎng)站訪問量,用戶體驗(yàn)度的問題。今天我就來給大家介紹幾種通用的解決網(wǎng)站太慢的方法。
這里推薦使用火狐的Firefbug或者谷歌瀏覽器的開發(fā)人員工具(F12),這里以firebug為例,裝好firebug后,在打開firebug的情況下,刷新你的網(wǎng)站頁面,如圖:
通過firebug插件中的網(wǎng)絡(luò)選項(xiàng)卡,我可以知道網(wǎng)頁在加載過程中,所有的請求的訪問速度情況,如上面那條,通過對具體請求的詳情查看,我知道了這個域名光解析竟然用了2秒鐘,而等待響應(yīng)竟然出有近2分鐘。然后接收數(shù)據(jù)時(shí)間也不少。然后通過firebug還可以找出哪個請求鏈接用的時(shí)間最長。
我們將展開比較慢的請求,看詳細(xì)的信息頭:
URL:http://lszm.zmke.com/wp-includes/css/admin-bar.css?ver=20111209
Cache-Control max-age=0
通過頭信息,發(fā)現(xiàn),CSS文件做為靜態(tài)資源,它的Cache-Control的最大緩存量竟然是0,也就是說它禁止了緩存,那么對于每個用戶的訪問來說,每次可能就都需要從我的服務(wù)器上請求到資源,那顯示服務(wù)器壓力也大,用戶訪問也慢,而我去看下百度的響應(yīng)頭信息
URL:http://upload.chinaz.com/2011/1221/1324434300126.gif
Cache-Control max-age=315360000
Expires Thu,16 Dec 2021 06:53:18 GMT
Accept-Encoding gzip, deflate
百的圖片在瀏覽器上的緩存過期時(shí)間是10年,到2021年,而頁面也是經(jīng)過gzip壓縮過的,緩存最大值也是非常大。
而百度的訪問過程也正說明了這一點(diǎn),通過這樣的優(yōu)化,從服務(wù)器上加載的數(shù)據(jù)量不再是全部,總量86KB,其中33KB來自瀏覽器緩存
通過上面的方法得到的結(jié)論是,對于這個網(wǎng)站,主要要解決的問題是:
a.解析的問題
b.服務(wù)器的優(yōu)化
c.網(wǎng)絡(luò)的問題
解析問題其實(shí)很好辦,國內(nèi)有很多免費(fèi)的DNS提供商,如果我們存在這樣的問題,直接換個DNS提供商就行了。這里主要是來講下緩存時(shí)間的設(shè)置,以NGINX服務(wù)器為例。
打開nginx的配置文件,
location / {
root /var/www;
index index.html index.htm index.php;
}
location ~* ^.+\.(jpg|jpeg|swf|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
root /var/www;
access_log off;
expires 350d;
}
在location中,我們可以對靜態(tài)文件做專門的緩存處理,添加expires項(xiàng),即過期時(shí)間,在這里我設(shè)置的是350天,也就是說如果用戶沒有清空自己的瀏覽器緩存,那么在訪問過一次之后,在后面的二次訪問時(shí),都會直接從瀏覽器緩存中拿到圖片,而不再經(jīng)過我的服務(wù)器,這樣顯然,對于圖片、靜態(tài)資源很多的網(wǎng)站,這樣提高速度的效果很明顯。
13 http {
14 include /etc/nginx/mime.types;
15
16 access_log /dev/null;
17
18 sendfile on;
19 tcp_nopush on;
20
21 #keepalive_timeout 0;
22 keepalive_timeout 0;
23 tcp_nodelay on;
24 client_max_body_size 160m;
25 gzip on;
26 gzip_disable "MSIE [1-6]\.(?!.*SV1)";
在http區(qū)域中,我們設(shè)置gzip為on,在后面我還做了一些正則參數(shù),即IE1-6是不壓縮的,因?yàn)?span>IE1-6對壓縮支持不是很好。
做好這二項(xiàng)后,然后重啟下nignx服務(wù)器,就開始生效了。
當(dāng)然有的同學(xué)的網(wǎng)站可能自己還接觸不到服務(wù)器這一層,如網(wǎng)站空間用戶等,可以使用免費(fèi)的CDN服務(wù),加入后,CDN的各節(jié)點(diǎn)就會將上述的問題妥善解決,包括域名解析、電信網(wǎng)通的互通問題等。看下效果:
最后:當(dāng)然,加速并不是萬能的,選擇一款好的服務(wù)器是最根本的,如果上面的方法還不能解決問題,那就得考慮從硬件上提升了。