Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5473491
  • 博文数量: 890
  • 博客积分: 12876
  • 博客等级: 上将
  • 技术积分: 10760
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-04 14:18
个人简介

猝然临之而不惊,无故加之而不怒。

文章分类

全部博文(890)

文章存档

2016年(1)

2014年(18)

2013年(41)

2012年(48)

2011年(65)

2010年(84)

2009年(121)

2008年(101)

2007年(129)

2006年(95)

2005年(118)

2004年(69)

分类: LINUX

2013-12-30 16:26:28



From : http://blog.sina.com.cn/s/blog_467b0fd50100wl8d.html

1. 连接数过高时候(超过1024),ldap就会hang死,有类似下面日志打出。
daemon: accept(7) failed errno=24 (Too many open files)

解决方法:
a. 设定下客户端idle的超时时间(单位是秒),超时的连接及时关闭掉。
如下:
#close idle connections, in case of too many open files(by lnzju)
idletimeout 20 
默认是服务端不主动断。

b. 在slapd启动脚本中加入(ulimit -n 10240)来扩大打开文件数

如果还不行,可以修改代码slapd/daemon.c中的FD_SETSIZE 

2. 性能问题。关键数据需要加入index,否则会很慢。
日志中常常会有如下信息:
<= bdb_equality_candidates: (uidNumber) not indexed

调整如下:
index   uidNumber       eq
进一步的性能优化直接参见官方文档:


idletimeout 
以秒为单位,如果idle就强制断开client链接,默认是0,则关闭这个功能。
指定一个等待的秒数,如果超过这个时间客户都没有请求提交就关掉与客户的连接。默认情况下,idletimeout为0,表示禁用该功能。

sizelimit

设置一次search最多返回的entries数
该指令指定了一次搜索操作所能获得的最大条目数。 
默认: 
sizelimit 500 

timelimit
以秒为单位,设置一次查询最多等待多少秒,超过时间,则返回,并表示超时。
该指令指定了slapd花在回答一个搜索请求上的最大秒数(实时)。如果在这段时间内请求没有完成,服务器端将返回一个超时给客户端。 
默认: 
timelimit 3600 

loglevel  
该指令指定了debug声明和统计数据应当被记入日志文件的级别(currently logged to the syslogd(icon_cool.gif LOG_LOCAL4 facility)。你必须将OpenLDAP配置为--enable-debug (默认)该指令才会工作(except for the two statistics levels, which are always enabled)。log levels是可以相加的。要想知道数字与debuglevel的对应关系,可以用-? 为参数启动slapd,你也可以参考下面的这个表。的可能值是: 

表5.1: Debugging Levels 
Level Description 
-1 nable all debugging 
0 no debugging 
1 trace function calls 
2 debug packet handling 
4 heavy trace debugging 
8 connection management 
16 print out packets sent and received 
32 search filter processing 
64 configuration file processing 
128 access control list processing 
256 stats log connections/operations/results 
512 stats log entries sent 
1024 print communication with shell backends 
2048 print entry parsing debugging 


########################


openldap 优化 (2010-04-15 12:53)

/var//openldap/etc/openldap/slapd.conf
directory       /var/openldap/var/openldap-data
cachesize       50000
idlcachesize    150000
checkpoint      1024    5
bash-2.05# cat DB_CONFIG
set_cachesize   0       536870912       1
set_lg_regionmax        10485760
set_lg_max      104857600
set_lg_bsize    20971520
#
# Automatically remove log files that are no longer needed.
set_flags DB_LOG_AUTOREMOVE
# Just use these settings when doing slapadd...
#set_flags DB_TXN_NOSYNC
#set_flags DB_TXN_NOT_DURABLE
如果做slapadd,可以把最后两行的注释去掉,slapadd速度会爆增,作完slapadd后再把最后两行注释加上,切记切记切记切记!!!!
# Just use these settings when doing slapadd...
set_flags DB_TXN_NOSYNC
set_flags DB_TXN_NOT_DURABLE
 
 


  bash-2.05# cat DB_CONFIG 
set_cachesize   0       536870912       1        
set_lg_regionmax        10485760
set_lg_max      104857600
set_lg_bsize    20971520


set_cachesize   1       0       1
set_lg_regionmax        1048576
set_lg_max      10485760
set_lg_bsize    2097152


#
# Automatically remove log files that are no longer needed.
set_flags DB_LOG_AUTOREMOVE
# Just use these settings when doing slapadd...
#set_flags DB_TXN_NOSYNC
#set_flags DB_TXN_NOT_DURABLE
bash-2.05#
 
 
# Use of strong authentication encouraged.
rootpw          aaaaa
#cachesize      655350
cachesize       65535
#dbcachesize    1024000000
dbcachesize     512000000
concurrency     10240
threads         10240
sockbuf_max_incoming    8294303s




谢谢! 陈亦2011更新  
阅读(7470) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~