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

RE: Error "ber_get_next on fd 11 failed errno=11 (Resource temporarily unavailable)" and connection failure while testing and after 1-2 minutes.



Hello!
Thanks for reply!

In FAQ: "It simply means that expected data is not yet available from the
resource, in this context, a network socket. slapd(8) will process the data
once it does becomes available."

OpenLDAP configured with Berkeley DB database.
Directory and logs home is /logs, but database files are on other drive, in
/1/ldap-db

When I search without option -x ldapsearch shows
errorldap_sasl_interactive_bind_s: No such attribute (16), but there are no
other problems. (verion of ldapsearch from SunOne DS 5.2 works nice)

P.S. Sorry for long letter :-)

////////////////////////////////////////////////////////////////////////////

DB-CONFIG:
/***********************************
# $OpenLDAP: pkg/ldap/servers/slapd/DB_CONFIG,v 1.1.2.2 2006/04/04 16:17:25
kurt Exp $
# one 0.25 GB cache
set_cachesize 0 268435456 1
# Data Directory
set_data_dir /1/ldap-db
# Set database flags.
#set_flags       DB_TXN_NOSYNC
# Transaction Log settings
#set_lg_regionmax 262144
#set_lg_bsize 2097152
#set_lg_dir /logs
# Set log values.
#set_lg_regionmax        1048576
#set_lg_max              10485760
#set_lg_bsize            2097152
# Set temporary file creation directory.
set_tmp_dir             /tmp
*************************************/

Slapd.conf:
/*************************************
include         /opt/ARGOldap/etc/openldap/schema/core.schema
include         /opt/ARGOldap/etc/openldap/schema/cosine.schema
include         /opt/ARGOldap/etc/openldap/schema/inetorgperson.schema
include         /opt/ARGOldap/etc/openldap/schema/nis.schema
pidfile         /opt/ARGOldap/var/run/slapd.pid
argsfile        /opt/ARGOldap/var/run/slapd.args
#sockbuf_max_incoming 262143
#sockbuf_max_incoming_auth 4194303
allow bind_v2 bind_anon_dn
loglevel 32768
database        bdb
suffix          "dc=compusec,dc=ru"
rootdn          "cn=Manager,dc=compusec,dc=ru"
rootpw          secret
mode 700

# Performance tuning directives
sizelimit 5000
threads 16
idletimeout 14400
cachesize 10000
checkpoint 256 15

directory       /logs
# Database Indexes
#
index   default pres,eq

index   description             pres,eq
index   SeeAlso                 pres,eq
#
# Index Set One
#
index   uid                     pres,eq
index   uidNumber               pres,eq
index   gidNumber               pres,eq
index   memberUid               pres,eq
index   employeeNumber          eq
#
# Index Set Two
#
index   cn                      pres,eq,sub
index   sn                      pres,eq,sub
index   givenname               pres,eq,sub
index   objectClass             pres,eq
****************************************/

Versions:
/*********************
Berkeley DB 4.4.20 NC
OpenLDAP 2.3.24
Cyrus SASL 2.1.21
*********************/
Configure parameters:
/*****************************************************
BerkeleyDB:
./configure --prefix=/usr/local --enable-shared ./configure
--prefix=/opt/bdb

Cyrus SASL:
./configure --prefix=/opt/sasl

Copy all *.h files to /usr/local/include

OpenLDAP:
unset LD_LIBRARY_PATH
LDFLAGS="-L/usr/local/lib:/opt/bdb/lib:/opt/sasl/lib"
LDFLAGS="$LDFLAGS -R/usr/local/lib:/opt/bdb/lib:/opt/sasl/lib"
CPPFLAGS="-I/usr/local/include"
export LDFLAGS CPPFLAGS

./configure ./configure --prefix=/opt/openldap

Before making, changing 'libtool'
LD="/usr/ccs/bin/ld -R/usr/local/lib"

make depend 
Make install
******************************************************/

And how I generate scripts in Directory Mark:

C:\Program Files\Directory Mark\DirectoryMark1.2\Tools>perl scriptgen.pl -b
-v -
S address ..\scripts\address ..\ldiff\data.ldif 100000
attempting to read suffix from LDIF file
Using suffix 'o=Airius,dc=compusec,dc=ru'.
Opening name databases...
Loading Name Data...
        Data/family-names.txt
        Data/given-names.txt
        Data/organizational-units.txt
        Data/employee-types.txt
        Data/title-ranks.txt
        Data/positions.txt
        Data/localities.txt
        Data/area-codes.txt
        Data/mail-hosts.txt
Done
There are 100000 entries in this ldif file
Writing file '..\scripts\address.client0.script0'
add:          0  (requested: 0, actual: 0)
mod:          0  (requested: 0, actual: 0)
modrdn:       0  (requested: 0, actual: 0)
compare:      0  (requested: 0, actual: 0)
delete:       0  (requested: 0, actual: 0)
cn wildcard:  23973  (requested: 24, actual: 23.973)
cn exact:     16136  (requested: 16, actual: 16.136)
uid exact:    27918  (requested: 28, actual: 27.918)
gn exact:     16025  (requested: 16, actual: 16.025)
sn exact:     8012  (requested: 8, actual: 8.012)
notfound:     7936  (requested: 8, actual: 7.936)
binds:        20000 total (ops/bind - requested: 5, actual: 5)

Thanks,
Sergey

>Can you post your slapd.conf file. Can't guarantee that will help, but we
>need to know what type of backing database you're using and how it is
>configured. If you're using bdb, did you install the DB_CONFIG file in the
>database data directory and tune it?
>
>
>I'd also advise you read the appropriate sections of the FAQ at
>http://www.openldap.org/faq/data/cache/1.html.
>What caught my eye in your debug output was:
>
>   ber_get_next on fd 11 failed errno=11 (Resource temporarily unavailable)
>
>which is listed in the FAQ.
>
>Hope that helps somewhat ...

> Hello!
>
> We recently installed OpenLDAP 2.3.24 on our Intel Xeon 3.8 GHz server.
> My task - test OpenLDAP performance.
> I use tools: SLAMD 1.8.2 (www.slamd.com), and DirectoryMark 1.3
> (www.mindcraft.com/directorymark/)
>
> For testing with DirectoryMark 1.3 I include directive to slamd.conf:
>
> allow bind_v2 bind_anon_dn
>
> (else was error : Error no protocol)
> Not test starts, but after 1-2 minutes client system shows couple of 
> error messages (error! Can't contact LDAP server) I try to 'telnet' 
> server (telnet port) - it's okay.
> Remote telnet to LDAP port - failed.
> Local telnet to LDAP port - okay!
> Server does not accept requests
> In logs:
>
> connection_get(11): got connid=1
> connection_read(11): checking for input on id=1 ber_get_next
> ber_get_next: tag 0x30 len 5 contents:
> ber_get_next
> do_unbind
> ber_get_next on fd 11 failed errno=11 (Resource temporarily 
> unavailable)
> connection_closing: readying conn=1 sd=11 for close
> connection_resched: reaquiring locks conn=1 sd=11
> connection_get(11): got connid=1
> connection_read(11): closing, ignoring input for id=1
> connection_resched: attempting closing conn=1 sd=11
> connection_close: conn=1 sd=11
>
> After sleeping 2-3 minutes server is able to response again. 
> (Rebooting server also let it's response again).
>
> Base=10.000 users, no replication.
>
> Second I try authentication test on SLAMD 1.8.2 (AuthRate). 
> (User connect to server, and, if successfully, disconnects) Single 
> user test shows very good performance (on 5 clents and 10 threads more 
> than successful 3000 auths/second).
> Random user logins (1009 base) test show some error logins even on 1 
> client with 5 threads. (about 11 fails within 5 minutes (300.000
sucesses).
> Base = 10.000 users.
>
> OS: Solaris 8 X86 02/02
> CPU: Intel Xeon 2.8 GHz
> RAM: 1Gb (OpenLDAP "eats" 400 mb)
> HDD: 50 Gb free
>
> How to prevent server from "sleep"?
>