the performance of clouds complete

Upload: rizwan-qaiser

Post on 06-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 The Performance of Clouds Complete

    1/67

    1

    Cloudcomputingperformance

    ABitcurrentstudyontheperformanceofcloudcomputingplatforms

    June,2010

    Sponsored by Neustar Webmetrics

  • 8/3/2019 The Performance of Clouds Complete

    2/67

    2

  • 8/3/2019 The Performance of Clouds Complete

    3/67

    3

    ExecutiveSummaryCloudcomputingisasignificantshiftinthewaycompaniesbuildandrunIT

    resources.Itpromisespay-as-you-goeconomicsandelasticcapacity.Everymajor

    changeinITforcesITprofessionalstorebalancetheirapplicationstrategyjustlookatclient-servercomputing,theweb,ormobiledevices.Today,cloudcomputing

    ispromptingasimilarreconsideringofITstrategy.

    Butitsstillearlydaysforclouds.Manyenterprisesareskepticalofon-demand

    computing,becauseitforcesthemtorelinquishcontrolovertheunderlying

    networksandarchitecturesonwhichtheirapplicationsrun.

    Inlate2009,performancemonitoringfirmWebmetricsapproachedustowritea

    studyoncloudperformance.Wedecidedtoassessseveralcloudplatforms,across

    severaldimensions,usingWebmetricstestingservicestocollectperformancedata.

    Overthecourseofseveralmonths,wecreatedtestagentsforfiveleadingcloud

    providersthatwouldmeasurenetwork,CPU,andI/Oconstraints.Wealsoanalyzedfivecompaniessitesrunningoneachofthefiveclouds.

    Asyoumightimagine,thisresultedinaconsiderableamountofdata,whichwethen

    processedandbrowsedforinformativepatternsthatwouldhelpusunderstandthe

    performanceandcapacityoftheseplatforms.Thisreportistheresultofthateffort.

    Testingacrossseveralplatformsisbyitsverynatureimprecise.Differentclouds

    requiredifferentprogrammingtechniques,sonotwotestagentswerealike.Somecloudsuselarge-scaledatastoragethatsoptimizedforquickretrieval;othersrely

    ontraditionaldatabases.Asaresult,thedatainthisreportshouldserveonlyasaguidelineforfurthertesting:yourmileagewillvarygreatly.

  • 8/3/2019 The Performance of Clouds Complete

    4/67

    4

    AcknowledgementsFirstandforemost,thisresearchwouldnothavebeenpossiblewithout

    Webmetrics/Neustar.Thecompanyfundedthedevelopmentofthetestingagents,

    allowedustousetheirsystemsfordatacollection,andunderwrotethecostofgeneratingthestudy.Theydidsowithoutconstraintsoreditorialinput,inthehopes

    ofcontributingtoongoingdiscussionsandindustrydialogueaboutcloudperformance.Thiskindofaltruismisrare,andweregratefulfortheirassistance.

    Thisresearchwasateameffort.

    EricPackmanandPeteTaylorworkedhardtodevelop,deploy,andmaintainmultiplesoftwareagentsacrossseveralclouds,andtocollectandanalyzethe

    data,lookingforanomaliesandaddressingmonitoringissues.

    LennyRachitskyandShirinRejaliofWebmetricssupportedtheideaofindependentresearchthatwouldhelptheITcommunity,andfundedthis

    work. SeanPowercontinuestobeagreatcolleagueandco-authoronallthingsto

    dowithwebmonitoring.

    IanRae,DanKoffler,andtheteamatSyntenicofferedfirst-handcloudexperienceandassistedwithanalysisandearlyfeedback.

    Finally,cloudexperts,includingShlomoSwidler,RandyBias,JeremyEdberg,andmanyotherendusersprovidedinvaluableinsight.

  • 8/3/2019 The Performance of Clouds Complete

    5/67

    5

    ContentsExecutiveSummary......................................... ............................................ ............................................. 3

    Acknowledgements........................... ............................................. ............................................ ............... 4

    Contents .......................................... ............................................ ............................................. ...................... 5Thestateofwebperformance .......................................... ............................................. ...................... 6

    Elementsoflatency............................................. ............................................ ..................................... 6Ashifttowardscomposeddesigns............................. ............................................. ...................... 6

    Thereasonsperformancematters............................................ ............................................ ........ 7

    Thestateofcloudcomputing ............................................ ............................................ ....................... 8Whatdowemeanbyclouds? ....................................... ............................................. ...................... 8

    Theuncertaintyofasharedresource...................................... ............................................ ........ 9

    Theproblemwithcomputingfaraway........................................... ............................................ 9

    Cloudarchitectures............................................. ............................................ .................................. 10

    Thebigquestions............................... ............................................. ............................................ ............ 11

    Testingmethodology............................................................. ............................................. ................... 11Testlimitations...... ............................................ ............................................ .......................................... 12

    Testresults ........................................... ............................................. ............................................ ............ 14

    Realwebsitetestshigh-levelmetrics.................... ............................................. ................... 14

    Agenttestshigh-levelmetrics .......................................... ............................................ ............ 15

    Performancehistograms ......................................... ............................................ ........................... 17Theperformanceofindividualclouds............................. ............................................. ............ 18

    Howdodifferentcloudshandleworkloads? ....................................... .................................. 33Noteworthyobservations ............................................ ............................................ ........................... 40

    Conclusions .......................................... ............................................. ............................................ ............ 60

    Furtherresearchandreading ........................................... ............................................ .................... 61

    PeterVanEijk ......................................... ............................................ ............................................. .... 61Cloudstatus ...................................... ............................................. ............................................ ............ 61Cloudharmony......................... ............................................ ............................................. ................... 62

    AlanWilliamsonandCloudkick............. ............................................ .......................................... 63

    TheBitsource........................... ............................................ ............................................. ................... 64

    Cloudtestagentcode...................................... ............................................ .......................................... 65

    Simpleobjects....................................................... ............................................. .................................. 65

    CPUtest ...................................... ............................................ ............................................ .................... 65

    I/Otest......................... ............................................. ............................................ .................................. 65

  • 8/3/2019 The Performance of Clouds Complete

    6/67

    6

    ThestateofwebperformanceThisreportfocusesprimarilyontheperformanceofcloudcomputing.While

    websiteperformanceoptimizationhascomealongwayfromtheearlydaysofstatic

    sites,therearestillmanyreasonsthatapplicationsareslow.

    Elementsoflatency

    Weblatencycomesfromfourmainfactors:

    Servicediscoveryinvolvesfindingthewebsite.ThisisusuallyaDomainNameService(DNS)lookupinwhichtheURLofthewebsiteisresolvedtoan

    IPaddress.Theremaybeotherdelaysinthisprocessforexample,whena

    siteredirectstheclienttoanothersite.Cloudschangehowlookupshappen,

    becausetheymayredirectvisitorstodifferentdestinations.

    Networklatencyisthetimespenttravellingacrossanetwork.Thisisa

    functionoftwobasicthings:Theround-triptimebetweenthebrowserandthewebserver;andthenumberofround-tripsthatarerequiredtoloada

    page.Apagewithfewobjectswilltakefarlesstimetoload,evenoveraslowerlink,thanapagewithmanycomponentsonit.

    Processinglatency,orhosttime,istheworktheserverhastodowhenpreparingcontentforthebrowser.Thisistheprimaryfocusofourstudy,since

    cloudcomputingchangeshowtheserverworks.Hostlatencymaycomefrom

    simplyrespondingtoarequest;fromcomputationallyintensivecalculations;

    fromretrievingdatafromothersourcessuchasadatabase;orfrom

    connectingtoback-endsystemsbehindtheserveritself.

    Client-sidelatencyisthetimethebrowsertakestoassembleandpresentthewebpagecontent.Whileclient-sidelatencyisanincreasinglyimportant

    componentofwebmonitoringinmodernwebsites,clientsdontcare(much)whethertheserverisaphysicalmachineoracloudsowewont

    concentrateonthiskindofdelayinthisreport.

    Whatsmore,inamashupsitethatcontainsembeddedcomponentsfrom

    elsewheresuchasJavaScriptforanalytics,orthird-partyembeddedDIVtagsthe

    browsermustretrieveadditionalcomponentsfromelsewhere.

    Ashifttowardscomposeddesigns

    Cloudcomputingisaloadedterm.Therearetwoimportantwaystolookatclouds:

    asatechnology,andasabusinessmodel.

    Clouds-as-a-technologyrelyonseveralinnovationsvirtualization,automation,

    self-serviceprovisioning,chargebacks,service-centriccomponents,andsoonto

    improvetheefficiencyofITwhilereducingthetimeittakestodeployapplications.

    Ontheotherhand,clouds-as-a-businessrelyonnewwaysforthirdpartyproviders

    toofferITondemand.Becauseoftheseparationandefficiencythatsnowpossible,

    serviceproviderscanrentavirtualmachineforanhouratatime.Theyreableto

  • 8/3/2019 The Performance of Clouds Complete

    7/67

    7

    achieveeconomiesofscalethroughautomation,andasaresultarecheaperthan

    dedicatedinfrastructureformanyapplications.

    Aconsequenceofthesetechnologiesandbusinessmodelsistheemergenceofthe

    developerasthecentralroleinIT.Todaysdevelopercanspinupmachineseasily,withoutlongpurchasecyclesortheburdenofadministration.Shecanexperiment

    withseveralversionsoftheapplicationforonlyafewpenniesanhour.Andshecanscaleupanddownwithdemand.

    Attherootofthisistheideaofacomposeddesignanapplicationthatconsistsof

    manysub-applicationsstitchedtogether.Anapplicationmightrelyonavirtual

    machineasacomputingresource,butuseanotherservicetostorelargeobjects;

    anothertoqueuemessagesforprocessing;andanothertoquicklystoreandretrieve

    key-valuepairdata.Thisisadifferentwayofbuildingapplicationsfromearlier,

    moremonolithicapproaches.

    Thereasonsperformancematters

    Wevealwayswantedfastapplications.Itsonlyrecently,however,thatweveknownwhy.StudiesfromGoogle,Microsoft,ShopzillaandStrangeloopNetworksall

    provethatfasterwebsitesimproveeverymeasureofonlinesuccess.Visitorswho

    haveabetteronlineexperiencesearchmore,buymorethings,stayonsitesmore,

    andsoon.SearchengineslikeGooglefactorpageloadtimeintotheirrankingof

    pages,whichinturnaffectssearchresultplacementakeyfactorindrivingtraffic

    toasite.

    Therearefourmaintypesofsite;eachbenefitsfromperformanceinitsownway.

    E-commercesites,whichmaketheirmoneyfromtransactions,seeanincreaseinconversionrates(thepercentageofpeoplewhobuysomething)

    aswellasinquantitypurchased. Collaborationsites,whichencouragevisitorstocreateandsharecontent,

    seevisitorsthataremorelikelytoreturn,aclearsignofengagement.They

    alsoplacehigherinsearchrankings,markingthemasanauthorityona

    subject.

    Software-as-a-Servicecompanieshavemoreproductiveusers,andfacefewerSLArefundsduetodelaybothofwhichreducechurnandencourage

    upsellingtoadditionalservices.

    Mediasites,whichmaketheirmoneyfromadvertisingandsponsorship,findthatvisitorsstayonthesiteforlonger,andviewmorepages,whentheir

    pagesloadquickly.Thismeansmoreexposurestopay-per-viewadvertisingandmorechangesforpay-per-clickadvertisingtowork.

    Regardlessofwhatkindofsiteyourerunning,youshouldcareaboutperformance.

    Ifyoureconsideringcloudcomputing,youneedtoknowhowthatmovewillaffect

    yourbusiness.

  • 8/3/2019 The Performance of Clouds Complete

    8/67

    8

    ThestateofcloudcomputingThetermcloudcomputinghasonlybeenaroundafewyears,andtheresbeena

    lotofconfusionaroundwhatacloudisandisnt.Giventhehugeitjustworks

    appealofclouds,manyprovidersandvendorshaveclothedthemselvesinthecloudmantleinthehopesofrevitalizingtheirweb-basedapplication.

    Whatdowemeanbyclouds?

    Asaresult,clouddefinitionsare,well,cloudy.Justtobeclear,hereswhatwemeanbyclouds:

    Privateandpublic

    Cloudsmayrunon-premise(sometimesknownasprivateclouds)oronathird-partysinfrastructure(publicclouds.)Ifyourerunningaprivatecloud,youcontrol

    thebaremetalonwhichthecloudruns,aswellasthenetworkandarchitecture.Whilethecloudynatureofavirtualized,on-demandenvironmentmightmake

    thingshardertodiagnose,yourenotriskingmuchbyadoptingthismodel.

    Weregoingtofocusonpubliccloudsforthisreport.

    Infrastructure,Platform,andSoftware

    Acloudisallaboutseparation.Thedividinglinebetweenyouandyourprovideris

    themostimportantaspectofacloudoffering.Whiletheresstillconsiderable

    varietyamongproviders,theindustryhassettledonthreebasicofferings.

    AnInfrastructure-as-a-Service(IaaS)modeloffersvirtualmachines.Youcopyyourmachinetothecloud,andthatmachinecanrunwhateveranormal

    machinewould.Youreinchargeoftheoperatingsystem,theapplication

    stack,andsoon.ExamplesofthismodelincludeAmazonWebServicesEC2,theRackspaceCloud,andTerremarkscloud.

    APlatform-as-a-Service(PaaS)modelofferscodeexecution.Youcopyyourcodetothecloud,anditruns.Youdontseeindividualmachinesyou

    justworryaboutthecodebutyoumayhavelimitedoptionsforyour

    environment.InSalesforcesForce.comcloud,youwriteyourcodeina

    programminglanguagecalledApex;GooglesAppEngineallowsonlyJava

    andPython,andrequiresthatyouuseGooglesstoragemodel,Bigtable,to

    storeandretrievedata.

    ASoftware-as-a-Service(SaaS)offeringoffersanapplication.Yousimply

    addcontentGoogleApps,Netsuite,Freshbooks,andHotmailareallexamplesofaSaaSapplication.Whilemanypeopleconsiderthisacloud,

    itsnotaplatformonwhichthingsarebuilt,sowewontincludeitinthis

    report.

    Inotherwords,forthisstudywerelookingexclusivelyatpublicPaaSandIaaS

    clouds.

  • 8/3/2019 The Performance of Clouds Complete

    9/67

    9

    Theuncertaintyofasharedresource

    Almostalltheconcernsaroundpubliccloudcomputinghavetodowithashared

    resource.Youmaybeworriedaboutneighboringcloudtenantswithbadsecurity

    practices.Youmightfearthatotherapplicationswillconsumeallavailable

    resources.Orperhapsyouthinkthatthecloudproviderhaschosenanunderlying

    architecturethathelpsthem,butwontmakethemostofyourapplication.

    Alloftheseconcernsarelegitimate.Thepactyouremakingwithapubliccloud,for

    betterorworse,isthattheadvantagesofelasticityandpay-as-you-goeconomicsoutweighanyproblemsyoullface.Butevenwithinpublicclouds,therearemany

    factorsthatwillaffecthowyoufare.

    Take,forexample,IaaSversusPaaSmodels.IaaSapplicationsgiveyoumorecontrol,

    becauseyoucanchoosetheoperatingsystem,programminglanguages,andtoolsat

    yourdisposal.IaaScloudswetestedcoulddoanorderofmagnitudemoreCPU-

    intensivecomputationthanPaaSclouds.Ontheotherhand,whenmanyrequests

    happenedatonce,theIaaScloudsgotslowwhilethePaaScloudshandledthe

    trafficjustfine.

    ThisisbecauseIaaSisstillinfrastructure.Youneedtospinupadditionalmachines

    tohandleload.InaPaaSenvironment,theresnoupperlimittoprocessingbecause

    yourenotrunningononemachine.Infact,PaaSproviderslikeSalesforceandHerokuhavetocreatefalseceilings(calledgovernors)tostoponecustomerscode

    fromconsumingtheentiresystem.

    Theproblemwithcomputingfaraway

    Evenifapubliccloudwereidenticaltoaprivateone,thesimplefactthatitsfurther

    awayfromyouchangesthings.AsMicrosoftsJimGraypointedoutin2003,comparedtothecostofmovingbytesaround,everyotheraspectofcomputingis

    virtuallyfree.Thatmeansyouregoingtohavetothinkabouthowtogetcontentintoacloud.

    Evenifyouregettingtothecloudrelativelyquickly,notallstoragesystemsarethe

    same.Inourresearch,ittooknearlythreedaystoinsertdataintoGooglesBigtable

    storagemodel.Thisslow-insert,rapid-retrievalmodelisacharacteristicof

    Figure1:GovernorlimitreachedonaForce.comapplication

  • 8/3/2019 The Performance of Clouds Complete

    10/67

    10

    Googlescomputingsystem,whichallowsveryfastsearchesacrosstheentire

    Internet.Indeed,onceourdatawasinBigtable,querieswereveryfast.

    Humansalsoexpectresponsiveness.Ifyourebuildinganinternalapplicationfor

    peopleinyourbuilding,acloudmayintroducedelaysimplybecauseitsnotinthesamebuildingasyourusers.Ontheotherhand,ifyourebuildinganapplicationfor

    usersthroughouttheworld,thenGooglesAppEnginehasover20pointsofpresenceandmayspeedthingsup;similarly,AmazonsCloudfrontofferingcanspeedupthedeliveryofstaticcontenttoyourusers.

    Cloudarchitectures

    Theapplicationyourebuildingwilldictatethecloudmodelyouadopt.:

    Ifyourebuildingasimplethree-tieredwebsite,cloudsareasimplechoice,andyoucanlaunchapre-configuredLAMPstackinanIaaSenvironment.

    Ifyoursiteexperiencesspikytraffic,andyourewillingtoedityourcode,youmightconsideraPaaSmodeltohandlescaleandpayonlyforCPUcycles.

    Ifyouredoingdataminingacrossalargedataset,thenyoullwantaframeworklikeHadoopthatcanprocessthingsinparallel.

    Ifyouwantamessagingplatform,thenyoumaywantamessagequeueservice.

    Ifyouretryingtobroadcastmediatomanydestinations,youlllikelyinvolveacontentdeliverynetwork.

    Intheend,youhavearchitecturalcontrolovercloudsbutitsatamuchhigherlevel.Ratherthanworryingaboutwhichprocessesarerunningonanindividual

    server,youreselectingwhichcloudsandcloudservicestouseasyouassembleyour

    application.

  • 8/3/2019 The Performance of Clouds Complete

    11/67

    11

    ThebigquestionsForourresearch,wewanttoanswerafewbasicquestionsaboutclouds:

    Howdodifferentcloudsperformforwebusers?

    Whatarethedifferencesacrosscloudsforspecificfunctionsnetworkdelivery,computation,andback-endI/O?

    Howmuchisoneclouduseraffectedbyitsneighbors?

    HowdoIaaSandPaaScloudsvaryinperformance?

    Howdodifferentplatformshandlespikesinconcurrentrequests?

    Howvariable,orpredictable,arespecificcloudplatforms?

    TestingmethodologyToanswerthesequestions,wechosefivecloudplatformsthreeIaaSandtwoPaaS.Foreach,wecreatedatestapplicationthatcouldexercisethevariouselementsof

    latencyinwhichwewereinterested:

    Aone-pixelGIF,totestrawresponsetimeandcaching.

    A2-MByteobject,totestnetworkthroughputandcongestion.

    ACPU-intensivetask(repeatedlycalculatingasinefunction)thatwouldconsumeprocessingcapacity.

    AnI/Ointensivetask(searchingthroughadatabaseforaspecificrecord,thenclearingthecache)tomeasureback-endsystemsandresource

    contention.

    Wealsochosefivecompanieswhosewebbusinessesusedeachcloudplatform,

    accordingtothefollowingcriteria:

    Theyhadtobereputable,real-worldcompaniesratherthanexperimentsor

    personalsites

    Thesiteshadtobedynamic,ratherthanstatic

    Theyhadtobecodedthatis,notsimplyparameterizedversionsofturnkeySaaSapplicationsthathadbeenskinnedtomatchaparticularbrand

    Despitethepopularityofcloudcomputing,thiswasntaseasyasitsounds.Many

    websitesthatclaimtoberunninginthecloudareactuallycustomer-orpartner-

    portalfront-endsforSaaSapplications,whileothersarelittlemorethanstatic

    marketingwebsites.

    Foreachsite,wetestedasingleobject(usuallyaone-pixelGIForafavicon.ico

    image)andafullpageload.Thismeantthateachcloudhadfourteentestsfive

    realsitestestedtwice,andfouragentsites.

  • 8/3/2019 The Performance of Clouds Complete

    12/67

    12

    ThesetestswererunfrommutiplelocationsworldwideusingWebmetricstesting

    service.WegeneratedtheanalysisofperformancefrombothWebmetricsreports

    andpost-processingofthelogfilesgeneratedbytheWebmetricsservice.

    Thegoalofthisresearchisnttorecommendaparticularcloud;

    indeed,ourresearchshowsthatdifferentplatformsworkbetter

    fordifferentapplicationtypes.Wevenamedthefivecloud

    platformsonwhichwetested,butwevehiddenthenamesof

    theproductionapplicationsthatwererunningoneachcloud.

    TestlimitationsFirstandforemost:thisisnotascientific,repeatabletest.Theverynatureofcloudsis

    thattheyreinconsistentandmultitenant,andsubjecttoseasonalanddaily

    variances.Consider:

    Therearehugedifferencesbetweenthewaysdataisstoredincloud

    platforms.Someusedatabases,othersusemassivelyparalleldatastorage

    Somecloudsarebusy,andweresharingmachineswithothers;onotherclouds,wemayhavetheluxuryofamachinetoourselves.Wedontknow.

    Thewayaparticularfunction(suchasasinecalculation)isperformedvariesfromcloudtocloud.

    Thephysicalmachineonwhichavirtualmachineisrunningwillvaryfromtesttotest.

    FactorsbeyondthecloudproviderscontrolInternetcongestion,DDOSattacks,problemswithDNSmaychangetheresults.

  • 8/3/2019 The Performance of Clouds Complete

    13/67

    13

    Muchofthedelaywithinanapplicationmaybetheresultofsomethingthedeveloperdoes;wesawseveraltestedsiteschangeperformance,andgo

    down,duringthetest.

    Wepurposelyswitchedbetweensequentialandsimultaneoustestmodesduringthedatacollectionperiodinordertounderstandtheimpactof

    contentiononresources.Thisisareasonablesimulationofawebsitethatsfacingchangingtrafficpatterns:sometimes,visitsarespreadout;othertimes,theyhappenallatonce.

    PaaSplatformsartificiallylimitthenumberofinstructionswecanruninaperiodoftime,whichmeanswehadtoreducethenumberofsine

    calculationsperformedsoitsnotaccuratetosaythatPaaSisfasterthan

    IaaSfromthisdata,becausethePaaSplatformisactuallydoingfarlesswork.

    Infact,whenwetriedthesamenumberofcomputationsonPaaSandIaaS

    platforms,theIaaSplatformwassomuchfasterthattheresultswerent

    easilymeasurable.

    Nevertheless,theresultsarevaluablepreciselybecausetheyshowthevarianceanduncertainty,andhelpusunderstandwhattolookforacrossclouds.

  • 8/3/2019 The Performance of Clouds Complete

    14/67

    14

    TestresultsWellfirstlookathigh-levelresultsacrossplatformsandtesttypes,thenlookat

    individualtesttypes,individualclouds,andtrendsamongwebsitesrunningoneach

    cloud.

    Realwebsitetestshigh-levelmetrics

    First,letslookathowourfivecloudshandledthereal-worldsitesrunningonthem.

    Thisgivesusaroughideaofthehealthofeachplatform,butwedontknowanythingaboutthecodetheyrerunningabaddevelopercouldgiveagoodcloud

    terribleresults.

    Throughoutthisreport,wellusehistogramstorepresentthe

    performancemeasurementswecollected.Whileaveragesare

    nicetolookat,ahistogramliketheonebelowismore

    meaningful.Itshowsthenumberofteststhatoccurredwithaparticularperformancelevelforexample,inthechartbelow,

    weseethatroughly27%ofalltestsofthefivesitesrunningon

    Salesforce.comtooklessthanasecondtocomplete.

    Salesforce

    GoogleRackspace

    AmazonTerremark

    0.00%

    10.00%

    20.00%

    30.00%

    40.00%

  • 8/3/2019 The Performance of Clouds Complete

    15/67

    15

    Agenttestshigh-levelmetrics

    Foramorecontrolledanalysisofcloudperformance,weneedtomeasureknown

    workloads.Herearetheresultsforourfouragenttests.

    Thecloudsallhandledthesmallimagewell.PaaScloudsweremoreefficientat

    deliveringthelargeobject,possiblybecauseoftheirabilitytodistributeworkload

    outtocachingtiersbetterthananindividualvirtualmachinecando.

    EvenwithinPaaSclouds,CPUandI/Ovariedwidely.

    Heresadatatableofaverageloadtimesacrossallfivecloudsforatwo-dayperiodinearlyApril.

    Salesforce Google Rackspace Amazon Terremark

    1-pixel GIF (light test) 0.11s 0.25 0.18 0.23 0.23

    2-MByte GIF (heavy test) 0.50 1.97 3.25 4.41 5.00

    CPU Test 8.13 1.63 2.16 10.03 3.75

    IO Test 6.26 2.03 3.33 19.46 12.35

    Averagescanbemisleading,however,assomecloudsexperiencedfargreaterlatency.Heresthemedianlatency:

    1-pixelGIF

    2MBGIF

    CPUIO

    0

    5

    10

    15

    20

    Seconds

    Averagelatencyoffouragentsacrossivecloud

    platforms

  • 8/3/2019 The Performance of Clouds Complete

    16/67

    16

    Andheresthemodeoflatency:

    Sometimesvarianceisasimportantaslatency,however,sowelookedatthestandarddeviationacrosseachcloudtest:

    1-pixelGIF

    2MBGIF

    CPUIO

    0

    5

    10

    15

    20

    25

    Seconds

    Medianlatency

    1-pixelGIF

    2MBGIF

    CPUIO

    0

    2

    4

    6

    8

    10

    Seconds

    Modeoflatency

  • 8/3/2019 The Performance of Clouds Complete

    17/67

    17

    NotethatIaaScloudsconsistentlyshowgreatervariancethanPaaSclouds;andthat,

    becauseitsmeasuringnetworkperformance,the2MByteGIFtestvariessignificantlywhentestedfrommanylocationsontheInternet.Inotherwords,the

    variancehereislargelyduetogeography:WANlatencyvariesthemost.

    Performancehistograms

    Abetterwaytounderstandlatencyistolookatahistogramofperformance,which

    showshowmanytestsexperiencedaparticularleveloflatency.Thefollowingchart

    combinesallfourkindsoftestsincenetwork,serverresponsiveness,computation,andbackendI/Oareallcomponentsofanapplicationtoshowhoweachcloud

    compares.

    1-pixelGIF

    2MBGIF

    CPUIO

    0

    1

    2

    3

    4

    5

    6

    Seconds

    Standarddeviationoflatency

  • 8/3/2019 The Performance of Clouds Complete

    18/67

    18

    Theperformanceofindividualclouds

    Nowletslookateachcloudproviderindetail.

    SalesforceGoogleRackspace

    AmazonTerremark

    0.00%

    10.00%

    20.00%

    30.00%

    40.00%

    50.00%

    01

    2

    3 4 56

    78

    910+

    Percentoftests

    Delayinseconds

    Performancebycloud,allfouragents

  • 8/3/2019 The Performance of Clouds Complete

    19/67

    19

    Salesforcesforce.com

    ThisisaPaaScloudfeaturingitsownprogramminglanguage(Apex.)Itsdesigned

    primarilyforextendingtheSalesforce.comSaaSCRM,anddevelopershaveaccessto

    theirCRMsdatastructuressuchascontactsandsalesfunnels.

    HerestheperformancehistogramforthefivesitesrunningonForce.com.

  • 8/3/2019 The Performance of Clouds Complete

    20/67

    20

    HereshowSalesforcehandledthevariouscomputingtaskswegaveit.

    Andtheperformancehistogramforthefourtasks:

    0.00% 20.00% 40.00% 60.00% 80.00% 100.00%

    0

    2

    4

    6

    8

    10

    12+

    Percentageoftests

    Secondsoflatency

    FivesitesonSalesforcecloud

  • 8/3/2019 The Performance of Clouds Complete

    21/67

    21

    1-pixel

    2MBCPU

    IO

    0

    10000

    20000

    30000

    40000

    01

    23

    45

    67 8

    910+

    Testcount

    Delayinseconds

    Salesforcetestproile

  • 8/3/2019 The Performance of Clouds Complete

    22/67

    22

    GoogleAppEngine

    GooglescloudplatformisaPaaS.DeveloperscanuseeitherJavaorPython,andare

    billedforcomputationused.TheirapplicationsmustusetheGoogle-specificdatastore,whichallowsscalabilityandfaulttolerance.

    HereshowthefivesitesrunningonGoogleAppEnginedidduringthetest:

    HerestheperformancehistogramforthefivesitesrunningonAppEngine:

  • 8/3/2019 The Performance of Clouds Complete

    23/67

    23

    ThisishowGoogleAppEnginehandledourfourtestagents:

    Andherestheperformancehistogram:

    0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%

    0

    2

    4

    68

    10

    12+

    Percentageoftests

    Secondsoflatency

    FivesitesonGoogleapp

    engine

  • 8/3/2019 The Performance of Clouds Complete

    24/67

    24

    1-pixel

    2MBCPU

    IOTotals

    0

    10000

    20000

    30000

    40000

    50000

    60000

    01

    23

    45

    6 78

    910+

    Testcount

    Delayinseconds

    Googletestproile

  • 8/3/2019 The Performance of Clouds Complete

    25/67

    25

    RackspaceCloud

    Rackspace.comisanestablishedmanagedserviceprovider,offeringbaremetal

    hosting,managedhosting,andIaaSandPaaSclouds.HereshowthefivecompanieswhosesitesrunonRackspacefaredduringourtest.

    Herestheperformancehistogramofthewebsitesweevaluated.Notethat

    performanceisfairlyconsistentacrossthetestperiod,butthatonesiteisslowcomparedtoallothersandaffectsresultssignificantly.

  • 8/3/2019 The Performance of Clouds Complete

    26/67

    26

    WhenitcametoourtestsrunningonRackspace,hereswhatperformancelooked

    like:

    HerestheperformancehistogramforthefourtestfunctionsonRackspace.

    0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%

    0

    2

    4

    6

    8

    10

    12+

    Percentageoftests

    Secondsoflatency

    FivesitesonRackspaceCloud

  • 8/3/2019 The Performance of Clouds Complete

    27/67

    27

    TheCPUtestsufferedfromtwospikesseeninthetestperiod.

    1-pixel

    2MBCPU

    IOTotals

    0

    10000

    20000

    30000

    40000

    01

    23

    45

    6 78

    910+

    Testcount

    Delayinseconds

    Rackspacetestproile

  • 8/3/2019 The Performance of Clouds Complete

    28/67

    28

    AmazonWebServices

    Amazonistheclearmarketleader,andformanytechnologiststheirmodelis

    synonymouswithcloudcomputing.MostcustomersusetheEC2virtualmachinesandS3storage,butotherservicesarentasbroadlyadopted.

    HereswhatthefivesitesrunningonAmazonlookedlike:

    HerestheperformancehistogramforthefivesitesrunningonAWS:

  • 8/3/2019 The Performance of Clouds Complete

    29/67

    29

    Asforourfourtests,hereshowtheycomparedduringthetest:

    Herestheperformancehistogramforthefourtestsinthesameperiod:

    0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%

    0

    2

    4

    68

    10

    12+

    Percentageoftests

    Secondsoflatency

    FivesitesonAmazonWeb

    Services

  • 8/3/2019 The Performance of Clouds Complete

    30/67

    30

    1-pixel

    2MBCPU

    IOTotals

    0

    10000

    20000

    30000

    40000

    50000

    01

    23

    45

    6 78

    910+

    Testcount

    Delayinseconds

    Amazontestproile

  • 8/3/2019 The Performance of Clouds Complete

    31/67

    31

    TerremarkvCloud

    Unlikemostpublicclouds,whichrelyonopensourceXenserverforvirtualization,

    TerremarkscloudofferingisbasedonVMWaresvirtualizationtechnology.HereshowfiveTerremarkcustomersfaredduringthetestperiod:

    Herestheperformancehistogramforthefivesites:

    0.00% 20.00% 40.00% 60.00% 80.00% 100.00%

    0

    2

    4

    6

    8

    10

    12+

    Percentageoftests

    Secondsoflatenc

    y

    FivesitesonTerremarkCloud

  • 8/3/2019 The Performance of Clouds Complete

    32/67

    32

    Hereshowourfourtestagentsperformed:

    Thisistheperformancehistogramforthosetests:

    1-pixel2MB

    CPUIO

    0

    10000

    20000

    30000

    01

    23

    45

    67

    89

    10+

    Testcount

    Delayinseconds

    Terremarktestproile

  • 8/3/2019 The Performance of Clouds Complete

    33/67

    33

    Howdodifferentcloudshandleworkloads?

    Nowletslookattheagentswevecreatedforeachcloud.Heresahigh-levelviewof

    howwellthecloudshandledeachtypeoftest.

    1-pixelGIF2MBGIF

    CPUIO

    0.00%

    20.00%

    40.00%

    60.00%

    80.00%

    100.00%

    01

    23

    45

    67

    89

    10+

    Percentoftests

    Delayinseconds

    Performancebytesttype,allclouds

  • 8/3/2019 The Performance of Clouds Complete

    34/67

    34

    1-pixelGIF

    Herearetheresultsfortheretrievalofaone-pixelGIFbyeachoftheclouds.

    Herestheperformancehistogramforeachcloud.Thisisameasureofhowwellthe

    cloudcachesstaticcontentandrespondsquicklytorequests.

    SalesforceGoogle

    RackspaceAmazon

    Terremark0.00%

    20.00%

    40.00%

    60.00%

    80.00%

    100.00%

    0 1 2 3 4 5 6 7 8 910+

    Perce

    ntoftests

    Delayinseconds

    Latency,1-pixelGIF

  • 8/3/2019 The Performance of Clouds Complete

    35/67

    35

    2-MByteGIF

    Thesecondtestevaluatesnetworkthroughput.Hereswhatitlookedlikeacrossa

    monthoftesting.

    Herestheperformancehistogramforeachcloudrunningthetest.

    Salesforce

    GoogleRackspace

    AmazonTerremark

    0.00%

    10.00%

    20.00%

    30.00%

    40.00%

    50.00%

    60.00%

    0 1 2 3

    4 5 6 7 8 910+

    Percentoftests

    Delayinseconds

    Latency,2MBGIF

  • 8/3/2019 The Performance of Clouds Complete

    36/67

    36

    CPUtest

    Thethirdtestlooksatprocessingcapacity,askingthecloudplatformtocompute

    1,000,000sineandsumoperations.

    NotethatthemeasurementsforSalesforce.comscloudmustnotbecomparedto

    othersdirectly;becauseofgovernorsonthePaaSplatformthatlimitthenumberof

    instructionsthatcanbecarriedout,thiscloudonlyexecuted100,000operationsonetenthofthosetheothercloudswereprocessing.

    Herestheperformancehistogramforthetest:

  • 8/3/2019 The Performance of Clouds Complete

    37/67

    37

    AmazonsprocessingoftheCPUtestswasslow,butwechosethesmallestvirtual

    machineavailablefromtheirservicecatalog;biggermachineswouldhavehandled

    thismorequickly.

    WealsolookedaterrorratesfortheCPUtest:

    Errorsseen,CPUtest Mar15-Apr15

    Uptime Errors Successes

    Salesforce 99.96% 11 29106

    Google 99.99% 3 32212

    Rackspace 99.93% 20 32470

    Amazon 100.00% 0 30371

    Terremark 100.00% 0 31426

    SalesforceGoogle

    RackspaceAmazon

    Terremark0.00%

    10.00%

    20.00%

    30.00%

    40.00%

    50.00%

    60.00%

    0 1 2 3 4 5 6 7 89 10+

    Percentof

    tests

    Delayinseconds

    Latency,CPUtest

    Salesforce Google Rackspace Amazon Terremark

  • 8/3/2019 The Performance of Clouds Complete

    38/67

    38

    I/Otest

    Inthefourthtest,wesearchastoragesystemforaspecificstring.Herestheresult

    ofthatprocessovertime;thisisthemostrevealingintermsofinterestingdata.

    NotethetwospikesinlatencywithinRackspace;themassivedropinboth

    TerremarkandAmazon,followedbyanincrease;andthegradualgrowthindelay

    withinGooglesAppEngine.

    Thedrop,andsubsequentincrease,arecausedbyswitchingthetestingmodelfrom

    sequential(wheretestshappenoneafteranother)tosimultaneous(wherealltestsoccuratonce.)BoththeTerremarkandAmazonIaaSagentsbecomemuchslower

    whentestsaresimultaneousbecausetheyreunabletoscaleautomatically;

    however,Rackspace,whichisalsoanIaaSmodel,wasntaffectedbythechange.

    Wellcoverthisinmoredetailbelow.

    Herestheperformancehistogram:

  • 8/3/2019 The Performance of Clouds Complete

    39/67

    39

    ThePaaSprovidersdidwell,largelybecauseoftheirsharedstoragemodelthatis

    optimizedforlargedatasetsacrossmanymachines;Rackspacescloudperformed

    verywellbuthadoccasionalslow-downs.

    SalesforceGoogle

    RackspaceAmazon

    Terremark0.00%

    20.00%

    40.00%

    60.00%

    80.00%

    100.00%

    0 1 2 3 4 5 6 7 89 10+

    Percentof

    tests

    Delayinseconds

    Latency,I/Otest

  • 8/3/2019 The Performance of Clouds Complete

    40/67

    40

    NoteworthyobservationsAsweconductedthisresearch,wesawmanyanomaliesandinterestingpatterns.

    Hereareafewofthem.

  • 8/3/2019 The Performance of Clouds Complete

    41/67

    41

    GradualincreaseinlatencyonGoogleAppEnginesCPU

    Overthecourseofthetest,wesawasignificantincreaseintheCPUlatencyof

    GooglesAppEngine.WhileGooglesservicewasstillfasterthanotherplatformsatthisspecifictask,wesawthedelayroughlydoubleinthistime.

  • 8/3/2019 The Performance of Clouds Complete

    42/67

    42

    SpikesinRackspacesCPUperformance

    RackspacesCPUtestsencounteredtwosignificanspikesduringthetest,when

    latencyjumpedfromarespectable2secondstothreetimesasmuch.

  • 8/3/2019 The Performance of Clouds Complete

    43/67

    43

    AproblemwithasubsetofcustomersinanIaaS

    Inthischart,weseeseveralRackspaceCloudcustomersexperiencingaslow-down

    atthesametime.Onebecomescompletelyunavailable,whiletwoothersareslow.Ourstatictestagentremainsfastthroughoutthetest,suggestingthatthisisan

    internalproblemaffectingseveralsitessimultaneously.

  • 8/3/2019 The Performance of Clouds Complete

    44/67

    44

    HowbigaproblemisWANlatency?

    Inthischart,wecompareWANperformanceforourI/Otest.WANlatencyisonlya

    fractionofthetotaldelayhere.Asawhole,theresaroughlytwo-seconddifferencebetweenthefastestandslowesttestingpointfromwhichwetestedtheagent.

  • 8/3/2019 The Performance of Clouds Complete

    45/67

    45

    SpikyI/Operformanceandoutages

    Inthischart,weseetheRackspaceI/Otestvaryingsignificantly,whileoneofthe

    Rackspacecustomerswerewatchingalsogoesofflinesuggestingthataresourceproblemonthebackendaffectedus,andalsoaffectedacompanywhoseapplication

    isI/Odependentthatwesharedthecloudwith.

  • 8/3/2019 The Performance of Clouds Complete

    46/67

    46

    HighvariancewithinSalesforcescloud

    ThischartshowsperformanceontheSalesforcecloud.Earlyon,CPUisveryslow;

    thenitrecovers,andproceedstogetsloweragain.Duringthatfirstspike,othersitesoccupyingthePaaSplatformalsobecomespikyandslow.

  • 8/3/2019 The Performance of Clouds Complete

    47/67

    47

    Theimpactofavailabilityzones

    ThisdatawaspresentedbyEranShir,CTOofadvertisingserviceDapper,at

    Web2ExpoSanFrancisco.Weincludeitheretoemphasizetheissueswithavailabilityzonesandperformance.

    InAmazonsmodel,customerscanchooseanavailabilityzonefromwhichtheirapplicationwillbeserved.Thisispartlyforcompliancereasonssocustomers

    knowwhatlegislationappliestotheirdataandpartlytoprovideseparationfor

    failoverandSLAs.Butallzonesarenotthesame.Considerthelatencyofan

    applicationrunninginAvailabilityZoneUS-East-1A:

    ComparethistoUS-East-2A:

    IntheEasternzone,performanceoftenspikesto2secondsormore;intheWestern

    zone,itsconsistentlyfast.Thiskindofperformancedegradationisessentialto

    watch.

  • 8/3/2019 The Performance of Clouds Complete

    48/67

    48

    WANlatencyvariance

    Heresagoodexampleofperformancedegradationfromonepartoftheworld(the

    WestCoast)thatdoesntaffectanother.

  • 8/3/2019 The Performance of Clouds Complete

    49/67

    49

    Slow-downsaffectingallsitesononeday

    ThischartofFebruary23showsmanysitesrunningonSalesforcescloudall

    slowingdownconcurrently.

  • 8/3/2019 The Performance of Clouds Complete

    50/67

    50

    Slow-downsaffectingasinglesite

    Degradationdoesntalwaysaffecteveryoneonasite.Hereareseveralapplications

    runningonAppEngine,whereonlyoneofthemhasaproblem.

  • 8/3/2019 The Performance of Clouds Complete

    51/67

    51

    WhenthewholeInternetisslow

    Somedays,manycloudsseeaproblemwhichislikelyaresultofintermittent

    issueswiththeInternetasawhole.

  • 8/3/2019 The Performance of Clouds Complete

    52/67

    52

    Moneyspentonclouds

    Forthedurationofthetests,hereshowmuchwespentoneachplatform.Amount Cloud

    $127.69 Amazon Web Services (EC2 and EBS)

    4.71 Google App Engine

    61.44 Rackspace.com

    0.00 Force.com

    102.87 Terremark

    NotethatwedidnthitanyoftheratelimitsfortheSalesforceforce.comcloud,so

    wedidntpayforthecapacityweusedaspartofthetestbutbecauseof

    force.comsgovernors,wewereperformingonly10%oftheCPUoperationsoftheotherclouds.

  • 8/3/2019 The Performance of Clouds Complete

    53/67

    53

    IOcontentiononRackspace

    Duringouranalysis,wesawwidechangesinI/OperformanceAtonepoint,56356

    rsec/smeantonlya74.26%utilizationofthesystem;atanother,584rsec/smeant

    100.00%utilization.Thisisaclearsignthatthesystemiscompetingwithother

    processesforresources.Heresthedataforthetwoperiods:

    Device rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz

    avgqu-sz

    await svctm %util

    Period 1 Sda1 0.00 0.00 673.27 0.00 56356.44 0.00 83.71 4.07 6.04 1.10 74.26

    Period 2 Sda1 0.00 0.00 19.00 0.00 584.00 0.00 30.74 2.95 147.37 52.63 100.00

  • 8/3/2019 The Performance of Clouds Complete

    54/67

    54

    Simultaneousversusspreadouttests

    Whenwebeganthetesting,welaunchedseveralrequestsfromseveralcities

    simultaneously.ThismeantthatthetestapplicationshadtodealwiththreeorfourusersatexactlythesamemomentandourCPU-andI/O-intensivetestsdidnot

    dealwiththiswellinanInfrastructure-as-a-Servicemodel.

    Later,weswitchedtestingtospreadrequestsoutmoreevenly(thesequentialsetting),andtheIaaSpatformsdealtwiththeloadfarbetter.Considerthefollowing

    chart,whichshowslatencyoftheI/OtestonanIaaScloudbeforeandafterthe

    change:

  • 8/3/2019 The Performance of Clouds Complete

    55/67

    55

    Nowconsiderthesametestvolume,forthesameperiod,onaPaaScloud.

    RememberthatPaaShasnonotionofamachinethesystemscalestohandleload

    automatically.

  • 8/3/2019 The Performance of Clouds Complete

    56/67

    56

    Whiletheressomevariance,itsfarlessthanintheIaaSexampleabove.Heresa

    graphofthreecloudplatformsbeforeandaftertheswitch:thetwoIaaSplatforms

    (TerremarkandAmazon)farefarbetterwhentherequestsarespreadout,while

    thePaaSplatform(Google)barelychanges.

  • 8/3/2019 The Performance of Clouds Complete

    57/67

    57

    HeresRackspacesperformanceacrossthisperiod,showingtheimprovementin

    I/Olatencybyspreadingtherequestsout.

  • 8/3/2019 The Performance of Clouds Complete

    58/67

    58

    Spikesinasinglecloud

    ThefollowingchartshowstheI/Operformanceacrossallcloudproviders.Wecan

    seethatI/Oononeofthemhasspikedsignificantly,butthatothercloudsseemtoalsohavesporadicslow-downs.

    HeresthesameperiodwithinWebmetricsreportingsystem.

  • 8/3/2019 The Performance of Clouds Complete

    59/67

    59

    VariancewithinGoogleAppEngine

    Thischartshowsathree-dayperiodduringwhichAppEnginesperformancevaried

    significantly.Whilethesmallimagetestwasrelativelyconsistentinitsperformance,allthreeothertestsspikedandthereappearedtobecorrelationbetweenI/O,

    network,andCPUlatency.

  • 8/3/2019 The Performance of Clouds Complete

    60/67

    60

    ConclusionsFirstandforemost:theresalottowatch.Cloudscanfailinmanyunexpectedways;

    herearesomeofthelessonswevelearned.

    Watchyourneighbors.Weveseengoodevidencethatseveralcloudapplicationsslowdownatonce,soyoulldefinitelybeaffectedbyothers

    usingthesamecloudasyou.

    Understandtheprofileofyourcloud.Thehistogramsshownheredemonstratethatdifferentcloudsaregoodatdifferenttasks.Youllneedto

    choosethesizeofyourvirtualmachinesintermsofCPU,memory,andso

    oninordertodelivergoodperformance.

    Youneedanagentontheinside.Whenyouplanamonitoringstrategy,youneedcustomcodethatexercisedback-endfunctionssoyoucantriagethe

    problemquickly.

    ChoosePaaSorIaaS. Ifyourewillingtore-codeyourapplicationtotakeadvantageofbigdatasystemslikeBigtable,youcanscalewellbychoosing

    aPaaScloud.Ontheotherhand,ifyouneedindividualmachines,youllhave

    tobuildelasticityintoyourIaaSconfiguration.

    Bigdatadoesntcomeforfree.Usinglarge,shardeddatastoresmightseem

    nice;butittakestimetoputthedatainthere,whichmaynotbeappropriate

    foryourapplicationsusagepatterns.

    Monitorusageandgovernors.InPaaS,ifyouexceedyourratelimits,youruserswillgeterrors.

    Troubleshootinggetsharder.YouneeddataontheInternetasawhole,yourcloudproviderasawhole,andyourindividualapplicationsvarious

    tiers,inordertoproperlytriagetheproblem.Whenyouwererunningondedicatedinfrastructure,youdidnthavetospendasmuchtimeeliminating

    third-partyissues(suchascontentionforsharedbandwidthorI/Oblocking.)

    PaaSmeansyoureinthesamebasket.Wenoticedthatifyoureusinga

    PaaS,whenthecloudgetsslow,everyonegetsslow.WithIaaS,theresmore

    separationoftheCPUandtheserversresponsivenessbutyourestill

    contendingforsharedstorageandnetworkbandwidth.

    Watchseveralzones.Whenyourelyonavailabilityzonestodistributethe

    riskofanoutage,youllalsoneedtodeployadditionalmonitoringtocomparethosezonestooneanother.

  • 8/3/2019 The Performance of Clouds Complete

    61/67

    61

    FurtherresearchandreadingTheresalreadyagoodbodyofresearchoncloudperformanceinthepublicdomain.

    Inpreparingthisstudy,weconsultedmanyonlineresources;herearesomeofthe

    mostrelevantones:

    PeterVanEijk

    Peterusedavarietyofapproachestodeducethesizeandscaleofcloudofferings,

    andtolookatchangesintheirperformanceovertime.

    OneofthemostnotableaspectsofPetersresearchwastherateatwhichcloud

    offeringsareimproving.Hefoundthatinasinglemonth,AmazonsCloudfrontunderwenttwosignificantperformanceimprovements:

    Figure2:PeterVanEijk'sresearchintoAmazonCloudfrontperformancefromNYC

    HisresultswerepresentedattheComputerMeasurementGroupsannualmeetingandareavailableonSlideshare1.

    Cloudstatus

    NowpartofVMWare,Hyperichasavarietyofagentsthatcollectcloud-specific

    metricsacrossseveralpublicclouds.2

    1 http://www.slideshare.net/pveijk/cloud-encounters-sept-2009-for-cmg-

    dec-6

    2 http://www.cloudstatus.com

  • 8/3/2019 The Performance of Clouds Complete

    62/67

    62

    Figure3:AsampleofHyperic'sCloudstatusdashboard

    WhatsnotablehereisthateachcloudhasuniquethingstomeasureonAmazon,

    forexample,itmightincludeSimpleDBorSimpleMQdata,whileonGoogleitmight

    includeBigtablelookuptimes.

    Cloudharmony

    Overatwo-monthperiod,Cloudharmonypaidenduserstoruntheirtestingtool

    andmeasurethespeedofclouds.3

    Figure4:AggregateresultsofcloudperformancecollectedbyCloudharmony

    3 http://blog.cloudharmony.com/2010/02/cloud-speed-test-results.html

  • 8/3/2019 The Performance of Clouds Complete

    63/67

    63

    Theprimaryfocusofthetestingwasend-userthroughput,ratherthanwebpage

    latency,buttheywereabletotestmanydifferentplatformsduringthetest.

    Cloudharmonysclient-sidemonitoringtoolcanexercisemanycloudfunctionsas

    partofitstestingroutine.

    Figure5:Aone-timetestofcloudstorageandplatformsbyCloudharmony'sagent

    AlanWilliamsonandCloudkickAllanWilliamsonpublisheddataonoversubscriptionandcontentionwithinanIaaScloud,4referencingdatagatheredbyCloudkick.5Thedataindicatesincreasing

    congestionwithinAmazonsresources.TheseissuesseemtoplagueAmazonsUS-

    Eastavailabilityzone,somethingweveheardfromseveralsources.

    4 http://alan.blog-city.com/has_amazon_ec2_become_over_subscribed.htm5 https://www.cloudkick.com/blog/2010/jan/12/visual-ec2-latency/

  • 8/3/2019 The Performance of Clouds Complete

    64/67

    64

    Figure6:NetworklatencyincreasinginAmazon'sUS-Eastavailabilityzone

    Whilenetworkcongestionisonlyonefactorthatcanleadtopoorenduser

    experience,itsanimportantone.Ascloudsgrowinpopularity,itsimportanttorememberthattheyreasharedresourceandtoensurethattheproviderisscaling

    infrastructurecapacitycommensuratewithdemand.

    TheBitsource

    TheBitsourcedidanindependentcomparisonofRackspaceandAmazon6to

    measureperformancewithinthecloudsthemselves.

    Figure7:TheBitsource'scomparisonofcompilationtimeacrosscloudvirtualmachines

    ThiscomparisonfocusedmoreonapplyingtraditionalbenchmarkssuchascompilationorI/Ooperationsacrosstwosystems.

    6 http://www.thebitsource.com/featured-posts/rackspace-cloud-servers-

    versus-amazon-ec2-performance-analysis/

  • 8/3/2019 The Performance of Clouds Complete

    65/67

  • 8/3/2019 The Performance of Clouds Complete

    66/67

    66

    $chandle = mysql_pconnect("localhost", "root","barfly")or die("ERROR: Connection Failure to Database");

    mysql_select_db("MainObj", $chandle)or die ("Database not found.");

    $query="select ip_addr, comment,value from vote where comment like'%OIYDGOAPSL%'";$result = mysql_db_query("MainObj", $query) or die("ERROR: Failed

    Query");$result = mysql_query($query);echo "IO
    ";// Check result// This shows the actual query sent to MySQL, and the error. Useful fordebugging.if (!$result) {

    $message = 'ERROR: ' . mysql_error() . "
    ";$message .= 'Whole query: ' . $query;die($message);

    }

    while ($row = mysql_fetch_assoc($result)) {echo $row['ip_addr'];

    echo "
    ";}

    mysql_free_result($result);// this is to flush the cache for next time or we're effectivelycheating the load Dom0system("/sbin/fc");?>

    /sbin/fcassumessuperuserprivilegestoflushalldiskcache.ThiswasdoneattheendofthecodetopreventotherloadissuesastheOSrecoversalittlefromhaving

    thebufferssuddenlyallmarkeddirty.Thisforcesthenextwebhittonotbeableto

    searchthroughtheentiredatabasefromcache,butratherforcesDISKIOrohappenasthoughthiswasthefirstqueryever.

    Thecodeforfc.cis:

    #include main(){

    setreuid(0,0);system("echo '3' > /proc/sys/vm/drop_caches");

    }

    Toprovethisworks,useiostat-x1andgovisitthewebpageIO.phpafewtimes,

    you'llseealltheIOloadaneweachtime.RenameIO.phpandyou'llnotetheentire

    DBfitsintoRAM,andthere'snoIOtodiskanymore.

    ThecodeforPaaSI/OtestsvariesbyPaaSplatformsignificantly.BothForce.com

    andGoogleAppEngineaddvisibleandinvisibledataperrow.Force.comaddsauthor,creator,andothermetadatasuchthat524krowsisabout1.1GB,whereas

    it'sonly190megsonamysqldatabase.WhilewecantflushthecacheinaPaaS

    cloud,thefactthatwererunningafullscanofagigabyteofdatainashared

    environmentsuggeststhatitslesslikelytobecached.

  • 8/3/2019 The Performance of Clouds Complete

    67/67

    Googlesinsertslowtoqueryfastphilosophymeansthatdatawasinsertedata

    rateof31,160300-byterowsperCPU-hour.Wequicklyburnedthroughthe6.5free

    CPU-hoursGoogleoffersitsusers,andintheend,tooknearly3daystopushallof

    thetestdataintoAppEnginesBigtablestorage.

    GoogleAppEnginedoesnotsupportsearchingforasubstringinastringfield.As

    such,theusualsearchforthe6-bytestringfoundonlyinrow11692(whichwasthebasisfortheI/Otest)isreplacedbyasearchfortheentirefield(all255bytes).Thisisessentiallystillafullindexscan,asthiscolumnisnotindexednormally,and

    shouldbegiveortakeaboutthesameamountofaggregateIOloadasalltheother

    tests.