精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

緩存設計詳解:低成本的高性能Web應用解決方案

譯文
開發 前端
網站性能直接影響訪問速度,從而影響訪問量。實現高性能Web應用的重要性是不言而喻的。性能瓶頸主要體現在高延時、擁塞和服務器負載,專業的解決方法往往成本較高。做好緩存的設計則可以在控制成本的情況下充分的提高性能。

【51CTO精選譯文】過去幾年中,Web應用程序已經從簡單的HTML頁面堆積演變成使用各種各樣的技術構建高可擴展性和交互式的富應用程序。設計和開發這類應用程序變得越來越復雜,此外,決策者正越來越多地尋求構建更豐富的互動功能到這些應用程序中,同時還要保證可維護性和高性能,但高性能意味著高成本。為了構建提供給最終用戶體驗的是一個牢固的應用程序,開發人員需要解決潛在的性能瓶頸。

本文側重于緩存——它是交付高性能Web應用程序急需的——也簡要介紹一下壓縮功能。有一些公司在生產和銷售專門的壓縮和性能產品。本文旨在簡單介紹在尋求專業產品解決性能問題之前開發人員可以在客戶端和服務器端對Web應用程序做的一些性能改進。

性能瓶頸

性能瓶頸主要體現在高延時擁塞服務器負載。緩存不能完全解決掉這三個問題,但經過詳細的設計考慮,緩存是可以提高性能的。在服務器端和客戶端都緩存內容,據調查,平均而言,下載HTML只需要總的用戶響應時間的10-20%,剩下的80-90%全部用于下載頁面中的其它組成內容,這些組成內容通常包括圖像,如公司logo,緩存logo可以有效避免到服務器的多次往返。在前日51CTO上發布的加速,加速,再加速:來自Google的網站加速技巧大全中,Google提到的提升網站速度和性能的低成本技巧中就包括緩存這一條。至于架構設計方面,則可參考51CTO的視頻專題:大型網站架構專家談

簡單地講,緩存是臨時存儲。它將數據復制到不同的計算機或不同于原始數據源的位置,有了正確的配置,訪問緩存數據的速度比訪問原始數據的速度要快得多,使用緩存數據可以減小服務器負載和帶寬消耗,從最終用戶的角度來看就是性能提高了。

圖1顯示了Internet如何工作的快速總攬,以及緩存在哪里發生作用。

圖 1 Internet上的緩存:這個圖顯示了常見的請求和檢索緩存信息的時機 
圖 1 Internet上的緩存:這個圖顯示了常見的請求和檢索緩存信息的時機

緩存

正如你在圖1中所看到的,在服務器和客戶端上緩存數據既是可能的也是有效的,圖2顯示了這三個緩存位置的不同視圖。

圖 2 緩存配置:此圖顯示了三個典型的緩存位置 
圖 2 緩存配置:此圖顯示了三個典型的緩存位置

1、客戶端瀏覽器緩存:瀏覽器緩存Web對象后,可以對重復的請求直接響應,不用再從Internet請求數據了。

2、服務器端轉發代理緩存:雖然可能有些變化,但這些緩存位置通常是在最終用戶防火墻里面,可以對請求直接響應,不需要從原始來源請求數據。

3、服務器端反向代理緩存:也被稱為網關或代理緩存,這些緩存服務器的操作代表了客戶的來源服務器,術語“內容分發網絡(CDN)”就是這些反向代理緩存的集合。

你可以緩存任何可能不止一次被請求的對象,但總有一個危險就是緩存的對象很可能變得陳舊,也就是說,沒有準確地反應原始數據。不過可以使用兩個參數來控制所有可緩存的對象:freshness和validation。freshness和validation都可以使用HTTP請求和相應組合來進行確定。

◆Freshness確定某個對象是否可以從緩存中獲得,使用expires和cache-control:max-age頭進行控制。

◆Validation確定某個對象是否已經陳舊,使用last-modified和if-modified-since頭進行控制。

設計高度緩存的Web應用程序

