如何建设高性能网站.ppt_第1页
如何建设高性能网站.ppt_第2页
如何建设高性能网站.ppt_第3页
如何建设高性能网站.ppt_第4页
如何建设高性能网站.ppt_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HighperformanceWebSites,richardchang,不知大家有没有看过这个ppt,以及这个架构图,YahoosCase,Performanceresearchand14rules,ExceptionalPerformance,startedin2004quantifyandimprovetheperformanceofallYahoo!productsworldwidecenterofexpertisebuildtools,analyzedatagather,research,andevangelizebestpractices,Scope,performancebreaksintotwocategoriesresponsetimeefficiencycurrentfocusisresponsetimeofwebproducts,TheImportanceofFront-EndPerformance,percentageoftimespentonthefront-end,Back-endvs.Front-end,ThePerformanceGoldenRule,80-90%oftheend-userresponsetimeisspentonthefront-end.Startthere.GreaterpotentialforimprovementSimplerProventowork,PerformanceResearch,80/20PerformanceRule,VilfredoPareto:80%ofconsequencescomefrom20%ofcausesFocusonthe20%thataffects80%oftheend-userresponsetime.Startatthefront-end.,Emptyvs.FullCache,Emptyvs.FullCache,withanemptycache,Emptyvs.FullCache,Emptyvs.FullCache,Expiresheader,3,userre-,withafullcache,Emptyvs.FullCache,emptycache2.4secondsfullcache0.9seconds83%fewerbytes90%fewerHTTPrequests,Howmuchdoesthisbenefitourusers?,Itdependsonhowmanyusershavecomponentsincache.Whatpercentageofusersviewapagewithanemptycache*?*“Emptycache”meansthebrowserhastorequestthecomponentsinsteadofpullingthemfromthebrowserdiskcache.Whatpercentageofpageviewsaredonewithanemptycache*?,Addanewimagetoyourpagewiththefollowingresponseheaders:Expires:Thu,15Apr200420:00:00GMTLast-Modified:Wed,28Sep200623:49:57GMT,BrowserCacheExperiment,BrowserCacheExperiment,Requestsfromthebrowserwillhaveoneoftheseresponsestatuscodes:200Thebrowserdoesnothavetheimageinitscache.304Thebrowserhastheimageinitscache,butneedstoverifythelastmodifieddate.,BrowserCacheExperiment,SurprisingResults,40-60%,20%,ExperimentTakeaways,Keepinmindtheemptycacheuserexperience.Itmightbemoreprevalentthanyouthink!Usedifferenttechniquestooptimizefullversusemptycacheexperience.,HTTPQuickReview,HTTPresponseheadersentbythewebserver:HTTP/1.1200OKContent-Type:text/html;charset=utf-8Set-Cookie:C=abcdefghijklmnopqrstuvwxyz;domain=,HTTPQuickReview,HTTPrequestheadersentbythebrowser:GET/HTTP/1.1Host:User-Agent:Mozilla/4.0(compatible;MSIE6.0;Cookie:C=abcdefghijklmnopqrstuvwxyz;,HTTPQuickReview,HTTPrequestheadersentbythebrowser:GET/HTTP/1.1Host:User-Agent:Mozilla/4.0(compatible;MSIE6.0;Cookie:C=abcdefghijklmnopqrstuvwxyz;,HTTPQuickReview,HTTPrequestheadersentbythebrowser:GET/HTTP/1.1Host:User-Agent:Mozilla/4.0(compatible;MSIE6.0;Cookie:C=abcdefghijklmnopqrstuvwxyz;,HTTPQuickReview,HTTPrequestheadersentbythebrowser:GET/HTTP/1.1Host:User-Agent:Mozilla/4.0(compatible;MSIE6.0;Cookie:C=abcdefghijklmnopqrstuvwxyz;,ImpactofCookiesonResponseTime,cookiesizes,AnalysisofCookieSizesacrosstheWeb,ExperimentTakeaways,eliminateunnecessarycookieskeepcookiesizeslowsetcookiesatappropriatedomainlevel,orhostingassetsonanewdomainsetExpiresdateappropriatelyearlierdateornoneremovescookiesooner,ParallelDownloads,Twocomponents,inparallel,perhostname,HTTP/1.1,ParallelDownloads,TwoinparallelFourinparallelEightinparallel,MaximizingParallelDownloads,responsetime(seconds),aliases,MaximizingParallelDownloads,responsetime(seconds),aliases,MaximizingParallelDownloads,responsetime(seconds),aliases,MaximizingParallelDownloads,responsetime(seconds),ruleofthumb:useatleasttwobutnomorethanfouraliases,ExperimentTakeaways,considertheeffectsofCPUthrashingDNSlookuptimesvaryacrossISPsandgeographiclocationsdomainnamesmaynotbecached,14Rules,Howtooptimize?,basicoptimizationrulesoptimizingassets(images,scripts,andstyles)optimizationsspecifictoscriptsoptimizationsspecifictostyles,BasicRules,DecreaseDownloadSizesMakeFewerHTTPRequestsCombinescriptsandstylesheetsUseimagespritesAvoidredirectsAvoidframes,14thingstocheck,MakefewerHTTPrequestsUseaCDNAddanExpiresheaderGzipcomponentsPutCSSatthetopMoveJStothebottomAvoidCSSexpressionsMakeJSandCSSexternalReduceDNSlookupsMinifyJSAvoidredirectsRemoveduplicatescriptsTurnoffETagsMakeAJAXcacheableandsmall,Rule1:MakefewerHTTPrequests,imagemapsCSSspritesinlineimagescombinedscripts,combinedstylesheets,Imagemaps,server-sidehttp:/./navbar.cgi?127,13client-sidepreferreddrawbacks:mustbecontiguousdefiningareacoordinatestedious,errors,/TR/html401/struct/objects.html#h-13.6,CSSSpritesPreferred,sizeofcombinedimageisless,CSSSpritesGenerator-,#rssbackground-image:url(sprite.png);background-position:-8px-40px;width:16px;height:16px;,CombinedScripts,CombinedStylesheets,CombinedScripts,CombinedStylesheets,combiningsixscriptsintooneeliminatesfiveHTTPrequestschallenges:developasseparatemodulesnumberofpossiblecombinationsvs.loadingmorethanneededmaximizebrowsercacheonesolution:dynamicallycombineandcache,Rule2:UseaCDN,distributeyourstaticcontentbeforedistributingyourdynamiccontent,Rule3:AddanExpiresheader,notjustforimages,SettingExpiresheaderinApache,ExpiresActiveOnExpiresByTypeapplication/x-javascriptmodificationplus2yearsExpiresByTypetext/cssmodificationplus5years,Whenmodifinganasset?,Modifytheassetname(automatically)!Appendanepochtimestamptothefilename,e.g.img_1185403733.png.Usetheversionnumberfromyoursourcecontrolsystem(cvsorsvnforexample),e.g.img_1.1.png.Manuallyincrementanumberinthefilename(e.g.whenyouseeafilenamedimg1.png,simplysavethemodifiedimageasimg2.png).,Rule4:Gzipcomponents,youcanaffectusersdownloadtimes90%+ofbrowserssupportcompression,Gzip:notjustforHTML,gzipscripts,stylesheets,XML,JSON(notimages,PDF),GzipConfiguration,Apache2.x:mod_deflateAddOutputFilterByTypeDEFLATEtext/htmltext/cssapplication/x-javascriptHTTPrequestAccept-Encoding:gzip,deflateHTTPresponseContent-Encoding:gzipVary:Accept-Encoding,neededforproxies,Rule5:PutCSSatthetop,stylesheetsblockrenderinginIE,SlowestisFastest,Rule6:Movescriptstothebottom,scriptsblockparalleldownloadsacrossallhostnamesscriptsblockrenderingofeverythingbelowtheminthepageIEandFF,Rule6:Movescriptstothebottom,scriptdeferattributeisnotasolutionblocksrenderinganddownloadsinFFslightblockinginIEsolution:movethemaslowinthepageaspossible,Rule7:AvoidCSSexpressions,usedtosetCSSpropertiesdynamicallyinIEwidth:expression(document.body.clientWidth,Rule13:TurnoffETags,uniqueidentifierreturnedinresponseETag:c8897e-aee-4165acf0Last-Modified:Thu,07Oct200420:54:08GMTusedinconditionalGETrequestsIf-None-Match:c8897e-aee-4165acf0If-Modified-Since:Thu,07Oct200420:54:08GMTifETagdoesntmatch,cantsend304,TheProblemwithETags,ETagforasingleentityisalwaysdifferentacrossserversETagformatApache:inode-size-timestampIIS:Filetimestamp:ChangeNumberSiteswith1serverreturntoofew304s(n-1)/nRemovethemApache:FileETagnoneIIS:,Rule14:MakeAJAXcacheableandsmall,XHR,JSON,iframe,dynamicscriptscanstillbecached,minified,andgzippedapersonalizedresponseshouldstillbecacheablebythatperson,AJAXExample:Yahoo!MailBeta,addressbookXMLrequestGET/yab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论