成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【nginx網(wǎng)站性能優(yōu)化篇(1)】gzip壓縮與expire瀏覽器緩存

Forelax / 2451人閱讀

摘要:壓縮概述網(wǎng)頁(yè)在服務(wù)器端經(jīng)過(guò)了或者其他格式的壓縮后的輸出明顯減少了字節(jié)當(dāng)訪問(wèn)過(guò)百萬(wàn)時(shí)這些減少的字節(jié)就會(huì)變?yōu)榭陀^的流量給節(jié)約下來(lái)從而減輕服務(wù)器的壓力以及網(wǎng)頁(yè)的訪問(wèn)速度原理客戶端在向服務(wù)端發(fā)送請(qǐng)求時(shí)在請(qǐng)求頭中有一個(gè)的頭信息該頭信息告知服務(wù)器端

gzip壓縮 概述

網(wǎng)頁(yè)在服務(wù)器端經(jīng)過(guò)了gzip或者其他格式的壓縮后的輸出明顯減少了content-length字節(jié),當(dāng)訪問(wèn)過(guò)百萬(wàn)時(shí),這些減少的字節(jié)就會(huì)變?yōu)榭陀^的流量給節(jié)約下來(lái);從而減輕服務(wù)器的壓力以及網(wǎng)頁(yè)的訪問(wèn)速度;

原理

客戶端在向服務(wù)端發(fā)送http請(qǐng)求時(shí),在請(qǐng)求頭中有一個(gè)Accept-Encoding的頭信息,該頭信息告知服務(wù)器端本客服端能接收什么樣的壓縮文件,如果服務(wù)器端配置了壓縮的需求,就會(huì)返回相應(yīng)的壓縮文件,然后瀏覽器再解碼呈現(xiàn)出來(lái);我們?cè)谧霾杉瘯r(shí),需要采集的是未壓縮的文件,所以在http請(qǐng)求頭上不要包含Accept-Encoding的鍵;

通過(guò)這個(gè)原理在php給app寫接口時(shí),可做一些安全方面的處理,具體如何實(shí)現(xiàn),期待和有經(jīng)驗(yàn)的app開(kāi)發(fā)人員一起研究.
Nginx的壓縮

在http段添加如下配置

gzip on|off;  #是否開(kāi)啟gzip
gzip_buffers 32 4K| 16 8K #緩沖(壓縮在內(nèi)存中緩沖幾塊? 每塊多大?)
gzip_comp_level [1-9] #推薦6 壓縮級(jí)別(級(jí)別越高,壓的越小,越浪費(fèi)CPU計(jì)算資源)
gzip_disable #正則匹配UA 什么樣的Uri不進(jìn)行g(shù)zip
gzip_min_length 200 # 開(kāi)始?jí)嚎s的最小長(zhǎng)度(再小就不要壓縮了,意義不在)
gzip_http_version 1.0|1.1 # 開(kāi)始?jí)嚎s的http協(xié)議版本(可以不設(shè)置,目前幾乎全是1.1協(xié)議)
gzip_proxied          # 設(shè)置請(qǐng)求者代理服務(wù)器,該如何緩存內(nèi)容
gzip_types text/plain  application/xml # 對(duì)哪些類型的文件用壓縮 如txt,xml,html ,css
gzip_vary on|off  # 是否傳輸gzip壓縮標(biāo)志

Example

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied   expired no-cache no-store private auth;
gzip_disable   "MSIE [1-6].";

注意:

圖片/mp3這樣的二進(jìn)制文件,不必壓縮,因?yàn)閴嚎s率比較小, 比如100->80字節(jié),而且壓縮也是耗費(fèi)CPU資源的.

比較小的文件不必壓縮,意義不存在.

expire瀏覽器緩存設(shè)置 概述