企業級Web應用程序既有靜態部分又有動態部分,只要進行了正確的設計和架構,都能夠實現靜態部分從緩存中獲取,動態部分從原始服務器獲取,但第一步是確定要緩存什么,圖3提供了一個指南,可以幫助你確定哪些對象是可緩存,哪些對象是動態的(不可緩存的)。

圖 3 確定緩存能力:此圖提供了某個對象是否應該緩存的指南 
圖 3 確定緩存能力:此圖提供了某個對象是否應該緩存的指南

應用程序架構在可緩存對象和不可緩存對象之間有一點差異,開發人員應該尋求最大限度的緩存命中率,同時要避免緩存動態對象。下面是一些最佳實踐:

1、使用緩存控制(cache-control:max-age)和有效期(Expires)頭

2、使用最后修改時間(last-modified)頭

3、檢查Web服務器是否支持If-Modified-Since

4、調查為小型站點使用轉向代理的可行性,或為大型企業網站從CDN廠家獲得專業人員的幫助

5、根據網站的可擴展性思考是使用數據中心還是托管

6、自己動手編碼常常需要大量的時間和精力,根據站點的規模,可以考慮采用開源緩存方法,如使用Squid作為代理服務器

7、為文件下載明確使用混合緩存機制

8、確保那些無用戶/輸入依賴的動態事務可以獲得緩存,為不同對象創建緩存映像可以幫助將可緩存對象和不可緩存對象隔離開來

9、小心完全忽略緩存頭的內容管理系統(CMS)

#p#

為緩存使用頭(Header)

本節覆蓋了為緩存目的最有用的頭。

控制緩存

在HTTP 1.1規范中,服務器應該為緩存控制頭發送一個無緩存響應,以指出內容不應該被緩存,客戶端和服務器端都應該遵守這個頭信息,以防止頭中已經聲明了的動態內容,大多數開發語言都支持使用這個頭信息控制響應頭值。

另一方面,你可以為cache-control頭返回一個public服務器端應答來允許緩存(即使沒有cache-control頭也可以指出對象是可以緩存的),cache-control頭的值為private是一個特殊情況,表示瀏覽器可能會在本地緩存對象,但代理服務器不會緩存它。

圖4中的請求——響應工作流顯示了Google如何通過cache-control頭通知代理服務器不要緩存的。

圖 4 停止代理服務器緩存:請求--應答流顯示服務器返回private阻止代理服務器緩存 
圖 4 停止代理服務器緩存:請求--應答流顯示服務器返回private阻止代理服務器緩存

最后,服務器使用expires應答時包括了一個表示有效期的日期/時間戳,直到有效期滿之前瀏覽器都可以緩存中的對象。如圖5所示。

圖 5 過期內容:Google的Gmail服務器返回一個expires頭,包括緩存頁面的過期日期和時間 
圖 5 過期內容:Google的Gmail服務器返回一個expires頭,包括緩存頁面的過期日期和時間

這一點你可以驗證,Gmail允許瀏覽器緩存Gmail主頁,直到expires頭中明確指定的時間到了為止。

使用Last-Modified 頭

瀏覽器使用這個頭信息來確定緩存對象生存期的有效性,瀏覽器請求這個對象時,服務器使用一個包含該對象最后修改時間的時間戳的Last-Modified 頭進行響應,當用戶下次請求相同的對象時,如果當前的時間戳超出了對象的使用期限,或者用戶是通過刷新方式請求該頁面的,瀏覽器會向服務器發送一個if_modified_since請求確定對象是否發生了變化,如果對象的確發生了變化,瀏覽器就發送一個完整的GET請求以獲取新的對象并將其再次緩存起來,否則,瀏覽器就從它的緩存中提取對象,并更新對象的last-modified值。圖6顯示了一個工作實例。

圖 6 最后修改時間:last-modified時間戳讓瀏覽器確定是使用本地緩存內容還是重新請求內容 
圖 6 最后修改時間:last-modified時間戳讓瀏覽器確定是使用本地緩存內容還是重新請求內容

舉一個例子,假設瀏覽器在請求www.yahoo.com時,服務器使用last-modified時間戳進行響應,和使用if-modified-since頭進行響應(參考圖7)時對比一下,看行為有何不同。

