在EC2上使用node.js供电的服务器时,如何减lessTCP连接时间?

在分析我的应用程序时,我注意到,在Firebug Net面板中,“连接”时间(即等待TCP连接的时间)始终在70-100毫秒左右。 见下图:

注意“连接”

当然在事物的macros伟计划中,100ms不长,但是我看到其他服务以0ms连接时间响应。 所以如果其他服务器可以的话,我应该也可以。

任何想法,我甚至可能会解决这个问题呢?

我会开始寻找iptables是否正在做任何可能阻碍的事情。 另外,如果您正在使用ELB负载均衡器(或任何其他负载平衡),我会将其从混音中删除,看看您是否仍然有比预期更长的连接时间。

你也可以单独安装lighttpd或Apache,看看会发生什么。 如果你的连接时间较短,那么Node.js就会build立。 虽然不是确定的。

我会build议一个简单的testing来检查这个问题是否与你的服务器有关:

  1. 在与您的服务器相同的可用区域内启动另一个实例。
  2. 从第二个实例的Apache基准testing您的服务器:

    ab -c 1 -n 20000 http://<private_server_instance_ip>:<port>/<URL>

    把私有IP放在这里是非常重要的,而不是私有的或者公有的DNS来扫除域名parsing的影响。

  3. 检查每个请求所花费的平均时间:如果大约1 ms – 描述的问题不在您的服务器上。

使用FireFox进行基准testing可能不是最好的想法,因为结果可能取决于许多情况。