node.js и SimpleDB слишком много подключений к серверу? - PullRequest
1 голос
/ 13 января 2012

У меня установлен простой сервер node.js, который обращается к SimpleDB за постоянными данными.Когда мой сервер node.js забит большим количеством трафика, он выдает исключение.

Здесь показано исключение: https://github.com/joyent/node/issues/2236

Я применил патчсвязанные, но это только облегчило проблему;это не полностью исправило это.При попытке отладить ситуацию дальше, мои дополнительные строки console.log, казалось, заставили проблему полностью исчезнуть.Это заставило меня поверить, что это проблема синхронизации, которую я могу описать так:

  1. [Соединение 1] входит в
  2. [Соединение 1] заземлено, в то время как SimpleDB связывается для[Данные 1]
  3. [Соединение 2] входит в
  4. [Соединение 2] заземлено, в то время как SimpleDB связывается для [Данные 2]
  5. [узел принимает больше соединений.js]
  6. SimpleDB отвечает [Данные 1], но node.js пока не отвечает на этот вызов, поскольку все еще обрабатываются новые соединения
  7. [узел принимает больше соединений.js]
  8. Соединение SimpleDB, связанное с [Данные 1], разрывается, поскольку на него не было получено ответа в течение тайм-аута.
  9. [Соединение 1] пытается прочитать [Данные 1], но не удается, выбрасываяисключение.

Когда я tail -f регистрирую свой журнал, я вижу еще один симптом - поток принятых соединений (15-20), а затем пауза всей регистрации (3-5 секунд).Все принятые соединения получают свои ответы КАК МОЖНО СКОРЕЕ после этой паузы сервера.

Я действительно потерян для объяснений здесь, так что если кто-то может помочь, это было бы здорово.Если вам нужна дополнительная информация, я могу предоставить ее, хотя я чувствую, что уже предоставил слишком много информации и, возможно, скрыл реальную проблему (какой бы она ни была).

...