【问题标题】:ldapsearch is slow to launch (not slow to search, slow to launch)ldapsearch 启动慢(搜索不慢,启动慢)
【发布时间】: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 完成。

标签: openldap


【解决方案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 地址使延迟消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2011-03-28
    • 2015-10-25
    • 2013-01-04
    • 2016-05-12
    • 1970-01-01
    相关资源
    最近更新 更多