SSH 到 EC2 实例突然变慢

SSH 到 EC2 实例突然变慢

突然,在过去的几天里,我花了很长时间(最多 30 秒)才能与大多数(但不是全部)Amazon EC2 实例建立 SSH 连接。我已向 Amazon 提出此问题,以查看它是否是他们的环境问题,但我想知道我是否可以检查实例本身。

大部分时间都花在以下步骤:

使用公钥“imported-openssh-key”进行身份验证

进入实例后,通过以下方式更改用户

su – 新用户名

无限期挂起。

其他命令(ps、top、find)运行速度一如既往地快。

我在实例上运行的应用程序(Web 服务)响应非常快。实例上的 CPU、IO 和磁盘负载不是很高。

编辑:

最后几行输出来自strace su - 我的用户名正如 Dave 所建议的:

connect(4, {sa_family=AF_INET, sin_port=htons(389), sin_addr=inet_addr("W.X.Y.Z")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll(

这条线每隔 10 秒就会重复出现一次……它挂在轮询(10 秒后重复相同的输出。

引用的 IP 地址是我们的 LDAP 服务器的公共 IP 地址。

问题在于实例尝试通过公共 IP 地址而不是私有 IP 地址来解析 LDAP 服务器。向其他实例开放公共 IP 解决了该问题。

答案1

通常,当发生奇怪的挂起时,我可以将其追溯到 RDNS - 您连接的主机没有设置它,或者服务器解析 RDNS 存在问题。

不过据我所知,su 不应该对 RDNS 做任何事情。

当您使用‘strace’跟踪该过程时会发生什么?

编辑:

因此,与 LDAP 服务器的连接似乎超时了。您是否已确认 LDAP 服务器正在与其他系统配合使用?也许您可以使用以下命令跟踪 LDAP 服务器上的流量:

tcpdump -v tcp port ldap

了解连接时发生的情况。

相关内容