Sunteți pe pagina 1din 3

Alfresco Sizing Guidelines

Overview
AccuratelyestimatinghowmanyserversshouldbeusedtorunAlfrescoismore ofanartthanitisascience.Whatfollowsisacollectionofcommonwisdom basedonpracticalexperienceandsomebasicassumptions.Eachdeploymentis differentanditisthereforeexpectedthatthereaderapplyhisunderstandingof therequirements,usecasesandpreferredenvironmentwhendeterminingthe idealconfiguration. WewillfocusonAlfrescossoftwareonlyandnotondependenciessuchasthe databaseorstoragesolutions.

Assumptions
Forthepurposesofthisdiscussion,weassumeallserverswillmeetthefollowing hardwareconfiguration: Processor:64-bitIntelXeon2.8Ghzorbetter Memory:8GBRAM Disk:100GB(minimum) JVM:64-bitSunJava6(JDK1.6) Operating System:64-bitRedHat5orlater

Ifthepreferreddeploymentenvironmentisnotequivalenttothis,caremustbe takentoadjusttheanticipatedperformancefigurestomatchtheactual environment.

Starting Production Congurations


Minimalserverconfigurationsarebasedonwhetherclusteringisrequired. Clusteringisoftenusedtoimproveperformanceandtohelpguaranteehighavailabilityandfault-tolerance.Thisguidedoesnotgodiscussspecific instructionsforconfiguringahigh-availabilityenvironment. Non-clustered Inthisconfiguration,thereisoneserverrunningAlfrescowhileanotherrunsthe database.Alfrescoandthedatabasecanco-existondevelopmentenvironments andsmalldeployments.

Clustered Inthisconfiguration,twoormoreAlfrescoserversshareacommondatabase andfile-system,eachonitsowndedicatedserverforatotalminimumoffour servers,tworunningAlfresco,onerunningthedatabase,whilethefourthserves asthesharedfileserver.

Basic Methodology
Themostaccuratemeansofestimatingsizerequiresthatonenotthinkabout numberofusersbutratherthingaboutoverallloadontheenvironment.Forthe purposesofthisdiscussionthen,wefocusontransactionspersecond(TPS) wherewelooselydefineatransactiontomeannumberofbasicrepository operations(create,read,update,deleteorCRUD)thattheservercantypically handleunderveryhighloadwhilestillensuringadequateresponsiveness.We generallyweighcalculationstowardCreateoperationsasthosetendtobethe mostcomputationallyexpensivetasks. Minimum TPS Minimally,usingthehardwarenotedabove,asingleun-optimizedservershould beabletohandlebetween3-7TPSduringperiodsofhighestutilization(usage peaks).ThroughJVMtuningalongwithnetworkanddatabaseoptimizations,this numbercanrisetoover15TPS.Benchmarkingonextremelyhigh-endserver hasreachedover170TPSbutwemustassumethatsuchnumbersaregenerally unachievableoutsidealab.

Formula
Sincethegeneralgoalistoachieveacertainthroughputofdocumentsina certainamountoftimeduringtheperiodsofhighestutilization,weofferthe followingformulaasastartingpointforestimatingsize: #ofServers=DesiredThroughputinTPS(DTW)/AverageTPSperServer (ATPS) Anexamplefollows: Desired Throughput per 5-day Week (DTW): 1,000,000documents Desired Throughput in TPS assuming 12 hours of daily operation (DT): DTW/(5weekdays*12hours*3600secondsperhour)=1,000,000/ (5*12*3,600) Total:4.6TPS

Number of Servers assuming 3 TPS per server: DT/ATPS=4.6/3=1.5Serversroundupto2

Variations
Invariably,someonewillstillwanttomapDesiredThroughput(DT)tothenumber ofuserssoweofferthefollowingformulatoestimatethevalue: DT=(#ofUsers*AverageTransactionsperUserperDay)/(AverageHoursin Workday*3,600SecondsperHour) Example: DT=(500Users*300TransactionsperDay)/(8hours*3,600) DT=5.2TPS

Conclusion
Hopefully,thisguidehasservedasagoodstartingpointforestimatingsizing. Weencourageyoutousebestjudgmentwhenapplyingthesesuggestions.

S-ar putea să vă placă și