Novell eDirectory 8.8 User guide

Category
PC/workstation barebones
Type
User guide
NetIQ
®
eDirectory
8.8 SP8
Tuning Guide
September 2013
Legal Notice
THISDOCUMENTANDTHESOFTWAREDESCRIBEDINTHISDOCUMENTAREFURNISHEDUNDERANDARE
SUBJECTTOTHETERMSOFALICENSEAGREEMENTORANONDISCLOSUREAGREEMENT.EXCEPTASEXPRESSLY
SETFORTHINSUCHLICENSEAGREEMENTORNONDISCLOSUREAGREEMENT,NETIQCORPORATIONPROVIDES
THISDOCUMENTANDTHESOFTWAREDESCRIBEDINTHIS
DOCUMENTʺASISʺWITHOUTWARRANTYOFANY
KIND,EITHEREXPRESSORIMPLIED,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOF
MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.SOMESTATESDONOTALLOWDISCLAIMERSOF
EXPRESSORIMPLIEDWARRANTIESINCERTAINTRANSACTIONS;THEREFORE,THISSTATEMENTMAYNOTAPPLY
TOYOU.
For
purposesofclarity,anymodule,adapterorothersimilarmaterial(ʺModuleʺ)islicensedunderthetermsandconditionsof
theEndUserLicenseAgreementfortheapplicableversionoftheNetIQproductorsoftwaretowhichitrelatesor
interoperateswith,andbyaccessing,copyingorusinga
Moduleyouagreetobeboundbysuchterms.Ifyoudonotagreeto
thetermsoftheEndUserLicenseAgreementyouarenotauthorizedtouse,accessorcopyaModuleandyoumustdestroyall
copiesoftheModuleandcontactNetIQforfurtherinstructions.
Thisdocument
andthesoftwaredescribedinthisdocumentmaynotbelent,sold,orgivenawaywithoutthepriorwritten
permissionofNetIQCorporation,exceptasotherwisepermittedbylaw.Exceptasexpresslysetforthinsuchlicense
agreementornondisclosureagreement,nopartofthisdocumentorthesoftwaredescribed
inthisdocumentmaybe
reproduced,storedinaretrievalsystem,ortransmittedinanyformorbyanymeans,electronic,mechanical,orotherwise,
withoutthepriorwrittenconsentofNetIQCorporation.Somecompanies,names,anddatainthisdocumentareusedfor
illustrationpurposesandmaynotrepresentreal
companies,individuals,ordata.
Thisdocumentcouldincludetechnicalinaccuraciesortypographicalerrors.Changesareperiodicallymadetothe
informationherein.Thesechangesmaybeincorporatedinneweditionsofthisdocument.NetIQCorporationmaymake
improvementsinorchangestothesoftwaredescribedinthisdocumentatanytime.
U.S.Government
RestrictedRights:IfthesoftwareanddocumentationarebeingacquiredbyoronbehalfoftheU.S.
GovernmentorbyaU.S.Governmentprimecontractororsubcontractor(atanytier),inaccordancewith48C.F.R.227.72024
(forDepartmentofDefense(DOD)acquisitions)and48C.F.R.2.101and12.212(for
nonDODacquisitions),thegovernment’s
rightsinthesoftwareanddocumentation,includingitsrightstouse,modify,reproduce,release,perform,displayordisclose
thesoftwareordocumentation,willbesubjectinallrespectstothecommerciallicenserightsandrestrictionsprovidedinthe
licenseagreement.
©2013NetIQCorporationandits
affiliates.AllRightsReserved.
ForinformationaboutNetIQtrademarks,seehttps://www.netiq.com/company/legal/.
Contents 3
Contents
About this Book and the Library 5
About NetIQ Corporation 7
1 Overview 9
1.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2 eDirectory Subsystems 11
2.1 FLAIM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Checkpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.1.2 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
2.1.3 Roll-Forward Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
2.2 Thread Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3 Analyzing System Bottlenecks 15
3.1 Disk I/O Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 CPU Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Memory Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3.4 Network Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
4 Tuning eDirectory Subsystems 19
4.1 FLAIM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
4.1.1 Choosing Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2 Tuning for Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
4.2 Thread Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
4.3 ACLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
4.3.1 Improving eDirectory Searches and Reads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
4.3.2 Disabling ACL Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
4.4 Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.5 Solid State Disk (SSD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
4.6 NMAS Login Update Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.7 SSL Overhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.8 Import Convert and Export (ICE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.9 ldif2dib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
5 eDirectory Configuration 27
5.1 Configuring the FLAIM Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
5.1.1 Hard Cache Limit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
5.1.2 Dynamically Adjusting the Limit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
5.2 Modifying FLAIM Cache Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
5.2.1 Modifying FLAIM Cache Settings through iMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
5.2.2 Modifying FLAIM Cache Settings through _ndsdb.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4 NetIQ eDirectory 8.8 SP8 Tuning Guide
About this Book and the Library 5
About this Book and the Library
ThedescribeshowtoanalyzeandtunetheNetIQeDirectory(eDirectory)producttoyieldsuperior
performanceinalldeployments.
ForthemostrecentversionoftheNetIQeDirectory8.8SP8TuningGuide,seetheNetIQeDirectory8.8
onlinedocumentationWebsite.
Intended Audience
Theguideisintendedfornetworkadministrators.
Other Information in the Library
Thelibraryprovidesthefollowinginformationresources:
XDASv2AdministrationGuide
DescribeshowtoconfigureanduseXDASv2toauditeDirectoryandNetIQIdentityManager.
InstallationGuide
DescribeshowtoinstalleDirectory.Itisintendedfornetworkadministrators.
AdministrationGuide
DescribeshowtomanageandconfigureeDirectory.
TroubleshootingGuide
DescribeshowtoresolveeDirectory
issues.
What’sNewGuide
DescribesthenewfeaturesofeDirectory.
TheseguidesareavailableatNetIQeDirectory8.8documentationWebsite.
ForinformationabouttheeDirectorymanagementutility,seetheNetIQiManager2.7Administration
Guide.
6 NetIQ eDirectory 8.8 SP8 Tuning Guide
About NetIQ Corporation 7
About NetIQ Corporation
Weareaglobal,enterprisesoftwarecompany,withafocusonthethreepersistentchallengesinyour
environment:Change,complexityandrisk—andhowwecanhelpyoucontrolthem.
Our Viewpoint
Adaptingtochangeandmanagingcomplexityandriskarenothingnew
Infact,ofallthechallengesyouface,theseareperhapsthemostprominentvariablesthatdeny
youthecontrolyouneedtosecurelymeasure,monitor,andmanageyourp hysical,virtual,and
cloudcomputingenvironments.
Enablingcriticalbusinessservices,better
andfaster
WebelievethatprovidingasmuchcontrolaspossibletoITorganizationsistheonlywayto
enabletimelierandcosteffectivedeliveryofservices.Persistentpressureslikechangeand
complexitywillonlycontinuetoincreaseasorganizationscontinuetochangeandthe
technologiesneededtomanagethem
becomeinherentlymorecomplex.
Our Philosophy
Sellingintelligentsolutions,notjustsoftware
Inordertoprovidereliablecontrol,wefirstmakesureweunderstandtherealworldscenarios
inwhichITorganizationslikeyoursoperatedayinanddayout.Thatʹstheonlywaywecan
developpractical,intellig entITsolutionsthatsuccessfullyyieldproven,
measurableresults.
Andthatʹssomuchmorerewardingthansimplysellingsoftware.
Drivingyoursuccessisourpassion
Weplaceyoursuccessattheheartofhowwedobusiness.Fromproductinceptionto
deployment,weunderstandthatyouneedITsolutionsthatworkwellandintegrateseamlessly
with
yourexistinginvestments;youneedongoingsupportandtrainingpostdeployment;and
youneedsomeonethatistrulyeasytoworkwithforachange.Ultimately,whenyousucceed,
weallsucceed.
Our Solutions
Identity&AccessGovernance
AccessManagement
SecurityManagement
Systems&ApplicationManagement
WorkloadManagement
ServiceManagement
8 NetIQ eDirectory 8.8 SP8 Tuning Guide
Contacting Sales Support
Forquestionsaboutproducts,pricing,andcapabilities,contactyourlocalpartner.Ifyoucannot
contactyourpartner,contactourSalesSupportteam.
Contacting Technical Support
Forspecificproductissues,contactourTechnicalSupportteam.
Contacting Documentation Support
Ourgoalistoprovidedocumentationthatmeetsyourneeds.Ifyouhavesuggestionsfor
improvements,clickAddCommentatthebottomofanypageintheHTMLversionsofthe
documentationpostedatwww.netiq.com/documentation.YoucanalsoemailDocumentation
[email protected].Wevalueyourinputandlookforwardtohearing
fromyou.
Contacting the Online User Community
Qmunity,theNetIQonlinecommunity,isacollaborat ivenetworkconnectingyoutoyourpeersand
NetIQexperts.Byprovidingmoreimmediateinformation,usefullinkstohelpfulresources,and
accesstoNetIQexperts,Qmunityhelpsensureyouaremasteringtheknowledgeyouneedtorealize
thefullpotentialofITinvestmentsupon
whichyourely.Formoreinfo rmation,visithttp://
community.netiq.com.
Worldwide: www.netiq.com/about_netiq/officelocations.asp
United States and Canada: 1-888-323-6768
Web Site: www.netiq.com
Worldwide: www.netiq.com/support/contactinfo.asp
North and South America: 1-713-418-5555
Europe, Middle East, and Africa: +353 (0) 91-782 677
Web Site: www.netiq.com/support
1
Overview 9
1
Overview
NetIQeDirectory8.8isastandardscompliant,crossplatform,highlyscalable,faulttolera nt,and
highperformancedirectoryservicessolution.Thisguideprovidesinformationontuningyour
eDirectoryenvironmentforimprovedperformance.
Tuningforperformanceisacomplexactivity.ItrequiresunderstandingofboththeeDirectoryand
operatingsystemʹssubsystems.It
involvesmonitoringthesystemtoidentifybottlenecksandfixing
themoneatatime.ManyatimesresourcesarelimitedandtuningisconfinedtoeDirectoryandthe
operatingsystem.
Theguideisdividedintothefollowingsections:
Prerequisites:Readthissectionbeforeattemptinganykindoftuningandthenproceed
tothe
othersections.
eDirectorySubsystems:Thischapterdescribesprimarysubs ystemsthatinfluenceeDirectory
performance.
AnalyzingSystemBottlenecks:Thischapterdescribesvarioussystemresourcesandtheir
influenceoneDirectoryperformance.
TuningeDirectorySubsystems:ThischapterdescribeshowtoanalyzeandtuneeDirectory
undervariousconditionsandenvironments.
eDirectory
Configuration:Thischapterdescribeshowtoconfigurevarioustunableparameters.
ToincreasetheoverallperformanceofyoureDirectoryenvironment,eDirectory8.8SP8provides
additionalparametersforoptimizingeDirectorybackgroundprocesses.Formoreinformationabout
thenewparameters,seeTID7015361.
1.1 Prerequisites
Ensurethatthefollowinggeneralprerequisitesaremetbeforeattemptingtotunethesystemfor
performance:
AgoodeDirectorytreedesigncanenhanceeDirectoryperformance.Thefollowing
considerationsmightapply:
Applicationsreadalltheinformationlocallyontheserverwithoutneedingtochainthe
requests.
eDirectoryefficientlyhandlesobjectreferences
automatically.Ifpossible,objectsonaserver
shouldnotrefertoobjectsthatarenotlocalonthatserver,becausemaintainingnonlocal
objectreferencescantakemoretime.Ifsuchreferencesexist,backlinksmustbemaintained.
Thisbecomescumbersomeinlargedeployments.
Ifyouneedagroupwith 10,000members
ormore,dynamicgroupsarerecommended.This
allowsyoutoavoidtheoverheadassociatedwithmaintainingreferencesforsomany
people.Chooseyourdynamicgroupconfigurationcarefully,becauseusingmultiple
dynamicgroupswithimpropersearchcriteriamightoverloadtheserverandreduceoverall
10 NetIQ eDirectory 8.8 SP8 Tuning Guide
serverperformance.Ifasearchoperationtakesalongtimetocomplete,thechosenindex
mightbeinefficient.Minimizetheuseofregular(static)groupsasthiscanincreasetree
walkingonlogin.
UseACLsefficiently.Forexample,usethe[This]trusteeandassignitatthecontainerlevel
insteadof
usinganACLtemplatethatassignsrightstoitself.ThefewerACLs,thebetterthe
performance.FormoreinformationonACLs,seeeDirectoryRights intheNetIQ
eDirectory8.8SP8AdministrationGuide.
Distributetheloadontomultiplereplicaservers.
Althoughagoodtreedesignminimizestheneedfortree
walking,itisstillsometimes
necessary.YoucanconsiderAdvancedReferralCostingintheNetIQeDirectory8.8SP8
AdministrationGuide.
Ifloginsareslow,youcandisableloginupdates.Thereareseparatewaystodisablelogin
updatesforbothNDSandNetIQModularAuthenticationService(NMAS)logins.
However,it
isimportanttounderstandthesecurityimplications(http://www.novell.com/
documentation/nmas33/admin/data/bg8dphs.html).
RunhealthchecksthroughiMonitor.Formoreinformation,seeKeepingeDirectoryHealthy
intheNetIQeDirectory8.8SP8AdministrationGuide.Ensurethefollowing:
Timeisinsyncacrossallreplicaservers.
Replicasynchronizationandbackgroundprocessesareina
healthystate.
2
eDirectory Subsystems 11
2
eDirectory Subsystems
ThissectiondiscussestheeDirectorySubsystems.
Section 2.1,“FLAIMDatabase,”onpage 11
Section 2.2,“ThreadPool,onpage 12
2.1 FLAIM Database
eDirectoryusesFLAIMasitsdatabase.FLAIM(FlexibleAdaptableInformationManager)isusedfor
traditional,volatile,andcomplexinformation.Itisaveryscalabledatabaseenginethatsupports
multiplereadersandasinglewriterconcurrencymodel.Readersdonotblockwritersandwritersdo
notblockreaders.
Physically,FLAIMorganizesdata
inblocks.Someoftheblocksaretypicallyheldinmemory.They
representtheblockcache.Theentrycache(sometimescalledarecordcache)cacheslogicalentries
fromthedatabase.Entriesareconstructedfromtheitemsintheblockcache.FLAIMmaintainshash
tablesforbothcaches.Thehashbucket
sizeisperiodicallyadjustedbasedonthenumberofitems.
BydefaulteDirectoryusesablocksizeof4KB.TheblockcachesizeforcachingthecompleteDIBis
equaltotheDIBsize,andthesizerequiredfortheentrycacheisabouttwotofourtimestheDIB
size.
Whileretrievinganentry,FLAIMfirstchecks fortheentryintheentrycache.Iftheentryexists,
readingfromtheblockcacheisnʹtnecessary.Whileretrievingablockfromthedisk,FLAIMfirst
checksfortheblockinthecache.Iftheblockexists,adiskreadoperation
isnʹtnecessary.
Whenanentryisaddedormodified,thecorrespondingblocksforthatentryarenotdirectly
committedtothedisk,sothediskandmemorymightnotbeinsync.However,theupdatesmadeto
theentryareloggedtotherollforwardlog(RFL).AnRFLis
usedtorecovertransactionsaftera
systemfailure.
LeastRecentlyUsed(LRU)isthereplacementalgorithmusedforreplacingitemsinthecache.
Section 2.1.1,“Checkpoint,”onpage 11
Section 2.1.2,“Indexes,”onpage 12
Section 2.1.3,“RollForwardLog,”onpage 12
2.1.1 Checkpoint
Acheckpointbringstheondiskversionofthedatabasetothesamecoherentstateastheinmemory
(cached)database.FLAIMcanperformacheckpointduringtheminimalupdateacti vityonthe
database.Itrunseverysecondandwritesthedirtyblocks(dirtycache)tothedisk.Blocksthatare
modifiedinthecachebutnotyetwrittentothediskarecalled“dirtyblocks”.FLAIMacquiresalock
onthedatabaseandperformsthemaximumamountofpossibleworkuntileitherthecheckpoint
12 NetIQ eDirectory 8.8 SP8 Tuning Guide
completesoranotherthreadiswaitingtoupdatethedatabase.Topreventtheondiskdatabasefrom
becomingtoofaroutofsync,thereareconditionsunderwhichacheckpointisforcedevenifthreads
arewaitingtoupdatethedatabase:
Ifthecheckpointthreadcannotcompleteacheckpointwithina
specifiedtimeinterval(the
defaultis3minutes),itisforcedandthedirtycacheiscleaned.
Ifthesizeofthedirtycacheislargerthanthe
maxdirtycache
(ifset),acheckpointisforcedto
bringdownthedirtycachesizeto
mindirtycache
(ifset)ortozero.
2.1.2 Indexes
Anindexisasetofkeysarrangedinawaythatsignificantlyspeedsupthetaskoffindingany
particularkeywithintheindex.Indexkeysareconstructedbyextractingthecontentsofoneormore
fields(attributes)fromtheentries.Indexesaremaintainedintheblockcache.Anychanges
tothe
indexedattributesrequireschangesintheindexblocks.
eDirectorydefinesadefaultsetofindexesforsystemattributes (fields).Systemattributessuchas
parentID
and
ancestorID
areusedforonelevelandsubtreesearches.Theseindexescannotbe
suspendedordeleted.Thedirectoryinternallyusesthem.Defaultindexesaredefinedforattributes
suchas
CN
,
Surname
,
Given Name
,andsoon.Indexescanbeoftypepresence,value,andsubstring
indexes.Theseindexescanbesuspended.Ondeletiontheyareautomaticallyrecreated.
YoucanuseiManagerorthendsindexLightweightDirectoryAccessProtocol(LDAP)utilitytocreate
indexes.Indexes(http://www.novell.com/documentation/edir88/edir88/data/a5tuuu5.html) are
serverspecific.
ByenablingtheStorage
Manager(
StrMan
)taginDSTrace(ndstrace),youcanviewtheindexchosen
forthesearchqueries.
ThefollowingexampleisforaDSTracelogforasubtreesearchusing
“cn=admin”
,CN.
3019918240 StrMan: Iter #b239c18 query ((Flags&1)==1) &&
((CN$217A$.Flags&8=="admin") && (AncestorID==32821))
3019918240 StrMan: Iter #b239c18 index = CN$IX$220
ThefollowingexampleisforanDSTracelogforasubtreesearchusing
“Description= This is
for testing”
,
AncestorID
.
2902035360 StrMan: Iter #83075b0 query ((Flags&1)==1) &&
((Description$225A$.Flags&8=="This is for testing") && (AncestorID==32821))
2902035360 StrMan: Iter #83075b0 index = AncestorID_IX
2.1.3 Roll-Forward Log
FLAIMlogsoperationsforeachupdatetransactioninarollforwardlog(RFL)file.AnRFLisusedto
recovertransactionsfromasystemfailureorwhenrestoringfromabackup.TheRFLfileistruncated
aftereverycheckpointiscompletedunlessitisturnedon(
rflkeepfiles
)byusingahotcontinuous
backup(http://www.novell.com/documentation/edir88/edir88/data/a2n4mb7.html).
2.2 Thread Pool
eDirectoryismultithreadedforperformancereasons.Inmultithreading,whenthesys tem isbusy,
morethreadsarecreatedtohandletheloadandsomethreadsareterminatedtoavoidextra
overhead.Itisinefficientandcostlytofrequentlycreateanddestroythreads.Insteadofspawning
eDirectory Subsystems 13
newthreadsanddestroyingthemforeverytask,anumberofthreadsarestartedandplacedina
pool.Thesystemallocatesthethreadsfromthethreadpooltoseveraltasksasneeded.Tasksareheld
intwotypesofqueues:
TasksthatneedimmediateschedulingareheldintheReady
queue.
Tasksthatneedschedulingatalatertimeare heldintheWaitingqueue.
Noteverymoduleusesthethreadpool.Theactualnumberofthreadsfortheprocessismorethanthe
numberthatexistsinthethreadpool.Forexample,FLAIMmanagesitsbackgroundthreads
separately.
Runningthe
ndstrace -c threads
commandreturnsthefollowingthreadpoolstatistics:
Thetotalnumberofthreadsthatarespawned,terminated,andidle.
Thetotalnumberofworkerthreadscurrentlyandthepeaknumberofworkerthreads.
ThenumberoftasksandpeaknumberoftasksintheReadyqueue.
Theminimum,maximumand
averagenumberofmicrosecondsspentintheReadyqueue.
ThecurrentandmaximumnumberoftasksintheWaitingqueue.
Anexampleofasamplethreadpool:
Therearecertainthreadpoolparameters:
n4u.server.maxthreads:Maximumnumberofthreadsthatcanbeavailableinthepool.
n4u.server.idlethreads:Maximumnumberof
idlethreadsthatcanbeavailableinthepool.
n4u.server.startthreads:Numberofthreadsstarted.
Runthe
ndsconfig get
and
ndsconfig set
commandstogetandsetthethreadpoolsize.
14 NetIQ eDirectory 8.8 SP8 Tuning Guide
3
Analyzing System Bottlenecks 15
3
Analyzing System Bottlenecks
ThereareseveralsystemresourcesthatinfluenceeDirectoryperformance.Inaddition,upgradingto
thelatestversionofoperatingsystemimprovesperformance.
Section 3.1,“DiskI/OSubsystem,”onpage 15
Section 3.2,“CPUSubsystem,”onpage 16
Section 3.3,“MemorySubsystem,”onpage 16
Section 3.4,“NetworkSubsystem,”onpage 17
3.1 Disk I/O Subsystem
Thedisksubsystemisthemostcommonbottleneck.TheI/Otakesarelativelylongtimewithlonger
queues,resultinginhighdiskutilizationandidleCPUcycles.Usetheiostattoolduringexpected
peakloadstodeterminetheaverageresponsetimeindicators.
Diskread,write,andupdateoperationscanbesequential
orrandom.Randomreadsandupdatesis
themostcommonaccesspatternineDirectorydeployments.
Somesolutionsforrandomworkloads:
IncreasetheRAM.Thisallowscachingfrequentlyuseddataorreadaheaddataatthefilesystem
layer.ItalsoallowscachingtheDIBwithintheFLAIMsubsystem.
Usededicatedvolumesfor
theDIB.Filesystemperformanceimprovesforvolumescreated
closertothespindle.UsededicatedvolumesforRFLandotherlogs.
Asdisksdevelopincreasinglatencyoveraperiodoftimebecauseoffragmentation,theyshould
bedefragmented.
AddseparatediskdrivesforFLAIMRFL.Thistypeofloggingcanbeperformed
onhighspeed
disks.
UseaRAID10(1+0)environmentwithmorediskdrives.
FilescreatedbyeDirectorycangrowto4GB.Filesystemsthatareoptimizedtohandlelargefiles
workefficientlywitheDirectory.
ForSolaris™,theVeritas*VxFSfilesystemisanextentbasedfilesystemwherethefilesystem
metadataisoptimizedforlargefiles.TheUFSfilesystemisindirectlyblockbased,wherethe
filesystemmetadataisstoredinlargernumberofblocks.Itcanevenbescatteredforlargefiles,
whichmakesUFSslowerforlargerfiles.
ForLinux™,theReiserfilesystemisafastjournalingfilesystem
andperformsbetterthanthe
ext3filesystemonlargeDIBsets.However,thewritebackjournalingmodeofext3isknownto
matchtheperformanceoftheReiserfilesystemalthoughthedefaultorderedmodeprovides
betterdataconsistency.XFSisahighperformancejournalingfilesystem,capableofhandling
largefiles
andofferingsmoothdatatransfers.eDirectory8.8SP8issupportedonSLES1132and
64bitplatformshavingXFSfilesystem.
16 NetIQ eDirectory 8.8 SP8 Tuning Guide
FLAIMsupportsablocksizeof4KBand8KB.Bydefault,itis4KB.Thisissameasthedefaultblock
sizeonLinux(
tune2fs -l device
).However,onSolaris,theUFSfilesystemiscreatedwitha
defaultblocksizeof8KB(
df -g mountpoint
).IftheFLAIMblocksizeissmallerthanthefilesystem
blocksize,partialblockwritescanhappen.Ifthedatabaseblocksizeislargerthanthefilesystem
blocksize,individualblockreadsandwritesaresplitintoaseriesofdistinctphysicalI/Ooperations.
Therefore,youshouldalwayskeepthe
FLAIMblocksizethesameasthefilesystemblocksize.
BlocksizescanbecontrolledonlyduringthecreationoftheDIB.Addaline“blocksize=8192”to
_ndsdb.ini
tocreatetheDIBwith8Kblocksize.
ChoosingtherightblocksizedependsontheaveragesizeoftheFLAIMrecordonyourdeployments.
Empiricaltestingisrequiredontherightsetoftestdatatodeterminewhichblocksizeisbetterfor
yourdeployment.
3.2 CPU Subsystem
eDirectoryisbuiltonahighlyscalablearchitecture.Theperformanceincreaseswiththeincreasein
thenumberofprocessors.Increasedthroughputisobserveduntilatleastthe12thprocessorunder
heavyload.However,thisincrease issubjecttotheperformanceofotherresourcesduringthe
increasingloadonthesystem.Servers
areoftenunderconfiguredwithdisksandmemory.You
shouldaddmoreprocessorsonlyunderthefollowingcircumstances:
Iftheaverageloadoncurrentlyusedprocessorsisbeyond75%percentutilization.Ifthecurrent
CPUutilizationisbelow75%,addingmoreCPUsmightnotimproveperformance.
Ifthereisa
satisfyingincreaseinperformance.
IfeDirectoryisconfiguredwithtoomanythreads,considerableamountofCPUtimeisspentin
contextswitching.Inthiscase, adecreaseinthreadscanresultinbetterthroughput.
3.3 Memory Subsystem
ServerapplicationscanperformsignificantlybetterwhenRAMisincreased.CachingtheeDirectory
databaseinthefilesystemorintheFLAIMcachecanleadtoimprovedperformancesofsearchand
modifyoperations.However,youcannotcachethecompleteDIBinlargedeployments.Avoidpage
swappingevenifitmeansreducingthe
FLAIMentryandblockcachesizes.Usethevmstattoolto
findmoreinformationonthememorysubsystem.
AseDirectoryusesmemory,eachthreadfromthethreadpooluses1MBofRAMforitsstack.By
default,theFLAIMcachesizeissetto200MB.
Severalloadablemodulesare
startedwheneDirectorystarts,buttheloadablemodulearchitectureof
eDirectoryallowsyoutoreducethememoryfootprintoftheprocessbynotloadingtheunused
modules(forexample,SecretStore,LDAP,oreMBox).Inaddition,productslikeIDMhavesome
modulesthatruninsideeDirectory.
ThememoryusedbyeDirectorymight
appeartobegrowing.Althoughmemoryisfreedbyan
eDirectoryprocess,itmightnotbereleasedtothesystemfreepoolbecausethememorymanager
usedinternallybyeDirectorytriestooptimizethememoryallocationsforfuture.Thisisoneofthe
reasonsfornotrecommendingFLAIMdynamicconfiguration.
UsetheToptooltofindthe
approximatevirtualmemorysizeofthendsdprocessinyourdeployment.
Themaximummemorythatcanbe allocatedtoaprocessislimitedinseveralways.Acertainamount
ofRAMisusedbytheoperatingsystemandotherprocessesonthesystem.The
operatingsystemcan
imposelimitationsonphysicalRAMthataprocessuses.
Analyzing System Bottlenecks 17
3.4 Network Subsystem
Typicaldeploymentshavesufficientbandwidthtohandlepeaknetworkload.Adequatebandwidth
reduceserrors,collisions,anddroppedpackets.Usethenetstattooltodeterminethenetwork
statistics.
SeveraloperatingsystemsprovideTCP/IPtunableparametersfortuningnetworkintensiveservers.
Forinformation,refertothedocumentationfortheoperatingsystems.
Ifthenetwork
isthebottleneck,youshouldincreasethebandwidth.Configuringadedicatedprivate
networkbetweentheapplicationserversandtheeDirectoryservermightalsohelpinreducingthe
networkcongestion.
18 NetIQ eDirectory 8.8 SP8 Tuning Guide
4
Tuning eDirectory Subsystems 19
4
Tuning eDirectory Subsystems
Thissectionincludesthefollowinginformation:
Section 4.1,“FLAIMDatabase,”onpage 19
Section 4.2,“ThreadPool,onpage 20
Section 4.3,“A C L s , onpage 21
Section 4.4,“Replication,”onpage 23
Section 4.5,“SolidStateDisk(SSD),”onpage 24
Section 4.6,“NMASLoginUpdateInterval,”onpage 25
Section 4.7,“SSLOverhead,”onpage 25
Section 4.8,“ImportConvertandExport(ICE),”onpage 25
Section 4.9,“ldif2dib,”onpage 25
4.1 FLAIM Database
CachesizingisarguablythemostimportantfactoraffectingtheoverallperformanceofeDirectory.
Thegreaterthenumberofitems(blocksandentries)thatcanbecached,thebettertheoverall
performanceis.Thepercentageoftimesthattheblocksorentriesarefoundinthecacheiscalledthe
hit
ratio.Ahigherratioresultsinbetterperformance.iMonitorcanbeusedtoviewthehitratio.
Theblockcacheismostusefulforupdateoperations.Theentrycacheismostusefulforoperations
thatperformsabasescopedsearchforanentry.However,bothonelevelandsubtreescoped
searchesusetheentrycacheaswellastheblockcache.Theblockcacheisusedtoretrieveindexes.
Createtherighttypeofindexesasnecessary,formoreinformationsee“ChoosingIndexes”on
page 20.
Afaultintheblockcachecanresultinadiskreadoperation.Diskreads
arealwaysexpensive,but
theycanbeavoidedifablockisretrievedfromthefilesystemcache.
Theamountofmemoryrequiredtocachethecompletedatabaseintheblockcacheisnearlythesize
ofthedatabaseonthedisk,andtheamountofmemoryrequiredtocachethecomplete
databasein
theentrycacheisnearlytwotofourtimesthedatabasesizeonthedisk.Whenyouhavelessmemory
onasystem,tryasmallerentrycacheandamuchlargerblockorfilesystemcache.
Ifreadsarelocalizedtoasetofentriesinthedirectory,you
shouldincreasetheentrycacheaslongas
itresultsinanimprovedentrycache hitratio.
IfthereadpatterniscompletelyrandomandtheDIBismuchlargerthantheavailableRAM,you
shouldhavealargerblockcacheorafilesystemcachethantheentrycache.
Anymethodyou
usetotuneeDirectoryforanimprovedperformanceneedsempiricaltesting.A
goodratioofentrytoblockcacheforsearchintensiveenvironmentsis2:1ratio.Ensurethatsufficient
memoryisleftforotherprocesses.AvoidpageswappingevenifitmeansreducingtheFLAIMcache
sizes.
20 NetIQ eDirectory 8.8 SP8 Tuning Guide
BecauseFLAIMprovidespreallocatedcaching,memoryallocatedtotheeDirectorycacheisnever
fragmentedbythenativeoperatingsystemmemorymanager.
4.1.1 Choosing Indexes
Indexesaremeanttoimprovetheonelevelorsubtreescopedsearchperformance.Dynamicgroups
alsouseonelevelorsubtreescopedsearches.Indexesarenotusedforbasescopedsearches.
BecauseaPresenceindexdoesnotdifferent iat ebetweenpresentandnotpresent(deleted)values,itis
mainlyused
forinternalpurpose.IfapplicationsrunaPresencetypesearchquery,thisindexisnever
used,soapplicationsshouldnothavePresenceindexescreatedforthem.
ApplicationscancreateaValueindexforanattribute,whichissuffi cient formostofthesearches.
FLAIMcanuseaValueindexforperforming
bothPresenceaswellasSubstringsearchesonthe
attributes.
ASubstringindexcansignificantlydeceleratetheupdatesperformedonanattribute.Thenumberof
indexblocksrequiredtosupportaSubstringindexisquitelargecomparedtotheValueindex.This
meansmoreblockcacheisrequiredtocachethem.
CreateaSubstringindexonlywhennecessary.A
Valueindexshouldsufficeformostsearches.However,ifSubstringsearchesdonotyieldacceptable
performancewithaValueindex,youcan createaSubstringindexonthoseattributes.
Ifasearchoperationtakesalongtimetocompletedespitethechosenindex,
youmightintroducea
newervalueindexononeoftheattributesofthesearchfilter.Picktheattributethatyieldsbestresults
whenindexed.
4.1.2 Tuning for Updates
Theblockcacheismostusefulforupdateoperations.Indexesalsoresideintheblockcache.
Althoughindexeshelpinfastersearches,havingtoomanyindexeskeepstheserverbusy
maintainingthem.Indexesaremodifiedifattributevaluesaremodified,added,ordeleted.During
largeuploadoperations,indexescanbedisabled
forfasterupload.
HavingtheRFLdirectoryonadifferentdiskthantheDIBdirectoryimprovesperformance.
Anacceptablelimitforresponsetimeforanupdateoperationcanbecontrolledbyusingthe
maxdirtycache
.Forexample,ifanacceptablelimitfortheserverresponseis5secondsandrandom
diskwritespeedis20MBpersecond,thenthe
maxdirtycache
shouldbesetas20x5=100MB.
Ensurethattheblockcachecanholdthesedirtyblocksinmemory.SeeSection 5.2.2,“Modifying
FLAIMCacheSettingsthrough_ndsdb.ini,”onpage 29formoreinformation.
4.2 Thread Pool
Bydefault,themaximumnumberofthreadsthatcanbeavailableinthethreadpoolis256.This
numbershouldsufficeformostdeployments.Itcanbeincreas e dto512threadsinlarger
deployments.Youshouldincreasethenumberofthreadsinthepoolinthefollowingcases:
Ifthenumber
ofidlethreadsisoftenzero.
IftheaverageamountoftimespentbyataskintheReadyqueueishighandincreasing.
IfthenumberoftasksintheReadyqueueishighandincreasing.
Keepincreasingthemaxthreadsiftheperformanceoftheserverincreases.Itshould
alsoresultin
increasedCPUutilization.
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30

Novell eDirectory 8.8 User guide

Category
PC/workstation barebones
Type
User guide

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI