Documente Academic
Documente Profesional
Documente Cultură
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
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
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.