Professional Documents
Culture Documents
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