已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PerformancecomparisonofdynamicwebplatformsVarshaAptea,1,TonyHansenb,*,PaulReeserbaDepartmentofComputerScienceandEngineering,IndianInstituteofTechnology-Bombay,Mumbai400076,IndiabAT&TLabs,200LaurelAve,Middletown,NJ07748,USAReceived7August2002;accepted7August2002AbstractOverthelastfewyears,theWorldWideWebhastransformeditselffromastaticcontent-distributionmediumtoaninteractive,dynamicmedium.TheWebisnowwidelyusedasthepresentationlayerforahostofon-lineservicessuchase-mailandaddressbooks,e-cards,e-calendar,shopping,banking,andstocktrading.Asaconsequence(HyperTextMarkupLanguage)HTMLfilesarenowtypicallygenerateddynamicallyaftertheserverreceivestherequest.FromtheWeb-siteproviderspointofview,dynamicgenerationofHTMLpagesimpliesalesserunderstandingoftherealcapacityandperformanceoftheirWebservers.FromtheWebdeveloperspointofview,dynamiccontentimpliesanadditionaltechnologydecision:theWebprogrammingtechnologytobeemployedincreatingaWeb-basedservice.SincetheWebisinherentlyinteractive,performanceisakeyrequirement,andoftendemandscarefulanalysisofthesystems.Inthispaper,wecomparefourdynamicWebprogrammingtechnologiesfromthepointofviewofperformance.Thecomparisonisbasedontestingandmeasurementoftwocases:oneisacasestudyofarealapplicationthatwasdeployedinanactualWeb-basedservice;theotherisatrivialapplication.Thetwocasesprovideuswithanopportunitytocomparetheperformanceofthesetechnologiesattwoendsofthespectrumintermsofcomplexity.Ourfocusinthispaperisonhowcomplexvs.simpleapplicationsperformwhenimplementedusingdifferentWebprogrammingtechnologies.Thepaperdrawscomparisonsandinsightsbasedonthisdevelopmentandperformancemeasurementeffort.q2002PublishedbyElsevierScienceB.V.Keywords:Dynamic;Web;CommonGatewayInterface;FastCGI;C;Java;Servlets;JavaServerPages;Performance;Comparison1.IntroductionTheWorldWideWeb(WWW)firstemergedadecadeagoasamediumtorenderhypertextdocumentsthatwerestoredontheInternet,onauserscomputer,usingspecialsoftware(thebrowser)andanewprotocol(HTTP:HyperTextTransferProtocol).Forthefirstfewyears,theWWWgrewprimarilyasanewmediuminwhichstaticcontentcouldbepublished,andinformationshared.ThecontentwaspublishedintheformofHTML(HyperTextMarkupLanguage)files,whichwereservedbyWebservers,onrequestsfrombrowsers.However,overthelastfewyearstheWWWhastransformeditselffromastaticcontent-distributionmediumtoaninteractive,dynamicmedium.ContentontheWebisnowoftenpersonalized,andthereforedynamicallygenerated.TheWebisnowwidelyusedasthepresentationlayerforahostofon-lineservicessuchase-mail,e-cards,e-calendar,andaddressbooks,shopping,banking,andstocktrading.Asaconsequence,theHTMLfilesthatarerenderedbytheclientsbrowserarenowtypicallygenerateddynamicallyaftertheWebserverhasprocessedtheusersrequest.ThisdynamicgenerationofHTMLfileshasnothappenedwithoutanassociatedperformancecost.JustwhenInternetusersweregettingaccustomedtoclick-and-waitondial-uplinesduetographics-richWebsites,dynamicallygeneratedcontentstartedproliferatingontheWeb.Nowusersmustwaitnotonlyforthenetworkdelaybutalsofortheserver-sideprocessingdelayassociatedwithservingarequestdynamically.Inmanycases,thisisturningouttobethelargestcomponentofthedelay.FromtheWeb-siteproviderspointofview,dynamicgenerationofHTMLpagesimpliesalesserunderstandingoftherealcapacityoftheirWebservers.Thevendor-providedhits-per-secondcapacityoftheWebserverisnolongerenough,asthisonlypertainstostaticHTMLfiles.ComputerCommunications26(2003)888898/locate/comcom0140-3664/03/$-seefrontmatterq2002PublishedbyElsevierScienceB.V.PII:S0140-3664(02)00221-91ThisworkwasdonewhilethisauthorwaswiththeNetworkDesignandPerformanceAnalysisDepartment,AT&TLabs,Middletown,NJ07748,USA.ThisauthorhaspreviouslypublishedunderhermaidennameofVarshaMainkar.*Correspondingauthor.E-mailaddress:(T.Hansen).FromtheWebdeveloperspointofview,dynamicWebcontentimpliesanadditionaltechnologydecision:theWebprogrammingtechnologytobeemployedincreatingaWeb-basedserviceorproduct.Thisdecisionisbasedonseveralfactors.Amongthefactorsconsideredareeaseofprogramming,richnessoffeatures,maintain-ability,reliability,andperformance.SincetheWebisinherentlyinteractive,performanceisakeyrequirement,andoftendemandscarefulanalysisofthesystems.Inthispaper,wecomparetheperformanceoffourWebprogrammingtechnologies,namelyJavaServlets,JavaServerPages,CGI/CandFastCGI/C(asmallerversionofthisstudywaspresentedinRef.1).ThestudywasmotivatedbyarealneedtomakeatechnologychoicefordevelopingsoftwarethatwouldsupportaWeb-basedservice.Astudyofexistingliteratureshowedvaryingconclusionsabouttheperformancesuperiorityofonetechnologyovertheother.ProponentsoftheJavaplatformconsistentlyclaimsuperiorperformanceofservlettechnologymainlyduetotheeliminationoftheoverheadofprocesscreation2,3.Ontheotherhand,astudydoneinRef.4thatcomparesCGI,FastCGIandservletsshowedservletstobetheslowestofthethree.AsimilarcomparativestudyhasbeendoneinRef.5,focusingonWeb-to-databaseapplications,whichshowedJavaservletstobebetterthanCGIprograms.Further-more,although4brieflyprovidessomeexplanationabouttheresults,anin-depthanalysisandinsightabouttheresultswasnotavailableintheliteraturethatwesurveyed.Oneconclusionfromthevariabilityoftheresultswasalsothattheperformanceofthetechnologydependsontheapplication.Inthispaper,thecomparisonisbasedontwocases:oneisacasestudyofacomplexapplicationthatwasdeployedinanactualWeb-basedservice;theotherisatrivialapplication.Themethodologyofperformanceanalysiswasstresstestingandmeasurement.Performancemeasure-ment(ratherthanmodeling)mademostsenseinthiseffort,sinceaquickturnaroundofresultswasnecessaryandtheaccuracyofresultswasrequiredtobehigh.Thetwocases(i.e.thecomplexandthetrivial)provideduswithanopportunitytocompareperformanceofthesetechnologiesattwoendsofthespectrumofapplications,intermsofcomplexity.Theperformanceorderofdifferenttechnologiesisseldomabsoluteitdependsgreatlyonthenatureoftheapplication.Ourfocusinthispaperisonhowcomplexvs.simpleapplicationsperformwhenimplementedusingdifferentWebprogrammingtechnologies.Amongthepaperssurveyed,webelievethisistheonlypaperpresentingasystematicbottleneckanalysisofeachofthetechnol-ogies,andtheonlyonethatdemonstratesthattheperformancerankingcouldbereversed,basedontheapplication,whileprovidinginsightonwhythishappens.Themainobservationsfromthisworkwereasfollows:Ingeneral,FastCGIoutperformedCGI,whileJSPoutperformedJavaservlets.Inthecaseofacomplexapplication,theCGI-basedtechnologiesoutperformedtheJava-basedtechnologiesbyafactorof34,withJavaperformancelimitedbysoftwarebottlenecksintheJVM.Inthecaseofatrivialapplication,therelativeperformancewasreversed,asJavaoutperformedCGIbyafactorof23.Therestofthepaperisorganizedasfollows:inSection2weprovidethemotivationforconductingsuchacomparativestudy,andinSection3wedescribebrieflythetechnologiesthatwecompared.Section4describestheperformancemeasurementandanalysismethodology,Section5describesthecase-studytestingresultsindetail,andSection6describestheresultsoftestingatrivialapplication.Finally,Section7summarizesourresults,andSection8providessomeconcludingremarks.2.MotivationTheapplicationcontextforthiscasestudywasanewWeb-basedmessagingservice.Suchaservicewouldinvolveaback-endthatwouldincludethecoremessa-ging-relatedservers(IMAP,POP,LDAP,SMTP),andafront-end,orapresentationlayerthatwouldserveasmiddlewarebetweentheWebbrowserandthemessagingserver.Thecoreserverswerechosentobeestablishedmessagingproducts.ThepresentationlayerwouldconsistofaWebserver(off-the-shelf)andanewdynamicpagegenerationenginetobedeveloped,whichwouldReaddatasentbytheuser,throughtheHTTPprotocolDothenecessaryprotocolconversions(toIMAP,LDAP,)CarryouttheactionencodedintheHTTPrequest,usingtheappropriateprotocolwiththeback-endserversFormattheresultasaWeb-page,andReturntheresulttotheusersWebbrowserthroughtheWeb-serverOnewaytowritesuchaprogramthatgeneratesWebpagesdynamicallyistocodethelogic,andthenembedprintstatementsintheprogramthatwriteoutstaticHTMLcode,alongwithprintingotherstringvariablesthathavebeenpopulateddynamically.Abetterandmorepopularwayisusingtemplates.Themiddlewarewestudiedusedatemplate-baseddesignforproducingdynamicWebpages.ThismethodinvolveswritingWebpagetemplateswhichhavestaticHTMLcodethatspecifythedesignoftheWebpage,interspersedwithscriptingtagsthatareinterpretedbyatemplateserverprogram.Thesetagsinstructthetemplateserverprogramontheactionthatistobetaken(e.g.populatingafieldwiththesubjectlineofamessage)onreadingthetag.Thetemplateserverprogram,therefore,V.Apteetal./ComputerCommunications26(2003)888898889ParsesthespecifictemplateaccessedbyauserrequestInterpretsthetagsandcommunicateswiththeback-endserversPopulatesthefieldsthataretobydynamicallypopulatedTheresultisadynamicallygeneratedWebpage.ThearchitectureofsuchasystemisshowninFig.1.Giventheacceleratedtime-to-marketgoalsandlimiteddevelopmenttime,thenaturalchoiceoftechnologyforthetemplateserverwastheoneperceivedtobepowerful,feature-richandyeteasytouseanddeploynamely,Javaservlets.Aninitialeffortwasdonetoquantifytheperformanceofthispagegenerationengine,toseewhetheritcouldmeettheexpectedperformancerequirements.Weconductedaseriesofstresstestsusingacommercialloaddrivertogeneraterepeatedrequeststotheservletengineatvariouslevelsofconcurrency(simulatedusers).ThetestconfigurationconsistedofaWindowsNTserverrunningtheloadgenerationscripts(driver),aSolarisserverrunningthefront-endsoftware,andaSolarisserverrunningtheback-endapplication(forthistest,aPOP3/IMAP4mailserverandanLDAPdirectoryserver).Hardware(CPU,memory,disk,I/O)andsoftwareresourceconsumptionsweremeasuredonallmachines.Inaddition,end-to-enduser-perceivedresponsetimesweremeasured.Thedriverscriptsemulatedaprescribednumberofconcurrentusersrepeatedlygeneratingthesamerequest(e.g.readmessage,sendmessage,etc.).Thenumberofconcurrentsimulateduserswasvariedfrom1to20.Thenumberofrepeatedrequestsperuserateachconcurrencylevel(typically2000)wassufficienttoachievestatisticalstability.Thetestswereruninstressmode;thatis,assoonasauserreceivesaresponse,itimmediatelysubmitsthenextrequest(i.e.withnegligibleclientdelay).EachoftheNsimulatedusersdoessoindependentlyandinparallel.Asaresult,thecon-currencylevel(i.e.thenumberofrequestsinthesystem)equalsNatalltimes.Theresultsofthestresstestsforaparticularrequesttype(reada20KBmessage)areshowninFigs.2and3.Inparticular,Fig.2plotstheend-to-endresponsetime(normalized)ontheleft-handaxis,andthefront-endCPUutilizationontheright-handaxis,asafunctionoftheconcurrencylevel.Ascanbeseen,theresponsetimecurvebeginstoridealongalinearasymptote(shownbythedottedline)afteronlysevenconcurrentusers.Thatis,responseFig.1.Templateserverarchitecture.Fig.2.Resultsofinitialstresstestsoftemplateserver,plottedvs.concurrentusers.V.Apteetal./ComputerCommunications26(2003)888898890timeincreasesproportionallywiththenumberofusers,indicatingsaturationinaclosedsystem6.Additionally,CPUutilizationlevelsoffafter11usersat6570%(indicatinganon-CPUsystembottleneck).Equivalently,Fig.3plotsend-to-endresponsetimeasafunctionofthroughput(requests/s).Ascanbeseen,themaximumsystemthroughputpeaksatabout2requests/sec,andthendegradesunderoverloadtoabout11/2requests/s.Inotherwords,therewasactuallyadropincapacityof25%(aconcurrencypenalty),likelyduetocontextswitching,object/threadmanagement,garbagecollection,etc.Asizinganalysisbasedontheexpectedcustomergrowthandusagebehavior,togetherwiththeseinitialcapacityresults,suggestedthattheresultinghardwarecostswouldbeprohibitivelylarge.Itwasalsoclearthatthescalabilityofthisapplicationwaspoor.Theresourceconsumptionresultsdemonstratedthattheapplicationcouldnotmakefu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職倫理學(倫理基礎)模擬試題
- 2025年中職(物聯(lián)網技術應用)傳感器應用基礎試題及解析
- 2026年中醫(yī)專業(yè)(中醫(yī)內科)考題及答案
- 2025年高職計算機網絡技術(網絡優(yōu)化)試題及答案
- 2025年中職(物聯(lián)網技術應用)傳感器應用階段測試試題及答案
- 2025年大學大四(材料科學與工程)新材料研發(fā)基礎測試題及答案
- 2025年高職環(huán)境監(jiān)測與控制技術(環(huán)保設備應用)試題及答案
- 2025年大學本科(現(xiàn)代畜牧)畜牧產業(yè)管理綜合測試題及答案
- 2026年廣東金融學院單招綜合素質筆試備考試題帶答案解析
- 2026年廣西城市職業(yè)大學高職單招職業(yè)適應性考試備考題庫有答案解析
- GB/T 33525-2017輸送帶覆蓋層性能類別
- GB/T 18570.4-2001涂覆涂料前鋼材表面處理表面清潔度的評定試驗涂覆涂料前凝露可能性的評定導則
- GB/T 15622-1995液壓缸試驗方法
- 保理業(yè)務授信管理辦法(2022年)
- 模擬電子技術期末考試試卷及答案
- 醫(yī)院管理案例分享:醫(yī)院中央空調系統(tǒng)運行管理課件
- TOD模式的基本理念與發(fā)展實踐講義-日建
- 鑄造廠質量控制體系資料匯編
- Q∕SY 1098-2012 施工作業(yè)用野營房
- GB∕T 32790-2016 鋁及鋁合金擠壓焊縫焊合性能檢驗方法
- 上海版(新)三年級音樂下冊教案
評論
0/150
提交評論