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 启动慢(搜索不慢,启动慢)的主要内容,如果未能解决你的问题,请参考以下文章

ionic2新手入门整理,搭建环境,创建demo,打包apk,热更新,优化启动慢等避坑详解

解决tomcat启动超慢问题

oracle 字符串拼接慢不慢

eclipse marketplace加载搜索下载东西慢

阿里云CentOS环境下tomcat启动超级慢的解决方案

Spring Boot启动速度慢的原因总结