node.js和SimpleDB服务器连接太多了?

时间:2012-01-13 19:56:48

标签: node.js amazon-simpledb

我有一个简单的node.js服务器设置,可以调用SimpleDB来获取持久数据。当我的node.js服务器受到大量流量的攻击时,最终会抛出异常。

我看到的例外情况如下:https://github.com/joyent/node/issues/2236

我已经应用了相关的补丁,但它只是缓解了这个问题;它没有完全解决它。在尝试进一步调试情况时,我的额外console.log行似乎使问题完全消失。这让我相信这是一个时间问题,我可以将其描述为:

  1. [连接1]进入
  2. [连接1]背景,而[数据1]
  3. 联系SimpleDB
  4. [连接2]进入
  5. [连接2]背景,同时联系SimpleDB [数据2]
  6. [node.js接受更多连接]
  7. SimpleDB以[Data 1]响应,但node.js尚未接听此调用,因为仍有新连接被处理
  8. [node.js接受更多连接]
  9. 与[Data 1]关联的SimpleDB连接因为在超时时间内未得到应答而死亡。
  10. [连接1]尝试读取[数据1]但失败,抛出异常。
  11. 当我tail -f我的日志时,我看到的另一个症状是接受了一连串的连接(15-20),然后暂停所有日志记录(3-5秒)。在服务器暂停后,接受的连接都会尽快得到响应。

    我真的迷失在这里的解释,所以如果有人可以提供帮助,那就太好了。如果您需要更多信息,我可以提供,但我觉得我已经提供了太多信息,可能会掩盖实际问题(无论它是什么)。

0 个答案:

没有答案