SSH到EC2实例突然变慢

突然之间,在过去的几天中,build立到大多数(但不是全部)Amazon EC2实例的SSH连接需要很长时间(最多30秒)。 这个问题与亚马逊一起提出,看看它是否与他们的环境,但我不知道是否有什么我可以检查自己的实例。

大部分时间都花费在这一步:

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

一旦在实例上,通过改变用户

su – 新用户名

无限期地挂起。

其他命令(ps,top,find)像以前一样快速运行。

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

编辑:

最后几行输出从strace su – myusernamebuild议由戴夫:

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

这条线以10秒的间隔持续循环……它在轮询时挂起 10秒钟,然后重复相同的输出。

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

问题是这些实例试图通过公共IP地址而不是私有地址来parsingLDAP服务器。 打开公共IP到其他实例解决了这个问题。

通常,当发生奇怪的挂起事件时,我可以追溯到RDNS–要么连接的主机没有设置,要么解决RDNS的服务器有问题。

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

你用'strace'来追踪过程会发生什么?

编辑:

所以看起来连接到LDAP服务器是超时的。 你确认LDAP服务器正在与其他系统? 也许你可以跟踪LDAP服务器上的stream量:

 tcpdump -v tcp port ldap 

了解连接时会发生什么。