[Date Prev][Date Next] [Chronological] [Thread] [Top]

Antw: Re: Slapd High CPU usage on Solaris 9



I suspect some missing index.

>>> Luca Polidoro <luca.polidoro@gmail.com> schrieb am 06.09.2013 um 15:07 in
Nachricht
<CAOZUE9bEKgL4J0=E1yfaYJX16d-WJ4UJwY-Vu5zM+craspaQxA@mail.gmail.com>:
> Hi, I have already done these tests, but the result provides little
> information, none of which is useful for directing the analysis.
> 
> 
> 2013/9/6 Maucci, Cyrille <cyrille.maucci@hp.com>
> 
>>  When I myself face such a problem, I usually pstack the process a few
>> times to very quickly know what the guy is doing.****
>>
>> And that usually gives me a good clue.****
>>
>> ** **
>>
>> ++Cyrille****
>>
>> ** **
>>
>> *From:* openldap-technical-bounces@OpenLDAP.org [mailto:
>> openldap-technical-bounces@OpenLDAP.org] *On Behalf Of *Luca Polidoro
>> *Sent:* Monday, August 12, 2013 3:31 PM
>> *To:* openldap-technical@openldap.org 
>> *Subject:* Slapd High CPU usage on Solaris 9****
>>
>> ** **
>>
>> Hello,
>>
>> I am writing to to submit a case that has been happening in the last 2
>> weeks in our infrastructure. This is structured as follows:
>>
>>
>> 1 provider: Solaris 9 SPARC - Sun Fire V490 - last OS patch level
>> CPU: 4-1500 Mhz
>> RAM: 32 GB
>>
>> OpenLDAP version used: Berkeley DB 2.4.23 and 4.8.30 (with database bdb)
>> all 64-bit
>>
>> 18 consumer: Solaris 9 SPARC - last OS patch level with different types of
>> features (CPU, RAM)
>>
>> On the following consumer products:
>>
>> Consumer 1: Solaris 9 SPARC - Sun Fire 480R - last OS patch level
>> CPU: 4-900 Mhz
>> RAM: 8 GB
>>
>> Consumer 2: Solaris 9 SPARC - Sun Fire 480R - last OS patch level
>> CPU: 4-1050 Mhz
>> RAM: 8 GB
>>
>> Consumer 3: Solaris 9 SPARC - Sun Fire 480R - last OS patch level
>> CPU: 4-1050 Mhz
>> RAM: 8 GB
>>
>> Consumer 4: Solaris 9 SPARC - Sun Fire V210 - last OS patch level
>> CPU: 2-1336 Mhz
>> RAM: 8 GB
>>
>> we are noticing an increase in the cpu used by the slapd process. In fact,
>> the process is constantly between 85% and 95%, and became completely
>> unusable and then we are forced to restart.****
>>
>> LDAP with 1.000.000 objects.
>>
>> This is the consumer's slapd.conf (I have omitted parts of the ACL,
>> includes, etc..):****
>>
>> # See slapd.conf(5) for details on configuration options.
>> # This file should NOT be world readable.
>> #
>>
>> #
>> # VERSION v2 -  Digital Tru64
>> #
>> allow bind_v2
>>
>>
>> Some include
>> ...
>>
>> #
>> #  tuning parameters - START
>> # ------------------------------
>> #
>> conn_max_pending 1000
>> conn_max_pending_auth 1000
>>
>> idletimeout     500
>> sizelimit        unlimited
>> threads          8
>> timelimit        500
>> disallow bind_anon
>>
>> #
>> #  tuning parameters - END
>> # ----------------------------
>> #
>>
>> ...
>>
>> #######################################################################
>> # bdb database definitions
>> #######################################################################
>>
>> database        bdb
>> suffix          "xxxxxxxxxxxx"
>> rootdn          "cn=root,ou=ldapusers,xxxxx"
>>
>> directory       /var/openldap-2.4.23_64/var/openldap-data
>> #####disallow limit for syncuser
>> limits  dn.children="ou=syncusers,xxxx" size=unlimited
>> index   objectClass,entryCSN,entryUUID eq
>> index   ou eq,sub,subinitial,subany,subfinal
>> index   uidOwner eq
>> index    uid eq
>> index    memberUid eq
>>
>> #shm_key 1100
>> cachesize 1000000
>> cachefree 10000
>> dncachesize 1000000
>> idlcachesize 1000000
>> searchstack 16
>> checkpoint 1024 10
>>
>> overlay ppolicy
>> ppolicy_default "cn=Standard,ou=Policies,xxxx"
>> ppolicy_use_lockout
>>
>>
>>
>> ############################SYNCREPL CONF
>> syncrepl   rid=011
>>            provider=ldap://xxxxxx
>>            type=refreshAndPersist
>>            interval=00:00:15:00
>>            retry="15 10 120 +"
>>            searchbase="xxxxx"
>>            filter="(objectClass=*)"
>>            attrs="*,+"
>>            scope=sub
>>            schemachecking=on
>>            bindmethod=simple
>>            binddn="xxxxxx"
>>            credentials=xxxx
>> ############################SYNCREPL CONF
>>
>>
>> These are the bdb files:
>>
>> 420M    dn2id.bdb
>>   30M    entryCSN.bdb
>>   32M    entryUUID.bdb
>>  1,4G    id2entry.bdb
>>   18M    memberUid.bdb
>>  4,9M    objectClass.bdb
>>  5,3M    ou.bdb
>>   17M    uid.bdb
>>   17M    uidOwner.bdb
>>
>> this is  DB CONFIG:
>>
>> -----------------------------------------------------------
>>
>> ##########################################
>> ###########################################
>> #set_cachesize 0 300000000 10
>> #set_lg_regionmax 262144
>> #set_lg_bsize 2097152
>> ###########################################
>> ###########################################
>> # replaces lockdetect directive
>> #set_lk_detect DB_LOCK_EXPIRE
>> set_lk_detect DB_LOCK_DEFAULT
>>
>> # uncomment if dbnosync required
>> #AGGIUNTO TUTTO
>> #set_flags DB_TXN_WRITE_NOSYNC
>> ####AGGIUNTO
>> set_flags DB_LOG_AUTOREMOVE
>> # multiple set_flags directives allowed
>>
>> # sets max log size = 5M (BDB default=10M)
>> set_lg_max 25242880
>> set_lg_dir /var/openldap-2.4.23_64/logs
>>
>> set_cachesize 2 274726912 1
>> # sets a database cache of 5M and
>> # allows fragmentation
>> # does NOT replace slapd.conf cachesize
>> # this is a database parameter
>>
>> #txn_checkpoint 128 15 0
>> # replaces checkpoint in slap.conf
>> # writes checkpoint if 128K written or every 15 mins
>> # 0 = no writes - no update
>> set_lk_max_locks 2500
>> set_lk_max_lockers 2500
>> set_lk_max_objects 2500
>>
>> ---------------------------------------------------
>>
>> We have tried to change the number of threads bringing them to 16, we
>> lowered the parameters idletimeout and timelimit, but without result.
>>
>>
>> Appreciate your feedback.****
>>
>> Thanks,****
>>
>> Luca****
>>