Professional Documents
Culture Documents
CPU Sizing For Concurrent Users, Running HANA Analytical Applications
CPU Sizing For Concurrent Users, Running HANA Analytical Applications
CPU Sizing For Concurrent Users, Running HANA Analytical Applications
GetStarted
Solutions Support Training Community Developer Partner
About
CPUSizingforconcurrent
users,runningHANA
AnalyticalApplications
November28,2014 | 219Views |
SylviaDelcheva
morebythisauthor
Retaggingrequired
performanceandscalability
share
0 share tweet share 0
like
Follow
Introduction
AsprerequisitefortheconcurrentusersloadCPUsizing,theHANA
analyticalapplicationprocedureforresponsetimepredictionshouldbe
appliedaccordingtothedescriptionin
https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 1/5
10/4/2017 CPUSizingforconcurrentusers,runningHANAAnalyticalApplications|SAPBlogs
http://scn.sap.com/community/performance
scalability/blog/2014/11/28/practicalapproachforresponsetime
predictionofhanaanalyticalapplications.
Thetermquerywhichisusedbelowshouldnotbeunderstood
concretelyassingleHANASQLquery.Thiscanbeanyfunctionality,
consistingofmultiplequeries,whichareexecutedasresultofuser
navigationintheapplicationUI.
Withthehelpofthisprocedure,thecharacteristicsofthequeryare
clarified:
theSequential(S[s])andParallel(P[s])partaredeterminedin
seconds.
Theresponsetimegraphicasfunctionofthenumberofused
coresshouldbecreatedandbasedonitthecustomershould
decideonwhichresponsetimeisacceptableinhisconcretecase.
Oftenthefastestresponsetimeisnotreallyrequiredandiftarget
responsetimeisdeterminedoptimal,alotofhardwareexpenses
couldbesaved.Theselectedacceptableresponsetimeisfurther
referredinthisarticleastargetresponsetime(TargetRT[s]).
Finally,thenumberofsufficientcores(N)toachievethe
TargetRT[s]arecalculated.
MethodologyfortheConcurrentUsersSizingof
HANAAnalyticalApplications
Thegoalofthissizingistodeterminehowmanycoresarerequiredfor
theprocessingoftargetnumberofparallelrequests(TargetPR),andat
thesametimeachievingthetargetresponsetime(TargetRT[s]).
Note!
Thetargetnumberofparallelrequestsisalwaysanintegervalue.
https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 2/5
10/4/2017 CPUSizingforconcurrentusers,runningHANAAnalyticalApplications|SAPBlogs
Thetargetnumberofparallelrequestisnotthesameasthe
numberofconcurrentusers.Duetothepausesbetweentheuser
requestsfromoneuser,duringwhichtheuserreviewsthedatain
theapplicationUI(socalledthinktime),usuallytheparallel
requestsareinrangeof510%ofthenumberofconcurrent
users.
TofulfillthetargetresponsetimeTargetRT[s],aminimumportion
ofNcoresshouldbeavailable.Thismeansthattheminimum
numberofcores,requiredtohandleonerequestisNcoresand
thatthefinalresultforrequiredcorescannotbelowerthanNfor
anynumberofparallelqueries.
DetermineUsageRatio
UsageRatio=(TargetRT[s]S[s])/TargetRT[s]
Theoretically,theTargetResponsetime(TargetRT[s])ishigherorequal
totheSequentialPart(S[s])andbotharenonnegativenumbers.For
thisreason,theUsageRatiocanbeatmaximum1(100%).
ThemeaningofUsageRatiowouldbeexplainedwithexamples:
Letsassumethatafterapplyingtheformulas,theresultis
UsageRatio=0.77(77%).ThiswouldmeanthatNcoreshavecapacityto
handle1requestatatime,butnotenoughcapacitytohandle2parallel
requests,because2*77%=154%>100%.
IfUsageRatio=0.37(37%)Ncoreshaveenoughcapacitytohandle2
parallelrequests,because2*37%=74%<100%butarenotenoughto
handle3parallelrequests,because3*37%=111%>100%.
DetermineRequiredCores
RequiredCores=TargetPR+(N1)*roundup_to_Integer
(TargetPR*UsageRatio)
Example:
Thecustomerdeterminedthetargetresponsetime.
Thenumberofcores,N,toachievetheTargetresponsetimehavebeen
calculated(usingAmdahlsFormula)anditis,forexample,16.
https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 3/5
10/4/2017 CPUSizingforconcurrentusers,runningHANAAnalyticalApplications|SAPBlogs
TheUsageRatiohasbeencalculatedanditis,forexample,0.37.
ThetablebelowdemonstratesthenumberofrequiredCoresfor
differentsystemthroughput(numberoftargetparallelrequests).
16 0.37 1
16 0.37 2
16 0.37 3
16 0.37 4
16 0.37 5
16 0.37 6
16 0.37 7
16 0.37 8
16 0.37 9
16 0.37 10
Fromthetableisclearthatforanytargetthroughputthenumberof
requiredcoresismultipliableofN.
Theresultshouldbeinterpretedlikethis:35Coresaresufficientto
handleupto5parallelrequestsat~85%averageCPUallocation
(calculatedas0.37usageratio*5requests*16cores/35cores)and
arenotsufficienttohandle6parallelrequests.Asystemof51corescan
handle6parallelrequestsat~70%averageCPUallocation53cores
canhandle8parallelrequestsataverage~90%CPUallocation.
Practially,becauseofthecloserangeofrequiredcores,thecustomer
canrun3,4,and5querieson34coresand6,7,and8querieson52
cores,i.e.canignorethedifferenceof+1/1corewiththepenaltyofa
veryminordeviationfromthetargetresponsetime.
Customerswithhigherhardwarebudget,couldapplysecurityfactor
(e.g.3035%)ontopofthecalculatedhardwareresourcestoachieve
loweraverageresourceconsumption.
AlertModerator
https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 4/5
10/4/2017 CPUSizingforconcurrentusers,runningHANAAnalyticalApplications|SAPBlogs
Bethefirsttoleaveacomment
AddComment
https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 5/5