You are on page 1of 5

10/4/2017 CPUSizingforconcurrentusers,runningHANAAnalyticalApplications|SAPBlogs

GetStarted

Solutions Support Training Community Developer Partner

About

Community / Blogs Actions

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).

N(inputparameter,which UsageRatio(inputparameter, TargetPR(inputparameter,whichcan

isfixedvalueforconcrete whichisfixedvalueforconcrete varyifthecustomerwantstosizedifferent


query) query) throughput)

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

Share & Follow


Privacy TermsofUse LegalDisclosure Copyright Trademark Sitemap Newsletter

https://blogs.sap.com/2014/11/28/cpusizingforconcurrentusersrunninghanaanalyticalapplications/ 5/5

You might also like