這里的緩存控制主要是針對(duì)圖片,css,js等變化周期較短的靜態(tài)文件;以圖片為例,當(dāng)我們第一次訪問(wèn)這張圖片時(shí),服務(wù)器返回的是200,同時(shí)在響應(yīng)頭返回了兩個(gè)鍵,Etag:即該文件的"指紋"(唯一標(biāo)識(shí))以及Last-Modified:"文件的修改時(shí)間";此時(shí)瀏覽器,以及其他的緩存服務(wù)器就會(huì)把這張圖片給緩存起來(lái);再次請(qǐng)求這張圖片時(shí),請(qǐng)求頭增加了兩個(gè)鍵值,If-Modified-Since:上次發(fā)生改變的時(shí)間;If-None-Match:上次文件本身的Etag值,服務(wù)器根據(jù)這兩個(gè)鍵值判斷其Etag和Last-Modified,如果都沒(méi)發(fā)生改變就不返回這張圖片,只返回一個(gè)304的狀態(tài)碼,服務(wù)器接收到這個(gè)304的狀態(tài)碼就會(huì)自己去從緩存里面找這個(gè)被緩存的圖片;
這樣就減少了服務(wù)器的帶寬壓力以及提升了網(wǎng)站訪問(wèn)速度;

配置

在location段以及if段可以設(shè)置

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
}

location ~ .*.(js|css)?$
{
    expires      12h;
}

格式

expires 30s;
expires 30m;
expires 2h;
expires 30d;

注意:服務(wù)器的日期要準(zhǔn)確,如果服務(wù)器的日期落后于實(shí)際日期,可能導(dǎo)致緩存失效

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40501.html

相關(guān)文章

  • nginx網(wǎng)站性能優(yōu)化(4)】理解nginx的高并發(fā)原理及其配置調(diào)優(yōu)

    摘要:使用了多路復(fù)用技術(shù)的,就成了并發(fā)事件驅(qū)動(dòng)的服務(wù)器。進(jìn)程主要負(fù)責(zé)收集分發(fā)請(qǐng)求。同時(shí)進(jìn)程也負(fù)責(zé)監(jiān)控的狀態(tài),保證高可靠性進(jìn)程一般設(shè)置為跟核心數(shù)一致。所以才使得支持更高的并發(fā)。配置調(diào)優(yōu)調(diào)整指要生成的數(shù)量最佳實(shí)踐是每個(gè)運(yùn)行個(gè)工作進(jìn)程。 Nginx 是如何實(shí)現(xiàn)高并發(fā)的? Nginx 采用的是多進(jìn)程(單線程) & 多路IO復(fù)用模型。使用了 I/O 多路復(fù)用技術(shù)的 Nginx,就成了并發(fā)事件驅(qū)動(dòng)的服務(wù)...

    CODING 評(píng)論0 收藏0
  • PHP 進(jìn)階之路 - 億級(jí) pv 網(wǎng)站架構(gòu)實(shí)戰(zhàn)之性能壓榨

    摘要:業(yè)務(wù)和架構(gòu)不分家,架構(gòu)是建立在對(duì)業(yè)務(wù)的理解之上的。主鍵最好保持順序遞增,隨機(jī)主鍵會(huì)導(dǎo)致聚簇索引樹(shù)頻繁分裂,隨機(jī)增多,數(shù)據(jù)離散,性能下降。沒(méi)有索引的更新,可能會(huì)導(dǎo)致全表數(shù)據(jù)都被鎖住。 本博客并非全部原創(chuàng),其實(shí)是一個(gè)知識(shí)的歸納和匯總,里面我引用了很多網(wǎng)上、書(shū)上的內(nèi)容。也給出了相關(guān)的鏈接。 本文涉及的知識(shí)點(diǎn)比較多,大家可以根據(jù)關(guān)鍵字去搜索相關(guān)的內(nèi)容和購(gòu)買相應(yīng)的書(shū)籍進(jìn)行系統(tǒng)的學(xué)習(xí)。不對(duì)的地方...

    SnaiLiu 評(píng)論0 收藏0
  • 前端面試--性能優(yōu)化

    1. 知識(shí)體系 1.1從輸入 URL 到頁(yè)面加載完成,發(fā)生了什么? 首先我們需要通過(guò) DNS(域名解析系統(tǒng))將 URL 解析為對(duì)應(yīng)的 IP 地址,然后與這個(gè) IP 地址確定的那臺(tái)服務(wù)器建立起 TCP 網(wǎng)絡(luò)連接,隨后我們向服務(wù)端拋出我們的 HTTP 請(qǐng)求,服務(wù)端處理完我們的請(qǐng)求之后,把目標(biāo)數(shù)據(jù)放在 HTTP 響應(yīng)里返回給客戶端,拿到響應(yīng)數(shù)據(jù)的瀏覽器就可以開(kāi)始走一個(gè)渲染的流程。渲染完畢,頁(yè)面便呈現(xiàn)給了...

    XiNGRZ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Forelax

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<