ldapsearch启动速度极慢(非搜索慢,仅启动阶段慢)问题排查求助
ldapsearch启动耗时20秒问题解决方案
核心根因定位
ldapsearch执行除--help外的所有指令时,都会优先加载系统/用户级LDAP客户端配置,--help无需加载配置所以直接返回,和观测到的现象完全吻合。20秒卡顿为默认的网络请求超时时长,由配置的默认LDAP服务端不可达、域名解析失败导致。
排查步骤
- 检查系统级LDAP配置文件
/etc/openldap/ldap.conf、用户级配置文件~/.ldaprc中的URI配置项,确认是否存在多个服务端地址,且排在前位的地址网络不可达 - 若
URI配置的是域名,执行nslookup <LDAP域名>测试解析速度,确认是否存在DNS解析超时 - 执行
telnet <LDAP地址> <端口>测试建联速度,默认非SSL端口为389,SSL端口为636,确认是否存在端口不通、网络链路异常
验证方法
直接在命令行指定可用的LDAP服务端地址执行版本查询,测试耗时:
time ldapsearch -H ldap://<可用LDAP服务端地址>:389 -VV
若指定地址后返回速度恢复正常,即可确认是默认配置的URI存在不可达项导致的卡顿。
修复方案
- 调整配置文件中
URI项的地址顺序,将可用的服务端地址放在最前,删除不可用的地址 - 若为域名解析异常,修复DNS配置,或在
/etc/hosts中添加LDAP域名的静态解析记录 - 可在配置文件中添加
TIMEOUT 2参数,将建联超时时间改为2秒,降低异常场景下的等待时长
内容的提问来源于stack exchange,提问作者Ben Aveling
相关产品推荐
相关产品推荐

