ldapsearch 启动慢(搜索不慢,启动慢)
Posted
技术标签:
【中文标题】ldapsearch 启动慢(搜索不慢,启动慢)【英文标题】:ldapsearch is slow to launch (not slow to search, slow to launch) 【发布时间】:2021-12-07 00:41:20 【问题描述】:在一台主机上,ldapsearch 需要 20 秒才能启动。
即使我只是问它的版本号是什么,它仍然需要20秒:
time ldapsearch -VV
ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.44 (Sep 30 2020 17:16:36) $
mockbuild@x86-02.bsys.centos.org:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/clients/tools
(LDAP library: OpenLDAP 20444)
real 0m20.034s
user 0m0.006s
sys 0m0.008s
这不是关于搜索时间的问题 - 如果我要求它进行搜索,它甚至会在开始搜索之前花费 20 秒。
一旦开始,搜索就会成功,所需时间与从其他主机调用时的时间大致相同。
我尝试添加各种命令行参数。
唯一返回不同结果的是ldapsearch --help
,它基本上会立即返回,这表明问题不在于加载库或任何此类问题。
【问题讨论】:
嗨,请编辑您的帖子:删除以 Running strace 开头的最后一部分(答案)并将其添加为答案,然后接受它。 SO/Google 上的用户会更容易找到它(接受答案的帖子更明显)。感谢您的贡献! @EricLavault 完成。 【参考方案1】:运行 strace 显示延迟出现在网络流量中,特别是端口 53 (DNS):
socket(AF_INET6, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3 <0.000038>
connect(3, sa_family=AF_INET6, sin6_port=htons(53), inet_pton(AF_INET6, "... poll([fd=3, events=POLLOUT], 1, 0) = 1 ([fd=3, revents=POLLOUT]) <0.000011>
sendto(3, "..."..., 34, MSG_NOSIGNAL, NULL, 0) = 34 <0.000033>
poll([fd=3, events=POLLIN], 1, 5000) = 0 (Timeout) <5.005182>
连接调用的目的地原来是在 /etc/resolv.conf 中设置的 IP 地址。
IP 地址无法访问。
从 /etc/resolv.conf 中删除无法访问的 IP 地址使延迟消失。
【讨论】:
以上是关于ldapsearch 启动慢(搜索不慢,启动慢)的主要内容,如果未能解决你的问题,请参考以下文章