2016-07-24 1 views
1

노드 빈을 실행하는 탄력있는 beanstalk가 있습니다. 노드 응용 프로그램은 cloudformation을 통해 구축 된 3 개의 Mongo 서버로 데이터를 보냅니다. DB에서 몇백 만 개의 항목이 나올 때까지 모든 것이 괜찮습니다. 갑자기 503 개의 오류가 발생하기 시작합니다.용량이 503 인 서버 Elastic Beanstalk

로그는 노드 응용 프로그램에서이 문제를 보여

[MongoError: exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027] 
    name: 'MongoError', 
    message: 'exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027', 
    sharded: false, 
    primary: 's2-rs9', 
    code: 11002, 
    ok: 0, 
    errmsg: 'exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027' } 

어떤 아이디어?

답변

0

당신이해야 할 일은 오류 메시지에서 샤드가 거짓 인 데이터베이스에 샤딩을 사용 가능하게하는 것입니다. 쿼리가 증가하면 샤딩을 사용하여 증가 된 쿼리 수의 균형을 유지해야합니다.

그리고 당신은 샤딩에 대한 명령을 보려면 sh.enableSharding(database)

, 당신이 sh.help()을 할 수 있으며,이 출력됩니다 당신은 자신의 설명과 함께 명령의 목록입니다 함께이 작업을 수행 할 수 있습니다. 여기서 enableSharding을 찾을 수 있습니다.

sharding을 수행하기 전에 myKey에 indeces가 있어야합니다 (그렇지 않으면 indeces에 대한 일부 오류가 표시됨). 따라서 수행하지 않은 경우 - 이전에 만들 수 있습니다. db.collection.ensureIndex(myKey)

관련 문제