2012-10-11 5 views
1

나는 단 하나 노선을 가진 급행 app를 썼다. 핸들러는 들어오는 요청의 본문을 couchdb 데이터베이스에 저장합니다.노드 express.js 앱에서 대기중인 요청의 최대 수를 제어하는 ​​방법은 무엇입니까?

스레드를 사용하여 10000 개의 작은 요청을 비동기 적으로 보내는 C# 클라이언트 응용 프로그램을 작성했습니다. 일부 요청은 "대상 컴퓨터가 적극적으로 거부했기 때문에 연결할 수 없습니다"라는 예외 메시지와 함께 실패합니다.

노드 프로세스가 대기열에있는 최대 연결 수에 도달했기 때문입니다. 그게 맞습니까?

이 응용 프로그램은 개념 증명이며 실제 응용 프로그램에는 큰 부하가 없지만 한계를 테스트하고 작동 방법을 알고 싶습니다.

  • 가 대기중인 요청의 최대 수를 제어 할 수있는 방법이 있나요 :

    나는이 개 질문이? 을 "무제한"으로 설정할 수 있습니까? 그렇지 않은 경우 최대 값은 무엇이며 왜 최대 값은 있습니까?

  • 내 노드 응용 프로그램에서 누락 된 요청을 catch하고 기록 할 수있는 방법이 있습니까? 프로덕션 응용 프로그램에서 내 서버가 최대 요청 횟수에 도달했음을 알고 싶습니다.

추가 정보 :

  • 내가 윈도우
  • 에서이 작업을 실행하는거야 내가 (3001, '로컬 호스트', 10000) 백 로그 매개 변수를 설정하는 app.listen 노력했다. 같은 결과.

답변

0

나는 백 로그 설정을 찾고 있다고 생각합니다. 기본값은 511입니다. http://nodejs.org/api/net.html#net_server_listen_port_host_backlog_listeninglistener

+0

이미 시도했습니다. 10000으로 설정해도 아무 것도 변경되지 않았습니다. – Sylvain

+0

이것을 체크 아웃하십시오. http://blog.caustik.com/2012/04/06/node-js-scalability-testing-with-ec2/ 파일 핸들 제한도 문제인 것으로 보입니다. –

+0

흥미 롭습니다 ... 저는 Windows에서이 프로그램을 실행 중이며 다음 링크를 통해 Windows에 이러한 제한이 있는지 여부가 명확하지 않습니다. http://stackoverflow.com/questions/729162/windows-equivalent-of-ulimit-n 및 http://stackoverflow.com/questions/870173/is-there-a-limit-on-number-of-open을 참조하십시오. -files-in-windows. 나는 '최대 소켓 연결 창'을 검색했다. 레지스트리 설정 MaxUserPort에 대해 Windows 7의 기본값 (최대 값)이 65534 인 것을 알았습니다. 확실히 도달하지 못했습니다. – Sylvain

관련 문제