Что вызывает SocketException (9001) обрабатывающий запрос в node.js приложении и MongoDB ReplicaSet?

В отношении затрат это не обязательно верно, что S3 будет стоить больше, чем EBS. Если у Вас есть объем EBS на 15 ГБ, Вы платите за все это устройство хранения данных, содержит ли оно 1 ГБ данных или даже никаких данных уже. С S3 Вы только платите за фактические хранившие данные.

Ваша стратегия должна состоять в том, чтобы использовать EBS для смонтированного объема, но к всегда назад EBS до S3. В прошлом был способ использовать S3 плюс кэш для смонтированного объема (названный PersistentFS), но это является более не существующим теперь. Поэтому смонтируйте объем EBS и затем обратно это до S3.

Вот некоторые факты для резервного копирования той рекомендации, а также общего сравнения EBS и S3:

  • EBS может только использоваться с экземплярами EC2, в то время как S3 может также использоваться вне EC2
  • EBS появляется как монтируемый объем, в то время как S3 требует, чтобы программное обеспечение считало и записало данные
  • EBS может разместить меньший объем данных, чем S3
  • EBS может только использоваться одним экземпляром EC2 за один раз, в то время как S3 может использоваться несколькими экземплярами
  • S3 обычно испытывает задержки записи, в то время как EBS не делает
  • S3 избыточен (6 копий, я думаю), в то время как EBS не. http://www-differencebetween.net/technology/internet/difference-between-amazon-s3-and-amazon-ebs/

  • С точки зрения производительности S3 имеет более высокую задержку и также имеет более высокую вариацию в задержке. Задержка записи S3 может также быть выше, чем задержка чтения. EBS, с другой стороны, имеет более низкую задержку с меньшим количеством изменения. Это также имеет обратную запись, кэширующуюся для очень низкой задержки записи. http://www-cloudiquity.com/2009/03/differences-between-s3-and-ebs/

  • EBS (с 20 ГБ измененных данных) имеет ожидаемую ежегодную интенсивность отказов 0,1% к 0,5%.

  • С EBS Вы платите 0,10$ за ГБ в месяц для размера объема, хранили ли Вы какие-либо данные на том объеме или нет.
  • С S3 Вы платите 0,15$ за ГБ в месяц для снимков - ТОЛЬКО ДЛЯ ДАННЫХ, НА САМОМ ДЕЛЕ ХРАНИВШИХ.

  • Надежность EBS зависит от поддержания недавних снимков. Как описано Amazon по http://www-amazon.com/b/ref=sc_fe_c_0_201590011_1?node=689343011, надежность EBS зависит объем данных, сохраненный от объема, который не был поддержан до S3 с помощью снимка. Поэтому для достижения длительности с EBS важно сохранить данные по объему поддержанными до S3 путем взятия частых снимков.

  • Вы будете платить оба 0,10$ за ГБ в месяц для размера объема EBS плюс 0,15$ за ГБ в месяц для снимков S3. Но несколько снимков хранятся инкрементно. Если у Вас будет устройство с 100 ГБ данных, но только 5 ГБ данных изменились то начиная с Вашего последнего снимка только 5 дополнительных ГБ данных снимка будут сохранены назад к Amazon S3. http://aws.amazon.com/ebs/

0
задан 18 April 2013 в 20:33
1 ответ

It ' Сложно диагностировать с помощью предоставленной информации, но возможный ключ к разгадке - это количество открытых вами соединений (числа начинаются с 1 - conn1 - и увеличиваются для каждого нового соединения). conn1782026 означает, что вы открыли почти 1,8 миллиона подключений с момента запуска этого mongod . При количестве одновременных подключений ~ 40, я надеюсь, что mongod просидел очень , чтобы увидеть такое количество открываемых и закрытых соединений.

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

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

Кстати, если вы хотите понять, сколько соединений вы создаете, посмотрите здесь:

> db.serverStatus().connections
{ "current" : 1, "available" : 2047, "totalCreated" : NumberLong(1) }

totalCreated - это счетчик времени жизни конкретного mongod или ] mongos процесс. Если разделить его на время безотказной работы, вы также можете получить среднее значение за секунду и т. Д.

Если вы хотите пойти дальше, вы можете использовать отличный mtools , чтобы построить график оттока соединений с течением времени и посмотреть, есть ли особенно высокие всплески в соединении. создание / уничтожение.

Если сбросы не имеют никакого эффекта и вы все еще видите исключения, то пора посмотреть на вашу сеть. Проверьте вывод netstat -s (несколько выборок) и ищите увеличивающиеся повторные передачи и быстрые повторные передачи, запустите ifconfig , чтобы найти ошибки в ваших интерфейсах, пинге, трассировке и т. Д. - все Вы бы сделали обычные вещи, чтобы попытаться определить, есть ли проблема с сетью.

вы можете использовать отличный mtools , чтобы построить график оттока соединения с течением времени и посмотреть, есть ли какие-либо особенно высокие всплески при создании / разрушении соединения.

Если сбросы не имеют значения. Если какой-либо эффект, и вы все еще видите исключения, то пора посмотреть на вашу сеть. Проверьте вывод netstat -s (несколько выборок) и ищите увеличивающиеся повторные передачи и быстрые повторные передачи, запустите ifconfig , чтобы найти ошибки в ваших интерфейсах, пинге, трассировке и т. Д. - все Вы бы сделали обычные вещи, чтобы попытаться определить, есть ли проблема с сетью.

вы можете использовать отличный mtools , чтобы построить график оттока соединения с течением времени и посмотреть, есть ли какие-либо особенно высокие всплески при создании / разрушении соединения.

Если сбросы не имеют значения. Если какой-либо эффект, и вы все еще видите исключения, то пора взглянуть на вашу сеть. Проверьте вывод netstat -s (несколько выборок) и найдите увеличивающиеся повторные передачи и быстрые повторные передачи, запустите ifconfig , чтобы найти ошибки в ваших интерфейсах, ping, traceroute и т. Д. - все Вы бы сделали обычные вещи, чтобы попытаться определить, есть ли проблема с сетью.

3
ответ дан 4 December 2019 в 12:38

Теги

Похожие вопросы