圖 7 檢查修改:通過發送if-modified-since頭,服務器將會使用一個表示自時間戳指定時間以來是否發生了變化的值進行響應 
圖 7 檢查修改:通過發送if-modified-since頭,服務器將會使用一個表示自時間戳指定時間以來是否發生了變化的值進行響應

在圖7中,瀏覽器使用if-modified-since頭發送一個請求,服務器使用304代碼進行響應,表示瀏覽器可以使用緩存,不用發起一個完整的GET請求。

為了全面理解這些頭信息的效果,最好的辦法是你自己動手實驗一翻,使用各種不同的頭信息組合,并觀察它們的行為,分析頭信息的一個好工具是Wfetch。

自己動手的方法

正如前面給出的建議,自己動手(DIY)的方法并不總是捷徑,專門提供CDN加速的產品和解決方案可以滿足不同類型的需求。但如果你要開發的是一個內部使用的產品,可以提供幫助的可能只有Squid了,Squid被用作許多產品的一個組成部分,許多ISP也在使用它。例如,在Java應用程序中,Squid可以被用作Tomcat服務器的代理,Squid提供的不僅僅是HTTP緩存,但關于它的完整介紹已經超出了本文的范圍,請讀者自行搜索相關文章,可以在Wikimedia看到另一個使用Squid的例子。

HTTP壓縮

緩存僅僅是提高Web應用程序性能的方法之一,壓縮是另一個關鍵方法,HTTP壓縮在內容發送到客戶端之前將其壓縮,在客戶端和服務器端都有壓縮功能,當服務器交付的是壓縮內容時,由瀏覽器進行解壓,這樣可以節約寶貴的帶寬,減少成本和提高響應時間。

瀏覽器使用值為gzip的accept-encoding—typically頭宣稱它們支持壓縮,服務器使用content-encoding頭指定應答數據的編碼,例如,如果使用的是gzip格式進行壓縮,服務器應該使用值為gzip的content-encoding 頭進行響應。

服務器檢查響應的MIME類型,只壓縮那些通過壓縮可以獲得好處的類型,如文本文件、HTML和PDF文件,圖像格式如gif文件不會從壓縮技術獲得什么好處,因為gif本身已經是壓縮格式了,視頻文件以及其它預壓縮的二進制文件也不會從壓縮功能獲得好處。

注意:代理服務器應該和來源服務器支持同類型的壓縮。

總體而言,結合緩存和壓縮功能可以提高Web應用程序的性能,因此還提高了應用程序的可擴展性。

原文:A Guide to Caching and Compression for High Performance Web Applications

作者:Puneet Sangal

【編輯推薦】

  1. 高性能、高流量互聯網應用架構設計實戰原則
  2. 高性能Web應用的六個好習慣
  3. 小規模低性能低流量網站架構設計
  4. 大型網站架構不得不考慮的10個問題
  5. 大中型網站架構探秘
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2011-07-05 15:39:50

FTTH

2009-07-31 11:41:12

光纖連接數據中心

2020-03-23 14:35:28

前端架構應用程序

2009-05-25 10:18:20

2009-12-04 12:26:13

2009-04-03 11:26:12

AMD上海皓龍

2017-11-28 17:14:16

華為云

2011-11-28 13:53:03

2018-11-12 11:12:46

2010-04-07 16:13:04

雙層寬帶無線接入

2013-09-25 17:31:08

Storwize V5虛擬化存儲

2016-03-13 17:35:18

2017-04-25 13:53:38

戴爾數據中心服務器

2024-05-15 17:14:29

2022-08-17 14:19:05

高性能計算

2012-03-01 17:17:30

2012-08-03 15:51:37

HillstoneNAT

2009-01-07 01:34:10

SunHPC高性能計算

2010-05-11 11:42:19

2011-01-21 09:55:07

點贊
收藏

51CTO技術棧公眾號

