A Deep Dive Into the GTmetrix Speed Test Tool - Kinsta

文章推薦指數: 80 %
投票人數:10人

GTmetrix was developed by GT.net, a company based out of Canada, as a tool for their hosting customers to easily determine the performance ... Skiptocontent FindouthowmovingtoKinstacouldsaveyou$2,400+ayearonsitecosts. Home ResourceCenter KinstaBlog ADeepDiveIntotheGTmetrixSpeedTestTool BrianJackson, April29,2022 333 Shares Therearealotofoptionsyouhaveasawebsiteownerwhenitcomestorunningspeedteststo checkperformance.Previouslywetookanin-depthlookatthe Pingdom tool.TodaywewanttodiveintohowtobetteruseandunderstandthedatafromthepopularwebsitespeedtesttoolGTmetrix.Toolslikethisrelyongradingsystemsandscores,alongwithwarningsofwhatmightbewrongonyoursite. Sometimesthesecanbedownrightconfusing, andsotakingsometimetointerpretwhattheyactuallymean,canhelpyounotjustincreaseyourscores,butalsotheperformanceofyoursite,whichiswhatreallymatters. SeehowKinstastacksupagainstthecompetition. Selectyourprovider WPEngine SiteGround GoDaddy Bluehost Flywheel HostGator Cloudways AWS DigitalOcean DreamHost Other Compare Knowinghow@GTmetrixworksispricelessinformationforWordPresswebsiteowners!⏱ClicktoTweet GTmetrixwasdevelopedbyGT.net,acompanybasedoutofCanada,asatoolfortheirhostingcustomerstoeasilydeterminetheperformanceoftheirsite.BesidesPingdom,itisprobablyoneofthemostwellknownandusedspeedtestingtoolsonthewebtoday!Infact,thereasonwearewritingthisisthatwehavealotofKinstacustomersthatarealwaysaskingushowtofollowtheadvicetheyseeontheirGTmetrixreports.Comparedtootherdevelopertools,GTmetrixisprettyeasytouseandthebeginnercanpickitupprettyquickly.ItusesacombinationofGooglePageSpeedInsightsandYSlow togeneratescoresandrecommendations. GTmetrixspeedtesttool GTmetrixAnalysisOptions ThebasicversionofGTmetrixiscompletelyfreeandyoucangainaccesstoanumberofoptionssimplybysigningupforanaccount.Theyalsohavepremiumplans,butintoday’spost,wewillbeusingthefreeversion.Ifyouhaveanaccountyoucanusespecifyanumberofadditionalanalysisoptions. ThefirstistheabilitytochoosethelocationinwhichyouwanttotestyourURL.Thephysicallocationyouchooseisactuallyveryimportantasitrelatestowhereyourwebsiteisactuallyhosted.Thelesslatency,thefasteryourloadtimes.Currentlyavailablelocationsinclude: Dallas,USA HongKong,China London,UK Mumbai,India Sydney,Australia SãoPaulo,Brazil Vancouver,Canada Youcanchoosewhichbrowseryouwanttouse.YoucantestwithChrome(Desktop)andFirefox(Desktop).Mobileversionsareavailableintheirpremiumplans.Theyalsoallowyoutochangetheconnectionspeed,whichmeansyoucansimulatevariousconnectiontypestoseehowtheyaffectyourpageloads. GTmetrixtestformatoptions Additionaloptionsincludetheabilitytocreateavideo.Thiscanhelpyoudebugissuesasyoucanseehowthepagerenders.TheAdBlock Plusisanicefeature.Ifyouarerunninga3rdpartyadnetworksuchasGoogleAdsense,youcanenablethisoptiontoseethefullimpactadshaveonyourloadtimes. GTmetrixextraoptions Additionaloptionsincludestoppingthetestonload(whichwewilldiveintolater),beingabletosendacookiealongwithyourrequest,useHTTPauthentication,theabilitytowhitelistandblacklistURLs,screenresolutionanddevicepixelratio,anduseragentoverride. Analysiswiththe GTmetrixSpeedTestTool Awebpageismadeupofdifferentassets,suchasHTML,JavaScript,CSS,andimages.Eachofthesegeneratesrequeststorenderwhatyouseeonyourwebsite.Typicallythemorerequestsyouhave,thesloweryourwebsitewillload.Thatisnotalwaysthecase,butitistruemostofthetime. BelowwearegoingtobreakupeachGTmetrixsectionandexplaininmoredetailwhattheinformationmeansasitpertainstotheoverallperformanceofyourwebsiteandwhattodoabouttherecommendations. Remembernottoobsesstoomuchonthescores,butratheronmakingactualspeedimprovementsonyoursite. GTmetrixSummary Performance Structure WaterfallChart Video History GTmetrixSummary(PerformanceScoresandDetails) WhenyourunyourWordPresswebsitethroughGTmetrixitgeneratesaperformancereportwhichincludesyour“GTmetrixGrade”and“WebVitals”. TheGTmetrixGradeiscalculatedfromtwometrics–PerformanceandStructure. GTmetrixPerformanceistheperformancescorefromtheLighthousesiteaudittool GTmetrixStructureisaproprietaryperformancemetricthatmeasurestheoverallperformanceofapage. In2020,GoogleintroducedastandardizedsetofwebperformanceanduserexperiencemetricscalledWebVitals.WebVitalsconsistsofavarietyofmetrics,buttheonesthatGTmetrixtakesintoaccountareLargestContentfulPaint(LCP),TotalBlockingTime(TBT),andCumulativeLayoutShift(CLS). LargestContentfulPaint(LCP)istheamountoftimeittakesforthelargestpartofyourpagetoload.Forsomesites,theLCPcanbealargeheroimage,whileonothersites,LCPmayrefertothebodytext. TotalBlockingTime(TBT)istheamountoftimeapageisblockedbeforeausercaninteractwithit.Render-blockingCSSandJScanhaveahugeimpactonTBT. CumulativeLayoutShift(CLS)referstotheshiftingofelementswhileapageisloading.Forexample,thelayoutofapagecontainingembeddedtweetscanshiftdramaticallyasthepageloads. Inourexample,weareusingourcasestudydomainkinstalife.com,whichishostedonKinsta.Inourfirstspeedtest,oursiteregisteredthefollowingstats. GTmetrixGrade–B GTmetrixPerformance–85% GTmetrixStructure–83% LCP–1.0s TBT–0ms CLS–0 GTmetrixspeedtestforkinstalife.com. WethenrananadditionaltestandnowourGTmetrixGradeis“A”!Whatisthatallabout?YoumightnoticethisaswellifyouarerunningyourwebsitethroughtheGTmetrixspeedtesttoolmultipletimes.Oneofthereasonsthishappensisbecauseofcaching,bothDNScachingandservercaching.Findoutwhyfurtherbelowinourwaterfallanalysis. OursecondspeedtestwithGTmetrix. TheGTmetrixsummarypagealsocontainsaspeedvisualization,whichshowsatimelineofkeyeventsduringapageload.Inthescreenshotbelow,youcanseeTTFB,FCP,LCP,onloadtime,timetointeractive,andfullyloadedtimeforkinstalife.com. Atthebottomofthesummarypage,therearealso“TopIssues”and“PageDetails”sections.Under“TopIssues”,youcanseealistofhighpriorityitemstofix,while“PageDetails”providespercentageandfilesizebreakdownsofyourpage. GTmetrixtopissuesandpagedetails. Performance NextupistheGTmetrix“Performance”tab,whichshowsanumberofusefulmetricssourcedfromLighthouseperformancedata.InadditiontotheLCP,TBT,andCLSshownonthesummarypage,the“PerformanceMetrics”sectionalsoshowsSpeedIndex(SI),TimetoInteractive(TTI),andFirstContentfulPaint(FCP). GTmetrixLighthouseperformancemetrics. Whilethe“PerformanceMetrics”sectiondoesn’tshowyouexactlywhatyouneedtofix,itdoesgiveaniceoverviewaboutwhichkeyuserexperiencemetricsyoucanimproveon. Furtherdownthepage,GTmetrixalsoshowsafewmoretraditional“BrowserTiming”statsincludingOnloadTime,TimetoFirstByte,FullyLoadedTime,andmore.Inthepast,thesetraditionalmetricswereveryimportant.However,withGooglepavingthewaywithstandardizedmetricswithWebVitals,werecommendoptimizingforthoseinstead.Inmostcases,you’llfindthatoptimizingforWebVitalswillalsoresultingoodbrowsertimingmetrics. GTmetrixbrowsertimingmetrics. Structure TheGTmetrix“Structure”tabiswhereyoucanviewspecificissuesaffectingtheperformanceofyoursite.Thispageisveryusefulbecauseitprovidesyouwithactionableinformationlike“eliminaterender-blockingresources”and“minifyCSS”tostartoptimizingyoursite. WewilltrytocoverthemostcommonandpopularonesweseeWordPresssiteownersstrugglingwith.Makesuretoalsobookmarkthispostaswewillbeconstantlyupdatingit.Generally,ifyouimprovetheseonyoursite,youshouldseeanincreaseinperformance. GTmetrixPageSpeedscores ServeScaledImages Whenitcomestoworkingwithimagesonyourwebsite,youshouldalwaystryanduploadthemtoscale,andnotlet CSSresizethem.Ifyoudon’t,youwillendupwiththeservescaledimagesrecommendation. IfyouareusingWordPress,bydefault,itresizesyourimageswhenuploadingthemtothemedialibrary.Thesesettingscanbefoundunder“Settings>Media.”Youwillwanttoensurethatthemaxwidthisclosetothewidthofyoursite.ThiswayCSSisnottryingtoresizeyourimagedowntofitinside.Youcouldalsoautomaticallyresizethemwithanimageoptimizationplugin. Servescaledimages InlineSmallCSS InliningyourCSSisusuallynotrecommendedasitwillincreasetheoveralldownloadsizeofyourpagerequest.However,ifyoursiteissmall,withminimalrequests,itcouldimproveyourperformance. InlinesmallCSS ToeasilyinlineyourCSSyoucanuseafreepluginlikeAutoptimize.Simplycheckthe“InlineallCSS?”optionandthenensureyouhaveexcludedtheadditionalCSSfilesyoudon’tinline. AutoptimizeinlineCSS InlineSmallJavaScript JustlikewithinliningsmallCSS,thesamethingappliesforinliningsmallJavaScript.Itisusuallynotrecommendedasitwillincreasetheoveralldownloadsizeofyourpagerequest.However,ifyoursiteissmall,withminimalrequests,itcouldimproveyourperformance.Again,youcanusetheJavaScriptsettingsofAutoptimize. InlinesmallJavaScript LeverageBrowserCaching Leveragebrowsercachingisaverycommonrecommendationthatpeoplestrugglewith.ThisisgeneratedduetonothavingthecorrectHTTPcacheheadersonyourwebserver.Seeourin-depthpostonhowtofixtheleveragebrowsercachingwarning.Youcanonlyfixthisonresourcesyoucontrol.Forexample,ifyouareseeingthisonthird-partyadnetworks,thereisnothingyoucando. Leveragebrowsercaching ServeResourcesFromaConsistentURL IfyouareareseeingtheserveresourcesfromaconsistentURLitismostlikelythatyouhaveidenticalresourcesbeingservedfromthesameURL.Alotoftimesthiscanhappenwhentherearequerystringsinvolved.Checkouthowtoremovequerystringsfrom staticresources.Oncetheyaregone,itshouldnolongerhavetoloadittwice. ServeresourcesfromaconsistentURL DeferParsingofJavaScript JavaScriptandCSSarebydefaultrender-blocking.Thismeanstheycanpreventthewebpagefrombeingdisplayeduntiltheyaredownloadedandprocessedbythebrowser. ThedeferattributetellsthebrowsertoholdoffondownloadingtheresourceuntilHTMLparsingiscomplete.AfeweasywaystofixthisistoutilizethefreeAutoptimizeorAsyncJavaScriptplugins.Makesuretocheckoutourin-depthpostonhowtoeliminaterender-blockingJavaScriptandCSS. DeferparsingofJavaScript Foranin-depthexplanation,read:HowtoDeferParsingofJavascriptWarninginWordPress(4Methods). MinifyCSSandJavaScript Minificationisessentiallyremovingallunnecessarycharactersfromsourcecodewithoutchangingitsfunctionality.Thiscouldincludelinebreaks,emptyspace,indents,etc.Bydoingthisitcansavebytesofdataandspeedupdownloading,parsing,andexecutiontime. MinifyCSSandJavaScript Again,thefreeAutoptimizepluginisgreatforthis.Simplyensurethatthe“OptimizeJavaScriptCode”and“OptimizeCSSCode”arebothchecked.Ifyouhavealargesite,youmightalsowanttoplaywiththeadvancedsettingsunderneath,assomecouldharmtheperformanceonyoursite.InliningorcombiningCSSandJavaScriptonlargesitesisusuallynotrecommended.ThisiswherethepowerofHTTP/2comesintoplay. AutoptimizeminifyCSSandJavaScript IfyouareaKinstacustomer,youcantakeadvantageofthecodeminificationfeaturethatisbuiltrightintotheMyKinstadashboard.ThisallowscustomerstoquicklyandeasilyenableautomaticCSSandJavaScriptminificationwithasimpleclick,speedinguptheirsiteswithzeromanualeffort. OptimizeImages AccordingtoHTTPArchive,asofApril2017,imagesmakeuponaverage66%ofatotalwebpage’sweight.SowhenitcomestooptimizingyourWordPresssite,imagesisbyfarthefirstplaceyoushouldstart!It’smoreimportantthanscriptsandfonts. Optimizeimages Inaperfectworld,everyimageshouldbecompressedandoptimizedbeforeuploadingtoWordPress.Butunfortunately,thatjustisn’trealistic.Becauseofthis,werecommendusingagoodimageoptimizationplugin.Thiswillhelpautomaticallycompressyourimages,resizethem,andensuretheyarelightweightandfastloadingonyoursite.Checkoutourin-depthpostonhowtooptimizeimagesforweb. ReduceInitialServerResponseTime ForWordPress,themainculpritforslowinitialserverresponsetimesisthelackofpagecaching.Withoutpagecaching,WordPressusesPHPtodynamicallybuildpagesforeachindividualrequest,whichmeansitcangetoverwhelmedwithrequestsquickly.Withpagecachingenabled,yoursitecanserverpre-generatedHTMLfiles,whichismuchfasterandmorescalablethanusingPHPtofulfilleachpagerequest. Reduceinitialserverresponsetime. Ifyou’rehostedonKinsta,youdon’thavetoworryaboutpagecachingbecausewetakecareofthatforyouwithourNginxconfiguration.IfyourWordPresshostdoesn’tsupportpagecaching,youcaninstallacachingpluginlikeWPRocketorW3TotalCache.Toreduceserverresponsetimeevenfurther,werecommendintegratingCloudflareAPOwithyourWordPresssite.ThisinnovativeoptimizationservicefromCloudflaredistributesyoursite’sHTMLpagesaroundtheworld,whichcanreduceserverresponsetimeglobally. MinifyHTML JustlikeCSSandJavaScript,HTMLcanalsobeminifiedtostripoutunnecessarycharactersandsaveyoubytesofdatatospeedupexecutiontime. MinifyHTML ThefreeAutoptimizepluginisalsogreatforthis.Simplyenablethe“OptimizeHTMLCode”option. AutoptimizeoptimizeHTMLcode EnableGZIPCompression GZIP isafileformatandasoftwareapplicationusedforfilecompressionanddecompression.GZIPcompressionisenabledserver-side,andallowsforfurtherreductioninthesize ofyourHTML,stylesheets,andJavaScriptfiles.Itwillnotworkon imagesasthesearealreadycompressedinadifferentway.Somehaveseenupto70%reductionsduetocompression.ItisprobablyoneoftheeasiestoptimizationsyoucouldmakewhenitcomestoWordPress.Note:GZIPcompressionisenabledbydefaultonallKinstaservers. SignUpFortheNewsletter Wanttoknowhowweincreasedourtrafficover1000%? Join20,000+otherswhogetourweeklynewsletterwithinsiderWordPresstips! SubscribeNow EnableGZIPcompression ToenableGZIPcompressioninApache,simplyaddthefollowingcodetoyour.htaccessfile. #CompressHTML,CSS,JavaScript,Text,XMLandfonts AddOutputFilterByTypeDEFLATEapplication/javascript AddOutputFilterByTypeDEFLATEapplication/rss+xml AddOutputFilterByTypeDEFLATEapplication/vnd.ms-fontobject AddOutputFilterByTypeDEFLATEapplication/x-font AddOutputFilterByTypeDEFLATEapplication/x-font-opentype AddOutputFilterByTypeDEFLATEapplication/x-font-otf AddOutputFilterByTypeDEFLATEapplication/x-font-truetype AddOutputFilterByTypeDEFLATEapplication/x-font-ttf AddOutputFilterByTypeDEFLATEapplication/x-javascript AddOutputFilterByTypeDEFLATEapplication/xhtml+xml AddOutputFilterByTypeDEFLATEapplication/xml AddOutputFilterByTypeDEFLATEfont/opentype AddOutputFilterByTypeDEFLATEfont/otf AddOutputFilterByTypeDEFLATEfont/ttf AddOutputFilterByTypeDEFLATEimage/svg+xml AddOutputFilterByTypeDEFLATEimage/x-icon AddOutputFilterByTypeDEFLATEtext/css AddOutputFilterByTypeDEFLATEtext/html AddOutputFilterByTypeDEFLATEtext/javascript AddOutputFilterByTypeDEFLATEtext/plain AddOutputFilterByTypeDEFLATEtext/xml #Removebrowserbugs(onlyneededforreallyoldbrowsers) BrowserMatch^Mozilla/4gzip-only-text/html BrowserMatch^Mozilla/4\.0[678]no-gzip BrowserMatch\bMSIE!no-gzip!gzip-only-text/html HeaderappendVaryUser-Agent Ifyouarerunningon NGINX,simplyaddthefollowingtoyournginx.conffile. gzipon; gzip_disable"MSIE[1-6]\.(?!.*SV1)"; gzip_varyon; gzip_typestext/plaintext/csstext/javascriptimage/svg+xmlimage/x-iconapplication/javascriptapplication/x-javascript; Makesuretoalsocheckoutourin-depthpostonhowtoenableGZIPcompression. MinimizeRedirects MinimizingHTTPredirectsfromoneURLtoanothercutsoutadditionalRTTsandwaittimeforusers.CheckoutourpostonWordPressredirectsinwhichwediscoveredthat2badredirectsincreasedthesiteloadtimesby58%! Plainandsimple,WordPressredirectsslowdownyoursite.That’swhyit’sworthtakingthetimetominimizethenumberofredirectsvisitorstoyoursiteexperience. Minimizeredirects SpecifyaCacheValidator ThespecifyacachevalidatorrecommendationappearswhentherearemissingHTTPcachingheaders.Theseshouldbeincludedoneveryoriginserverresponse,astheybothvalidateandsetthelengthofthecache.Iftheheadersaren’tfound,itwillgenerateanewrequestfortheresourceeverytime,whichincreasestheloadonyour server. Utilizingcachingheadersensuresthat subsequentrequestsdon’thavetobeloadedfromtheserver,thussavingbandwidthandimprovingperformancefortheuser.Andremember,youcan’tfixthison3rd-partyresourcesyoudon’tcontrol. Important HTTPcachingheadersareautomaticallyaddedonallKinstaservers. Specifyacachevalidator ThereareanumberofdifferentHTTPcachingheadersinvolvedthatcanbeusedtofixthisrecommendation.Checkoutourin-depthpostonhowtospecifyacachevalidator. SpecifyImageDimensions Justlikeyoushouldn’tletCSSresizeyourimages,youshouldalsospecifyimagedimensions.ThismeansincludingthewidthandheightinyourHTMLcode. Incorrect Correct Specifyimagedimensions RemoveQueryStringsFromStaticResources YourCSSandJavaScriptfilesusuallyhavethefileversionontheendoftheirURLs,suchasdomain.com/style.css?ver=4.6.Someserversandproxyserversareunabletocachequerystrings,evenifacache-control:publicheaderispresent.Sobyremovingthem,youcansometimesimproveyourcaching.ThiscaneasilybedonewithcodeorfreeWordPressplugins. Checkoutourin-depthpostonhowtoremovequerystringsfromstaticresources. Andremember,youcan’tfixthison3rd-partyresourcesyoudon’tcontrol. Removequerystringsfromstaticresources SpecifyaVary:Accept-EncodingHeader ThisisanHTTPheaderand shouldbeincludedoneveryoriginserverresponse,asittellsthebrowserwhetherornottheclientcanhandlecompressedversionsofthecontent.Usually,whenGZIPcompressionisenabled,thisisalsofixed.Butmakesuretocheckoutourin-depthpostonhowtofixthespecifyavary:accept-encodingheader recommendation.Andagain,youcan’tfixthisonthird-partyresources. StrugglingwithdowntimeandWordPressproblems?Kinstaisthehostingsolutiondesignedtosaveyoutime!Checkoutourfeatures Specifyavary:accept-encodingheader GTmetrixWaterfallChart TheGTmetrixwaterfallchartdisplaysalloftheindividualrequestsonyourwebpage(asshownbelow). Youcanthenanalyzeeachrequesttoseewhatiscausingdelaysandperformanceissuesonyoursite.Belowisa morein-depth summaryandordefinitionofwhateachofthecolorsmeansoneachrequest. GTmetrixwaterfallchart Blocking(Brown) Whenabrowserloadsawebpage,JavaScriptandCSSresourcesusuallypreventthewebpagefrombeingdisplayeduntiltheyaredownloadedandprocessedbythebrowser.ThistimedelayshowsupasblockingintheGTmetrixwaterfallchart.Checkoutourin-depthpostonhowtoeliminaterender-blockingJavaScriptandCSS formoreinformation. blocking DNSLookup(Teal) YoucanthinkofDNSlookuplikeaphonebook.ThereareserverscalledDomainNameServerswhichholdtheinformationaboutyourwebsiteandwhichIP itshouldberoutedto.WhenyoufirstrunyourwebsitethroughGTmetrix, itperformsafreshlookup,andithastoquerytheDNSrecordstogettheIPinformation.Thisresultsinsomeadditionallookuptime. WhenyourunyourwebsitethroughGTmetrixasecondtime,itcachestheDNSbecauseitalreadyknowstheIPinformationanddoesn’thavetoperformthelookupagain.ThisisonereasonwhyyoumightniceyourwebsiteappearsfasterafterrunningitthroughGTmetrixmultipletimes.Asyoucanseeinthescreenbelow,onthe2ndtestweran,theDNSlookuptimeontheinitialDOCloadis0ms.Thisisoneareaalotofpeoplemisinterpret!Werecommendrunningyourtestmultipletimesandtakingtheaverage,unlessyouwantDNSaspartofyourreport,inwhichcaseyoucantakethefirsttest. SecondDNSlookup Thesameappliestoyourassets(JavaScript,CSS,images)ifyouareusingaCDN.ACDNcacheworksmuchlikeDNS,onceitiscached,itisthenmuchfasteronconsecutiveloads.AnothertiponspeedingupDNSistouseDNSprefetching.ThisallowsthebrowsertoperformDNSlookupsonapageinthebackground.YoucandosobyaddingsomelinesofcodetotheheaderofyourWordPresssite.Seesomeexamplesbelow. OrifyouarerunningWordPressversion4.6ornewer,youmightwanttouseresourcehints.Developerscanusethewp_resource_hintsfiltertoaddcustomdomainsandURLsfordns-prefetch, preconnect, prefetchorprerender. Connecting(Green) TheconnectingtimeinGTmetrixisreferringtotheTCPconnection,orthetotaltimerequiredtocreateaTCPconnection.Youdon’treallyneedtounderstandhowthisworks,butthisissimplyacommunicationmethodbetweenthehost/clientandtheserverthathastotakeplace. Connecting Sending(Red) Thesendingtimeissimplythetimeittakesforthewebbrowsertosenddatatotheserver. Sending Waiting(Purple) ThewaittimeinGTmetrixisactuallyreferringtothetimetofirstbyte,alsoknownastheTTFBinsometools.TTFB isameasurementusedasanindicationoftheresponsivenessofawebserverorothernetworkresource.Generally,anythingunder100msisacceptableandgoodTTFB.Ifyouareapproachingthe300-400msrangeyoumighthavesomethingmisconfiguredonyourserveroritmightbetimetoupgradetoabetterwebstack.Asyoucanseeinourtestbelowitwasapproximately100mswhichisgreat. Waiting SomeeasywaystodecreaseyourTTFBistoensureyourhosthaspropercachinginplaceandutilizingaCDN.Checkoutourin-depthpostonallthewaystoreduceTTFBonyourWordPresssite. Receiving(Grey) Thereceivingtimeissimplythetimeittakesforthewebbrowsertoreceivedatafromtheserver. Receiving EventTimings Eachtimeyourequestapageithaseventtiminginwhichthingsarerenderedandloaded. FirstPaint(GreenLine):Thefirstpointatwhichthebrowserdoesanysortofrenderingonthepage,suchasdisplayingthebackgroundcolor. DOMLoaded(BlueLine):ThepointatwhichtheDOM(DocumentObjectModel)isready. Onload(RedLine): Whentheprocessingofthepageiscompleteandalltheresourcesonthepage(images,CSS,etc.)havefinisheddownloading. FullyLoaded(PurpleLine): ThepointaftertheOnloadeventfiresandtherehasbeennonetworkactivityfor2seconds. Eventtiming HTTPResponseHeaders YoucanalsoclickonanindividualrequestseewhattheycalltheHTTPresponseheaders.Thisprovidesvaluableinformation.Inthescreenbelowwecaninstantly seethingssuchasgzipisenabledonthewebserver,itisrunningoverHHVM,itisbeingservedfromcache(HIT,wouldshowMISSotherwise),thecache-controlheaders,serverarchitecture(thisisnotalwaysvisible),expiresheaders,thebrowseruser-agentandmore. HTTPresponseheaderinGTmetrix AnotherthingtobeawareofisthattheGTmetrixtooldoessupportHTTP/2,unlikePingdom,becauseitiscurrentlyusingChrome58+torunitstests.ChromeaddedHTTP/2supportinversion49.Sokeepinmind whenyouarechoosingwhichspeedtesttooltouse. Video Tohelpyoudebugvisualglitchesandfrontendperformanceissues,thelatestversionofGTmetrixincludesa“Video”tab.Withthevideofeatureenabled,GTmetrixwillautomaticallyrecordanembeddablevideoshowinghowapageloadsforeachperformancetest.Thisfeatureisveryusefulfordebuggingvisualissuesthatonlyappearoncertainbrowserandscreensizecombinations. GTmetrixvideorecording. History Underthehistorytabyoucanviewallofyourpastspeedtests.Thereisalimittohowmanyarestoredinfreeaccounts.YoucanalsomonitoraURLwhichallowsyoutokeeptrackofperformanceovertimeandseeanychangeswhentheyoccur. History Onereallycoolfeatureisyoucanselectyourpastreportsandcomparethemsidebyside.Thiscanbeveryuseful,especiallywhenyouaredoingoptimizationsonyoursitetoseeifthereareimprovements.Remember,sometimesyoucanoveroptimizetoo. ComparereportsinGTmetrix CaseStudyDomainConfiguration Ifyougotthisfardowninourin-depthGTmetrixdivethenyouareinforatreat.Itisalwaysannoyingtoseepeoplesharetipsandcasestudiesbutthennotsharehowtheygotthere.Sobelowis ourexactconfigurationforthecasestudydomainusedabove!Feelfreetoreplicateit. Architecture Thecasestudydomain(perfmatters.io)ishostedwithKinstaontheGoogleCloudPlatformintheUSA(Centrallocation).KinstausesHTTP/2,NGINX,MariaDB,whichallcontributetothefastloadtimes. ThesiteisusingHHVM.PHP7.3isnowavailableatKinstawhichisevenfasterthanHHVM!YoucanswitchtoPHPversions withapressofabutton. Thesiteisnotusinganycachingplugin.Kinstacacheseverythingattheserverlevelwhichgreatlysimplifiesthings,andinmostcasesisfaster! WordPressPlugins AndhereisalistofthepluginsbeingusedontheWordPresssite. ThefreeCDNEnablerpluginisusedtodeployKeyCDN. ThefreeCAOSpluginisusedtosyncGoogleAnalyticslocally. ThepremiumperfmatterspluginisusedtogetridofunnecessaryHTTPrequestsanddisablethingssuchasEmojisandEmbeds. ThepremiumGonzalezpluginisusedtodisablecertainscriptsfromloading. ThepremiumImagifypluginisusedtocompressimages. RecommendedTutorialsforFurtherReading: HowtoSpeedupYourWordPressSite(UltimateGuide) HowtoDisableEmojisinWordPress HowtoDisableEmbedsinWordPress IdentifyAndAnalyzeExternalServicesOnYourWordPressSite HowtoScore100/100inGooglePageSpeedInsightswithWordPress HowtoDiagnoseHighAdmin-AjaxUsageonYourWordPressSite 7TipsonHowtoReduceDNSLookupsandSpeedThemUp Summary Asyoucansee,knowinghowtheGTmetrixspeedtesttoolworksalittlebetterandwhatallthechartsmeancanhelpyoumakeamoredata-drivendecisionwhenitcomestoperformance.Awaterfallanalysisaswecallitiscrucialtoknowhowyourindividualassetsload.Andremember,whenitcomestocomparingitwithPingdom,theyaredifferenttoolsandsoitisbettertostickwithoneortheotherastheycalculatethingsdifferently.GotanyothergreatGTmetrixtips? Ifyouwouldliketoseemorein-deptharticlesliketheoneabove,pleaseletusknowbelowinthecomments! Savetime,costsandmaximizesiteperformancewith: InstanthelpfromWordPresshostingexperts,24/7. CloudflareEnterpriseintegration. Globalaudiencereachwith29datacentersworldwide. Optimizationwithourbuilt-inApplicationPerformanceMonitoring. Allofthatandmuchmore,inoneplanwithnolong-termcontracts,assistedmigrations,anda30-day-money-back-guarantee.Checkoutourplansortalktosalestofindtheplanthat’srightforyou. Hand-pickedrelatedarticles Blog 8TipsonHowtoReduceDNSLookupsandSpeedThemUp DNSspeedisoftenoverlooked.Checkoutthese8recommendationsonhowtoreduceDNSlookupsandspeedthemuponyourWordPresssite. Readingtime 14minread Publishdate August21,2017 Blog HowtoProperlyRunaWebsiteSpeedTest(You’reDoingitWrong) Manyusersrunspeedteststhewrongway,whichresultsinbaddata.Checkouthowtoproperlyrunawebsitespeedtestalongwith15awesometools. Readingtime 21minread Publishdate April10,2019 Comments LeaveAComment EP_2012 May31,2017at9:15am Reply Perfmattersismentioned,butnotavailable.Looksinteresting. BrianJackson May31,2017at9:17am Reply Thanks,thisissomethingIamactuallyadeveloperfor.Itwillbeavailabletomorrow(Thursday). EP_2012 May31,2017at9:18am Reply Verynice!Goodluckwiththelaunch! MichaelKugler April1,2019at10:16am Reply WOW! Ibegantoreadthisanditwentonandonandonandon…. OneofthebestanalysiswriteupsIhaveeverseen.WetoohavebeengoingthroughtheGTMetrixchasewithoursiteandasyoucanseebythisscreenshot,weachievedgreatgrades. https://www.screencast.com/t/pHP9KhcN Becauseoftheslowspeedtoloadthepage,wearenowintheprocessofsplittingoffthesectionsofJSthatarenotrelevanttoeachpageandanticipatethatthescoreswillimprovedramaticallyinthecomingdays.Honestly,ifIcangetthistoanA/Awithapageloadof3secondsorlessIwouldbethrilled. Whentravelersarelookingforagreathometorentontheirnextvacationthelastthingtheywanttodoiswaitendlesslyforapagetoload.ThankyouGTMetrixforagreattool. TomZsomborgi April2,2019at7:44am Reply ThislooksgreatMichaelcongratsonachieving99%withGTMetrix! Mark April4,2019at12:22am Reply YeahloveGtmetrixbutitdoeshaveafewflaws. Ifyou’reusinghttp2,thenthecookiefreezonesandmakefewerhttprequestsbecomeirrelevantbecauseofthebenefitsofparellelismandmultiplexing–supposedly. Samegoesforthemultipledomainsissue. Andconcatenatingallyourjsandcssfiles. Somewillarguethatyoushouldstilldoit,otherssayitmakesnodifference. TheothermajorflawistheblanketinsistencethatyouuseaCDN. InmanycasesusingaCDNwillmakeyoursiteslower,sometimesfourtimesslower,yetGTmetrixwillgiveyouabetterscoreforusingacdnandhavingareallyslowwebsitethanifyouhaveareallyfastonebutdon’tuseacdn. Fastsitesshouldalwaysscorehigherthanslowones,buttheydon’t.Sothat’sareallproblemwiththecurrentscoringcalculations. WhydoCDN’smakesomesitesslower?Severalreasons. IfyourCDNprovider’sserversarenotinyourtownorcity,thenthereisgoingtobeaphysicallagforthedatatotravelupanddownthepipe. Thisisespeciallyrelevantifyou’realocalbusinessandyourtargetaudienceisinyourhometown. Dependingwhereyouareintheworldtheroundtripcanbeover10,000kms.Seriously.Sothat’sjustgoingtotaketimeforthecontenttocompletethejourney. Secondlyifyou’reusingoneofthefreeorcheapcdnservicesprovidedmymostwebhoststhesedays,wellyougetwhatyoupayfor. Everybodyelsewillbeusingittoo,soitwillcrowdedandoftenoverloadedleadingtofrequent502errors.I’msurewe’veallseenafewofthosefromthecommoncdnproviders. Oftenyouwillgetbetterresultsifyouspendmoreonyourlocalhostingplan.ie:optforabetterplanwhereyougetbetterhardware. Afterthat,ifyoudowanttogowithaCDN,payforagoodone.Thecheaponescanbecounterproductive. Thebottomlineasalwaysistotesteverythingyourself,don’tjustdothingstogetaperfect100whenthatmightactuallybemakingyoursiteslower. JakeBallinger May17,2019at12:12pm Reply Thisisanamazingoverview—I’mwritingapieceaboutShopifyspeedrightnowandI’mtotallyreferencingthis.Goodjob! LeaveaReplyCancelreplyCommentpolicy:Welovecommentsandappreciatethetimethatreadersspendtoshareideasandgivefeedback.However,allcommentsaremanuallymoderatedandthosedeemedtobespamorsolelypromotionalwillbedeleted. CommentName Email Bysubmittingthisform:YouagreetotheprocessingofthesubmittedpersonaldatainaccordancewithKinsta'sPrivacyPolicy,includingthetransferofdatatotheUnitedStates. YoualsoagreetoreceiveinformationfromKinstarelatedtoourservices,events,andpromotions.Youmayunsubscribeatanytimebyfollowingtheinstructionsinthecommunicationsreceived.



請為這篇文章評分?