亚洲欧美国产精品专区久久| 岛国av一区二区三区| 国产欧美亚洲视频| 久久精品黄色片| 国产精品白丝一区二区三区 | 成年人在线免费看片| 欧美系列精品| 午夜日韩在线观看| 亚洲人成网站在线播放2019| 亚洲AV无码一区二区三区少妇| 国产欧美午夜| 日韩视频中文字幕| 亚洲中文字幕一区| 亚洲欧洲一二区| 精品毛片三在线观看| 亚洲一区二区三区涩| 免费国产精品视频| 久久成人久久鬼色| 日韩av免费在线| a级片在线观看免费| 神马影视一区二区| 日韩精品在线一区| 国产精品视频中文字幕| 热三久草你在线| 亚洲视频在线一区| 视频一区二区三区在线观看| 日本久久一级片| 极品美女销魂一区二区三区 | 欧美电影网址| 亚洲午夜电影在线| 亚洲一区二区三区四区中文| 可以免费看污视频的网站在线| 国产综合色精品一区二区三区| 日本亚洲欧洲色α| 日韩伦人妻无码| 亚洲欧美色图| 日韩视频在线观看免费| 人人人妻人人澡人人爽欧美一区| 国产一区二区三区亚洲| 欧美一级日韩不卡播放免费| 精品999在线| 成人小电影网站| 天天亚洲美女在线视频| 日韩亚洲欧美一区二区| av毛片在线免费| 国产精品久久777777| 日韩中文字幕一区二区| 韩国三级av在线免费观看| 91亚洲精华国产精华精华液| 国产日产精品一区二区三区四区| 亚洲精品福利网站| 国产精品一区二区三区网站| 成人观看高清在线观看免费| 91丨porny丨在线中文| 日本伊人精品一区二区三区观看方式| 欧美专区中文字幕| 色一情一乱一伦| 国产模特精品视频久久久久| 欧美在线一区二区三区四| 日韩 国产 在线| 国产一级久久| 日本午夜人人精品| 欧美日韩 一区二区三区| 视频在线观看国产精品| 国产精品露脸av在线| 国产男人搡女人免费视频| 日韩电影一二三区| 91精品国产自产在线| 国产三级按摩推拿按摩| 国产酒店精品激情| 国产精品久久国产精品| 天天操天天干天天| 国产清纯美女被跳蛋高潮一区二区久久w | 羞羞影院欧美| 欧美日韩你懂的| 欧美精品 - 色网| 亚洲大奶少妇| 亚洲国产婷婷香蕉久久久久久| 最近中文字幕无免费| 亚洲国产欧美日韩在线观看第一区| 亚洲精品在线视频| 极品尤物一区二区| 国语对白精品一区二区| 91av在线视频观看| 中国黄色一级视频| 国产福利一区二区| 乱色588欧美| av二区在线| 夜色激情一区二区| 日本wwww视频| 成年永久一区二区三区免费视频| 精品国产一二三区| 亚洲一区视频在线播放| 欧美日韩免费| 国产精品69精品一区二区三区| 91成人在线免费| 不卡视频免费播放| 亚洲精品永久www嫩草| 七七久久电影网| 在线看一区二区| 第一页在线视频| 综合伊思人在钱三区| www.亚洲男人天堂| www.国产高清| 国产麻豆9l精品三级站| 蜜桃91精品入口| 黄色免费在线网站| 亚洲精品国产高清久久伦理二区| 国产免费成人在线| 视频亚洲一区二区| 国产亚洲一区精品| 久久伊人成人网| 欧美bbbbb| 国产女主播一区二区| 91吃瓜网在线观看| 精品人伦一区二区三区蜜桃网站 | 91美女免费看| 国产综合成人久久大片91| 奇米精品在线| 国产精品一二三产区| 欧美精品日韩精品| 精品人妻互换一区二区三区| 激情文学一区| 91人成网站www| 最新国产在线观看| 一本久道中文字幕精品亚洲嫩| 亚洲成人精品在线播放| 99久久.com| 国产精品福利观看| 少妇荡乳情欲办公室456视频| 久久精品一区二区| 男人插女人视频在线观看| 久久的色偷偷| 久久精品亚洲一区| 在线观看黄色网| 国产亚洲女人久久久久毛片| 中文字幕日本最新乱码视频| 福利电影一区| 韩剧1988在线观看免费完整版| 国产精品高潮呻吟久久久| 国产精品视频一二三区| 日本成人中文字幕在线| 一本久久青青| 日韩免费在线视频| 男人av在线| 日韩欧美一区二区在线| 国产精品九九九九九| 99视频一区| 久久精品美女| 最新欧美色图| 亚洲天堂第一页| 樱花视频在线免费观看| 久久久久久麻豆| 免费看a级黄色片| 精品一区二区三区中文字幕老牛| 日韩美女免费观看| 国自产拍在线网站网址视频| 在线观看91视频| xxxxx99| 国产一区二区三区四区五区美女| 在线看成人av电影| 高清久久精品| 欧美激情手机在线视频 | av在线不卡网| 九色在线视频观看| 国产精品密蕾丝视频下载| 国产精品久久久久久搜索 | 特黄特色欧美大片| 国产91色在线| 精品自拍一区| 精品第一国产综合精品aⅴ| 一级片中文字幕| 欧美激情在线一区二区| 热久久久久久久久| 激情久久一区| 日韩在线电影一区| 日本一区二区三区电影免费观看 | 日韩精品一区二区三区| 丝袜亚洲另类欧美重口| 国产黄色一区二区| 亚洲a一区二区| 蜜桃无码一区二区三区| 久久精品99国产精品| 亚洲五码在线观看视频| 日韩成人动漫在线观看| 国产视频福利一区| 欧美1234区| 亚洲性无码av在线| 国产成人免费看一级大黄| 精品色蜜蜜精品视频在线观看| 欧洲av一区二区三区| 国产精品自拍av| 黄色免费观看视频网站| 色婷婷亚洲mv天堂mv在影片| 精品不卡在线| 久久福利在线| 77777亚洲午夜久久多人| 91欧美在线视频| 亚洲精品久久久一区二区三区| 性高潮视频在线观看| 亚洲制服丝袜一区| 蜜乳av中文字幕| 不卡在线观看av| 欧洲美女亚洲激情| 久久这里有精品15一区二区三区| 欧美少妇在线观看| 精品国产一区二区三区小蝌蚪| 99在线热播| 日韩国产91| 欧美在线视频免费播放| 好看的中文字幕在线播放| 在线观看久久av| 先锋av资源站| 精品国产一区二区精华| 国产精品久久无码一三区| 一本色道久久综合亚洲91 | 欧美国产91| 亚洲精品一区二区三| 免费国产自久久久久三四区久久| 成人片在线免费看| 99久久99九九99九九九| 亚洲成人精品一区| 国产做受高潮69| 久草视频视频在线播放| 欧美不卡视频一区| 国产精品久久综合青草亚洲AV| 日本高清免费不卡视频| 亚洲免费激情视频| 亚洲黄色性网站| 蜜桃视频最新网址| 国产精品沙发午睡系列990531| 亚洲一区二区乱码| 国产.欧美.日韩| 伊人五月天婷婷| 老色鬼精品视频在线观看播放| 欧美黄色一级片视频| 亚洲一区图片| 欧美 丝袜 自拍 制服 另类| 最新亚洲激情| 97中文字幕在线| 欧美午夜影院| 日韩成人三级视频| 国产精品a级| 日本免费黄色小视频| 亚洲天天综合| 午夜啪啪福利视频| 中文字幕乱码亚洲无线精品一区| 午夜啪啪免费视频| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 99视频在线| 91免费精品国偷自产在线在线| 99porn视频在线| 丁香五月缴情综合网| 动漫美女被爆操久久久| 黑人久久a级毛片免费观看| 国产成人av一区二区三区| 波多野结衣欧美| 国产尤物99| 综合色就爱涩涩涩综合婷婷| 久久久99爱| 精品欧美久久| 日韩视频在线观看视频| 最新精品国产| 日韩日韩日韩日韩日韩| 在线亚洲观看| 中文字幕第21页| 激情图区综合网| 无码人妻aⅴ一区二区三区玉蒲团| 国产91综合一区在线观看| 中文在线一区二区三区| 国产视频一区二区在线| 免费看特级毛片| 一区二区三区在线观看国产| 日韩成人一区二区三区| 日韩欧美黄色动漫| 伊人影院中文字幕| 日韩视频不卡中文| 亚洲欧洲综合在线| 色偷偷亚洲男人天堂| 国产精品一区二区三区视频网站| 久久久久久久久电影| 少妇在线看www| 国产精品综合网站| 日韩激情精品| 欧美福利精品| 91精品久久久久久久久久不卡| 日本人体一区二区| 日本亚洲三级在线| www.四虎精品| 中文字幕欧美国产| 免费在线黄色片| 色狠狠桃花综合| www.桃色av嫩草.com| 亚洲欧美福利视频| 2024最新电影在线免费观看| 欧美尤物巨大精品爽| 日韩免费大片| 精品午夜一区二区三区| 国产精品99视频| 欧美 日韩 国产在线观看| 国产在线一区观看| 魔女鞋交玉足榨精调教| 亚洲欧美电影一区二区| 日韩精品久久久久久免费| 日韩一卡二卡三卡四卡| 免费福利在线观看| 欧美激情乱人伦一区| 国产欧美在线观看免费| 国产在线精品一区二区中文| 久久久久蜜桃| 日本999视频| caoporen国产精品视频| 九九热视频在线免费观看| 一道本成人在线| 少妇精品视频一区二区| 久久影视电视剧免费网站清宫辞电视 | 欧美日韩第一视频| 国产精品久久乐| 欧美精品久久| 99国产精品99久久久久久粉嫩| 两性午夜免费视频| 欧美高清在线一区二区| aaa人片在线| 亚洲成人黄色在线观看| av网站免费在线观看| 国产日韩在线免费| 红桃成人av在线播放| 国产一区二区三区精彩视频| 粉嫩av亚洲一区二区图片| 乱h高h女3p含苞待放| 欧美男生操女生| 国产人成在线视频| 琪琪亚洲精品午夜在线| 免费萌白酱国产一区二区三区| 草草草视频在线观看| 国产一区二区成人久久免费影院| 久久电影一区二区| 国产精品刘玥久久一区| 国产精品视频免费在线| 国产一区网站| 蜜臀久久99精品久久久酒店新书| 91在线免费播放| 国产系列精品av| 亚洲精品一区二区三区福利| 亚洲制服国产| 亚洲最大福利网站| 亚洲成人三区| 国产男女无遮挡猛进猛出| 亚洲欧美日韩国产另类专区 | 日韩精品专区在线| 毛片大全在线观看| 国产精品久久国产三级国电话系列| 欧美女激情福利| 91av免费观看| 亚洲一区二区高清| 亚洲乱码国产乱码精品精软件| 欧美美最猛性xxxxxx| 日韩精品一区二区三区中文 | 亚洲欧美日韩国产一区| 性色av蜜臀av色欲av| 日韩欧美在线第一页| 亚洲av成人精品一区二区三区在线播放| 国内精品400部情侣激情| 欧美日韩一区二区三区不卡视频| 黑人糟蹋人妻hd中文字幕| wwwwxxxxx欧美| 中文无码av一区二区三区| 最新中文字幕亚洲| 欧美一级片网址| 国产自产在线视频| 久久久久久久久久美女| 亚洲一卡二卡在线| 欧美激情欧美狂野欧美精品| 麻豆国产欧美一区二区三区r| 青青草原成人网| 国产精品久久久久久福利一牛影视 | 欧美成人高清在线| 99在线影院| 香蕉久久夜色精品国产| 999久久久国产| 精品久久人人做人人爽| 欧美成人黑人| 99精品一区二区三区的区别| aa级大片欧美| 一级特黄录像免费看| 欧美极品在线视频| 欧美亚洲在线日韩| 国产精品无码自拍| 欧美主播一区二区三区美女| 中文字幕在线观看网站| 欧美日韩一区二| 国产激情偷乱视频一区二区三区 | av毛片在线免费看| 久久天天狠狠| 国产精品自拍网站| 天天操天天干天天摸| 欧美大荫蒂xxx| 第一sis亚洲原创| 荫蒂被男人添免费视频| 欧美日韩1区2区|